fsusage: Remove support for AIX 3.
[gnulib.git] / ChangeLog
blob6411e72442a8e71e6c571f78a2010a41358ebba9
1 2018-10-16  Bruno Haible  <bruno@clisp.org>
3         fsusage: Remove support for AIX 3.
4         * lib/fsusage.c: Remove code for AIX 3.
5         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Update comments.
7 2018-10-16  Bruno Haible  <bruno@clisp.org>
9         fsusage, stat-size, getloadavg: Remove support for AIX PS/2.
10         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for dustat.h.
11         * lib/fsusage.c: Remove code for AIX PS/2.
12         * lib/stat-size.h (ST_NBLOCKSIZE): Likewise.
13         * lib/getloadavg.c: Likewise.
15 2018-10-16  Bruno Haible  <bruno@clisp.org>
17         getloadavg: Remove support for HP-UX on m68k.
18         * lib/getloadavg.c: Remove hp9000s300 case.
20 2018-10-16  Bruno Haible  <bruno@clisp.org>
22         fsusage, mountlist: Remove support for DolphinOS (an SVR3 variant).
23         * lib/fsusage.c: Remove DOLPHIN case.
24         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
25         * lib/mountlist.c: Remove MOUNTED_GETMNTTBL case.
27 2018-10-16  Bruno Haible  <bruno@clisp.org>
29         getloadavg: Remove support for Alliant FX/2800.
30         * lib/getloadavg.c: Remove alliant case.
32 2018-10-16  Bruno Haible  <bruno@clisp.org>
34         getloadavg: Remove support for tek4300.
35         * lib/getloadavg.c: Remove tek4300 case.
37 2018-10-16  Bruno Haible  <bruno@clisp.org>
39         getloadavg: Remove support for Ardent.
40         * lib/getloadavg.c: Remove ardent case.
42 2018-10-16  Bruno Haible  <bruno@clisp.org>
44         mountlist: Remove support for SVR2.
45         Reported by Andrew Borodin <aborodin@vmail.ru> in
46         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00101.html>.
47         * lib/mountlist.c: Remove MOUNTED_FREAD case.
48         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
49         MOUNTED_FREAD.
51 2018-10-15  Paul Eggert  <eggert@cs.ucla.edu>
53         libc-config: merge from glibc
54         * lib/cdefs.h (__glibc_has_attribute): New macro.
56         regex: depend on libc-config
57         * modules/regex (Depends-on): Add libc-config.
58         This is needed after the recent autoupdate from glibc.
60 2018-10-14  Bruno Haible  <bruno@clisp.org>
62         localename: Add support for per-thread locales on Solaris 11.4.
63         * lib/locale.in.h (newlocale, freelocale): New declarations.
64         (duplocale): Declare also when the 'localename' module requests it.
65         * lib/localename.c (struniq_hash_node): Renamed from hash_node.
66         (STRUNIQ_HASH_TABLE_SIZE): Renamed from HASH_TABLE_SIZE.
67         (struniq): Update.
68         (struct locale_categories_names, struct locale_hash_node): New types.
69         (LOCALE_HASH_TABLE_SIZE): New constant.
70         (locale_hash_table, locale_lock): New variables.
71         (pointer_hash, get_locale_t_name): New functions.
72         (newlocale, duplocale, freelocale): New overridden functions.
73         (gl_locale_name_thread_unsafe): Use get_locale_t_name.
74         * m4/intlsolaris.m4: New file.
75         * m4/localename.m4 (gl_LOCALENAME): Require gl_LOCALE_H_DEFAULTS. Invoke
76         gt_INTL_SOLARIS. Set HAVE_NEWLOCALE, HAVE_DUPLOCALE, HAVE_FREELOCALE,
77         REPLACE_NEWLOCALE, REPLACE_DUPLOCALE, REPLACE_FREELOCALE.
78         * m4/locale_h.m4 (gl_LOCALE_H): Test whether newlocale, freelocale are
79         declared.
80         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALENAME, HAVE_NEWLOCALE,
81         HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
82         * modules/locale (Makefile.am): Substitute GNULIB_LOCALENAME,
83         HAVE_NEWLOCALE, HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
84         * modules/localename (Files): Add intlsolaris.m4.
85         (Depends-on): Add 'locale'.
86         (configure.ac): Invoke gl_LOCALE_MODULE_INDICATOR.
87         * tests/test-locale-c++.cc (newlocale, freelocale): Prepare for checking
88         the signatures.
90 2018-10-14  Akim Demaille  <akim@lrde.epita.fr>
92         timevar: use gethrxtime to get wall clock time
93         clock_gettime is not portable.  gethrxtime takes the best available
94         option to get the wall clock time, including clock_gettime (monotonic
95         clock), and gettime (non monotonic).
96         Also, using xtime_t instead of float preserves the precision.
97         Suggested by Bruno Haible.
98         * lib/xtime.h (xtime_make): Handle overflows of nanoseconds.
99         * modules/timevar (Depends-on): We need gethrxtime.
100         We no longer use times().
101         (Link): Update.
102         * lib/timevar.h (timevar_time_def): Use xtime_t.
103         * lib/timevar.c (set_to_current_time): Use gethrxtime.
104         (timevar_print): Instead of checking whether the timings themselves
105         are large enough for the timevar to be printed, check the percentages.
107 2018-10-14  Bruno Haible  <bruno@clisp.org>
109         wcsnrtombs: Work around Solaris 11.4 bug.
110         * m4/wcsnrtombs.m4 (gl_WCSNRTOMBS_WORKS_IN_TRADITIONAL_LOCALE): New
111         macro.
112         (gl_FUNC_WCSNRTOMBS): Invoke it.
113         * doc/posix-functions/wcsnrtombs.texi: Mention the Solaris bug.
115 2018-10-14  Bruno Haible  <bruno@clisp.org>
117         mbsnrtowcs: Work around Solaris 11.4 bug.
118         * m4/mbsnrtowcs.m4 (gl_MBSNRTOWCS_WORKS_IN_TRADITIONAL_LOCALE): New
119         macro.
120         (gl_FUNC_MBSNRTOWCS): Invoke it.
121         * doc/posix-functions/mbsnrtowcs.texi: Mention the Solaris bug.
123 2018-10-14  Bruno Haible  <bruno@clisp.org>
125         doc: Update for Solaris 11.4.
126         * doc/**/*.texi: For bugs that exist in both Solaris 11.3 and 11.4,
127         mention Solaris 11.4.
128         * m4/printf.m4: Update comments about Solaris.
129         * m4/log.m4: Likewise.
130         * m4/log10.m4: Likewise.
131         * m4/logb.m4: Likewise.
132         * m4/logbf.m4: Likewise.
133         * m4/logbl.m4: Likewise.
134         * m4/rename.m4: Likewise.
135         * m4/wcrtomb.m4: Likewise.
136         * m4/hostent.m4: Likewise.
137         * m4/servent.m4: Likewise.
139 2018-10-14  Bruno Haible  <bruno@clisp.org>
141         floor, ceil, trunc, truncf, truncl: Defeat GCC optimizations.
142         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Use 'floor' also through a function
143         pointer.
144         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use 'ceil' also through a function
145         pointer.
146         * m4/trunc.m4 (gl_FUNC_TRUNC): Use 'trunc' also through a function
147         pointer.
148         * m4/truncf.m4 (gl_FUNC_TRUNCF): Use 'truncf' also through a function
149         pointer.
150         * m4/truncl.m4 (gl_FUNC_TRUNCL): Use 'truncl' also through a function
151         pointer.
153 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
155         bootstrap: fix wget command for po files.
156         * build-aux/bootstrap (po_download_command_format): Fix comment,
157         and adjust callers.
159 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
161         timevar: improve the output format
162         Suggested by Bruno Haible.
163         See https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00040.html.
164         * lib/timevar.c (timevar_print): Use %7.3f for usr/sys and %11.6f for
165         wall, since its resolution is much higher.
167 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
169         timevar: expect that getrusage is available.
170         Don't keep both times and getrusage as backend: both are guaranteed by
171         gnulib, a single one suffices.  Using getrusage is open to possibly
172         tracking other types of resources in the future.
173         * modules/timevar (Depends-on): Add getrusage.
174         (configure.ac): Remove gl_TIMEVAR.
175         (Files): Remove m4/timevar.m4.
176         * m4/timevar.m4: Remove, rely on gnulib for getrusage.
177         * lib/timevar.h (timevar_enabled): Clarify documentation.
178         * lib/timevar.c: Remove all the code about times.
179         Remove all the CPP guards about getrusage: expect it to be present
180         (courtesy of gnulib).
182 2018-10-12  Bruno Haible  <bruno@clisp.org>
184         mountlist: Improve support for Solaris in 64-bit mode.
185         Reported by David Wood <David.Wood@deshaw.com> in
186         <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=6816>.
187         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): On Solaris 8 or
188         newer, define MOUNTED_GETEXTMNTENT instead of MOUNTED_GETMNTENT2.
189         * lib/mountlist.c: Add code for MOUNTED_GETEXTMNTENT case.
191 2018-10-12  Bruno Haible  <bruno@clisp.org>
193         mountlist: Add support for Minix.
194         Reported by Assaf Gordon in
195         <https://lists.gnu.org/archive/html/bug-gnulib/2014-09/msg00074.html>.
196         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use
197         AC_CHECK_FUNCS to check for 'getmntinfo'.
198         * lib/mountlist.c: Update comments.
200 2018-10-12  Bruno Haible  <bruno@clisp.org>
202         Make better use of Autoconf.
203         * m4/environ.m4: Use AC_CACHE_CHECK where possible.
204         * m4/manywarnings.m4: Likewise.
205         * m4/manywarnings-c++.m4: Likewise.
206         * m4/socklen.m4: Likewise.
207         * m4/sockpfaf.m4: Likewise.
208         * m4/stdarg.m4: Likewise.
209         * m4/visibility.m4: Likewise.
210         * m4/fsusage.m4: Use AC_CACHE_CHECK where possible. Modernize
211         indentation.
212         * m4/ls-mntd-fs.m4: Likewise.
214 2018-10-11  Bruno Haible  <bruno@clisp.org>
216         mountlist: Modernize platform lists.
217         * m4/ls-mntd-fs.m4: Clarify which MOUNTED_* symbol applies to which
218         platforms, deemphasizing the obsolete ones.
219         * lib/mountlist.c: Likewise.
221 2018-10-11  Bruno Haible  <bruno@clisp.org>
223         getprogname: Add support for 32-bit programs on HP-UX.
224         * lib/getprogname.c (getprogname) [HP-UX]: If pstat_getproc fails,
225         try the similar functions 32-bit programs on 64-bit HP-UX.
227 2018-10-11  Bruno Haible  <bruno@clisp.org>
229         getprogname: Work around program name truncation when possible.
230         * lib/getprogname.c (getprogname) [HP-UX]: When pst_ucomm is truncated,
231         possibly use pst_cmd instead.
233 2018-10-08  Paul Eggert  <eggert@cs.ucla.edu>
235         fts: cleanup after FTS_NOATIME removal
236         * lib/fts_.h (FTS_VERBATIM, FTS_OPTIONMASK, FTS_NAMEONLY)
237         (FTS_STOP): Shrink to minimal values.  We don’t need to
238         worry about binary compatibility in Gnulib, and the old way
239         of doing things had a hole in the user options that caused
240         FTS_OPTIONMASK to not work as desired.
242 2018-10-08  Bernhard Voelker  <mail@bernhard-voelker.de>
244         fts: remove FTS_NOATIME
245         This reverts commit da4d6974013c822af1498941e32db774b2031765.
246         We cannot guarantee that O_NOATIME works: e.g. openat fails
247         with EPERM if the effective user ID of the caller does not match
248         the owner of the file and the caller is not privileged.
249         Downstream findutils has never picked up FTS_NOATIME.  Discussed at
250         <https://lists.gnu.org/r/bug-gnulib/2018-09/msg00122.html>.
251         * lib/fts_.h (FTS_NOATIME): Remove bit flag.
252         (FTS_OPTIONMASK): Adjust.
253         * lib/fts.c (diropen, fts_open, fts_build): Likewise.
254         (fd_ring_check): Likewise.
256 2018-10-08  Bruno Haible  <bruno@clisp.org>
258         csharpcomp*, csharpexec*: Remove support for pnet.
259         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Don't test for cscc. Don't set
260         HAVE_CSCC.
261         * build-aux/csharpcomp.sh.in (options_cscc): Remove variable.
262         Don't test HAVE_CSCC.
263         * lib/csharpcomp.c (compile_csharp_using_pnet): Remove function.
264         (compile_csharp_class): Don't invoke it.
265         * m4/csharpexec.m4 (gt_CSHARPEXEC): Don't test for ilrun. Don't set
266         HAVE_ILRUN.
267         * build-aux/csharpexec.sh.in (options_ilrun): Remove variable.
268         Don't test HAVE_ILRUN.
269         * lib/csharpexec.c (execute_csharp_using_pnet): Remove function.
270         (execute_csharp_program): Don't invoke it.
271         * m4/csharp.m4 (gt_CSHARP_CHOICE): Don't recognize --enable-csharp=pnet
272         any more.
274 2018-10-07  Andreas Henriksson  <andreas@fatal.se>  (tiny change)
276         renameatu: prefer renameat2 to syscall
277         * lib/renameatu.c (renameatu) [HAVE_RENAMEAT2]:
278         Use renameat2 instead of syscall (Bug#32796).
279         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Check for renameat2.
281 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
283         bootstrap, gnulib-tool: use https instead of insecure rsync
284         * build-aux/bootstrap (download_po_files, po_download_command_format):
285         Don't try using rsync; always use wget over https to fetch PO files.
286         * gnulib-tool (func_import): Likewise.
287         * pygnulib/GLImport.py (GLImport.execute): Likewise.
289 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
291         bootstrap, gnulib-tool: correct the translations wget command
292         * build-aux/bootstrap (po_download_command_format2): Restrict
293         recursion to a single level.
294         * gnulib-tool (func_import): Likewise.
295         * pygnulib/GLImport.py (GLImport.execute): Likewise.
297 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
299         doc: the gnulib snapshots are not maintained
300         * doc/gnulib-intro.texi (Steady Development): Don't mention them.
302 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
304         timevar: add to lib_SOURCES
305         * modules/timevar (lib_SOURCES): Add timevar.c and timevar.def.
307 2018-10-07  Bruno Haible  <bruno@clisp.org>
309         dirent: Update documentation.
310         * doc/posix-headers/dirent.texi: The MSVC issue is fixed by Gnulib.
312 2018-10-05  Bruno Haible  <bruno@clisp.org>
314         strpbrk: Make it possible to namespace the defined symbol.
315         * lib/strpbrk.c (strpbrk): Don't undefine outside of glibc.
317 2018-10-05  Bruno Haible  <bruno@clisp.org>
319         strcspn: Make it possible to namespace the defined symbol.
320         * lib/strcspn.c (strcspn): Don't undefine outside of glibc.
322 2018-10-05  Bruno Haible  <bruno@clisp.org>
324         raise: Make it possible to namespace the defined symbol.
325         * lib/raise.c (raise): Undefine only after the replacement function has
326         been defined.
327         (raise): Renamed from rpl_raise.
328         (raise_nothrow): Move to the end of the compilation unit.
330 2018-10-05  Bruno Haible  <bruno@clisp.org>
332         memcmp: Make it possible to namespace the defined symbol.
333         * lib/memcmp.c (memcmp): Don't undefine outside of glibc.
335 2018-10-05  Bruno Haible  <bruno@clisp.org>
337         explicit_bzero: Make it possible to namespace the defined symbol.
338         * lib/explicit_bzero.c (explicit_bzero): Don't undefine outside of
339         glibc.
341 2018-10-05  Bruno Haible  <bruno@clisp.org>
343         mkdir-p: Depend on 'mkdir'.
344         * modules/mkdir-p (Depends-on): Add 'mkdir'.
346 2018-10-05  Bruno Haible  <bruno@clisp.org>
348         tempname: Depend on 'mkdir'.
349         Reported by Maarten Bosmans <mkbosmans@gmail.com>
350         at <https://savannah.gnu.org/bugs/?33379>.
351         * modules/tempname (Depends-on): Add 'mkdir'.
353 2018-10-05  Akim Demaille  <akim@lrde.epita.fr>
355         timevar: rely on gnulib modules for time portability.
356         * modules/timevar (Depends-on): Add sys_time, sys_times, and times.
357         * m4/timevar.m4: Don't check for clock_t and struct tms,
358         guaranteed by gnulib.
359         * lib/timevar.h: Use extern "C" protection.
360         Include <stdio.h> for FILE.
361         * lib/timevar.c: Include sys/time.h, sys/times.h unconditionally,
362         they are guaranteed by gnulib.
363         Remove uses of clock as (now useless) fallback.
365 2018-10-04  Bruno Haible  <bruno@clisp.org>
367         sh-filename: New module.
368         * m4/sh-filename.m4: New file.
369         * modules/sh-filename: New file.
370         * lib/spawni.c (_PATH_BSHELL): Use BOURNE_SHELL instead of hardcoding
371         "/bin/sh".
372         * tests/test-posix_spawn1.c (main): Likewise.
373         * tests/test-posix_spawn2.c (main): Likewise.
374         * lib/javacomp.c (compile_using_envjavac, is_envjavac_gcj,
375         is_envjavac_gcj43): Likewise.
376         * lib/javaexec.c (execute_java_class): Likewise.
377         * modules/posix_spawn-internal (Depends-on): Add sh-filename.
378         * modules/posix_spawnp-tests (Depends-on): Likewise.
379         * modules/javacomp (Depends-on): Likewise.
380         * modules/javaexec (Depends-on): Likewise.
382 2018-10-04  Bruno Haible  <bruno@clisp.org>
384         spawn-pipe tests: Avoid test failure on native Windows.
385         * tests/test-spawn-pipe-child.c (main): On native Windows, don't expect
386         that fd 2 is closed.
388 2018-10-04  Bruno Haible  <bruno@clisp.org>
390         fcntl: Make it possible to namespace the defined symbol.
391         * lib/fcntl.c (fcntl): Undefine only after the replacement function has
392         been defined.
393         (fcntl): Renamed from rpl_fcntl.
394         (rpl_fcntl_DUPFD, rpl_fcntl_DUPFD_CLOEXEC): New functions, extracted
395         from fcntl.
396         (klibc_fcntl): Move to the end of the compilation unit.
398 2018-10-02  Bruno Haible  <bruno@clisp.org>
400         vasnprintf tests: Avoid test failure on HP-UX/hppa and IRIX.
401         * tests/test-vasnprintf.c (test_function): Change the test added on
402         2018-09-23 to check only the 18 most significant digits.
404         vasnprintf tests: Avoid test failure on Cygwin.
405         * tests/test-vasnprintf.c (test_function): Change the test added on
406         2018-09-23 to check only the 42 most significant digits.
408 2018-10-01  Bruno Haible  <bruno@clisp.org>
410         mkostemp, mkostemps: Update documentation.
411         * doc/glibc-functions/mkostemp.texi: Mention the Mac OS X issue.
412         * doc/glibc-functions/mkostemps.texi: Likewise.
414 2018-10-01  Tom Tromey  <tom@tromey.com>
416         mkostemp, mkostemps: Fix compilation error in C++ mode on Mac OS X.
417         * lib/stdlib.in.h: Include <unistd.h> for mkostemp and mkostemps
418         on OS X.
420 2018-09-30  Pádraig Brady  <P@draigBrady.com>
422         hmac-*: refactor to remove repetitive code
423         * lib/hmac.c: A new parameterized single implementation.
424         * lib/hmac-md5.c: Define parameters and include implementation.
425         * lib/hmac-sha1.c: Likewise.
426         * lib/hmac-sha256.c: Likewise.
427         * lib/hmac-sha512.c: Likewise.
428         * modules/crypto/hmac-md5: Reference the new implementation file.
429         * modules/crypto/hmac-sha1: Likewise.
430         * modules/crypto/hmac-sha256: Likewise.
431         * modules/crypto/hmac-sha512: Likewise.
432         * tests/test-hmac-md5.c: Refactor common code to a single function.
433         * tests/test-hmac-sha1.c: Likewise.
434         * tests/test-hmac-sha256.c: Likewise.
435         * tests/test-hmac-sha512.c: Likewise.
437 2018-09-30  Zhang Qing  <zhangqingl@126.com>
439         hmac-sha512: fix hash for keys > blocksize (128 bytes)
440         * lib/hmac-sha512.c (hmac_sha512): Set the computed/shortened
441         key length to that output by sha512, not the blocksize.
442         Otherwise uninitialized data from the stack
443         is used when computing the hash.
444         * tests/test-hmac-sha512.c: Add a shortened key test case.
445         Reported at https://github.com/coreutils/gnulib/pull/5
447 2018-09-30  Bruno Haible  <bruno@clisp.org>
449         vasnprintf: Avoid warnings from GCC's -Wsign-compare.
450         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
451         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00105.html>.
452         * lib/vasnprintf.c (VASNPRINTF): Cast 'count' from 'int' to
453         'unsigned int' before comparison with an unsigned value.
455 2018-09-30  Bruno Haible  <bruno@clisp.org>
457         grantpt: Remove unnecessary dependency.
458         * modules/grantpt (Depends-on): Remove 'builtin-expect'.
460 2018-09-30  Bruno Haible  <bruno@clisp.org>
462         timevar: Small tweaks.
463         * lib/timevar.h: Fix comments. Add parameter names to function
464         declarations.
465         * lib/timevar.c: Include timevar.h immediately after config.h.
466         * lib/timevar.def: Fix comments.
467         * modules/timevar (Maintainer): List Akim Demaille.
469 2018-09-30  Bruno Haible  <bruno@clisp.org>
471         timevar: Include documentation in gnulib manual.
472         * doc/timevar.texi: Change node and section name to 'Profiling of
473         program phases'.
474         In the code snippets, tweak the #includes and use GNU coding style.
475         * doc/gnulib.texi: Include timevar.texi.
477 2018-09-27  Akim Demaille  <akim@lrde.epita.fr>
479         timevar: import from Bison.
480         * m4/timevar.m4, modules/timevar, lib/timevar.h, lib/timevar.c:
481         New files.
482         * lib/timevar.def: New file.
483         * doc/timevar.texi: New file.
485 2018-09-26  Bruno Haible  <bruno@clisp.org>
487         javacomp-script, javacomp: Add preliminary support for Java 12..17.
488         * m4/javacomp.m4 (gt_JAVACOMP): Treat Java versions 12..17 like 11.
489         * lib/javacomp.c (default_target_version): Likewise.
491 2018-09-26  Bruno Haible  <bruno@clisp.org>
493         javacomp-script, javacomp: Add support for Java 11.
494         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 11 and
495         target-version 11.
496         * lib/javaversion.h: Update comments.
497         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
498         source_version_index, get_goodcode_snippet, get_failcode_snippet,
499         TARGET_VERSION_BOUND, target_version_index,
500         corresponding_classfile_version): Accept source_version 11 and
501         target_version 11.
502         * lib/javacomp.h: Update comments accordingly.
504 2018-09-23  Bruno Haible  <bruno@clisp.org>
506         vasnprintf: Fix heap memory overrun bug.
507         Reported by Ben Pfaff <blp@cs.stanford.edu> in
508         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00107.html>.
509         * lib/vasnprintf.c (convert_to_decimal): Allocate one more byte of
510         memory.
511         * tests/test-vasnprintf.c (test_function): Add another test.
513 2018-09-19  Paul Eggert  <eggert@cs.ucla.edu>
515         maint: mktime.c now shared with glibc
516         * config/srclist.txt: intprops.h, timegm.c and mktime.c
517         are now the same in Gnulib and glibc.
519         mktime: fix _LIBC typo
520         * lib/mktime.c (mktime): Fix typo (misspelled "_LIBC").
522 2018-09-19  Norihiro Tanaka  <noritnk@kcn.ne.jp>
524         dfa: optimization for state merge
525         * lib/dfa.c (merge2): New function.
526         (merge_nfa_state): Use it.
528 2018-09-18  Jim Meyering  <meyering@fb.com>
530         dfa: trivial comment fix: s/is/if/
531         * lib/dfa.c (maybe_disable_superset_dfa): Fix comment typo.
533 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
535         dfa: use more-informative function name
536         * lib/dfa.c (maybe_disable_superset_dfa):
537         Rename from dfautf8noss.  Use change.
539         dfa: tweak allocation performance
540         * lib/dfa.c (merge_nfa_state, dfaoptimize):
541         Prefer ptrdiff_t for indexes some more.
542         Use char for flags, as it’s wide enough.
543         Allocate queue and flags together, with one malloc call.
544         No need to use xnmalloc since the multiplication and
545         addition cannot overflow (it’s already been checked by
546         earlier allocation).  Prefer memset to open-coding.
548         dfa: prune states as we go
549         * lib/dfa.c (prune): Remove.
550         dfa: reorder enum for efficiency
551         (merge_nfa_state): Prune as we go instead of at the end.
552         Prefer ptrdiff_t for indexes, as this helps the compiler a bit.
554         * lib/dfa.c (END): Now -1 again.  Reorder other elements
555         of the enumeration to make it easier for GCC to generate
556         efficient code by using fewer comparisons to check for
557         ranges of values.
558         (atom): Take advantage of the reordering.
560 2018-09-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
562         dfa: optimize alternation in NFA
563         Even when similar states exist in alternation, the DFA treats them
564         as separate items, which may complicate the transition in NFA and
565         cause slowdown.  This change assembles the states into one.  For
566         example, ab|ac is changed into a(b|c).  This change speeds-up
567         matching for many branched patterns.  For example, grep speeds up
568         more than 30× in:
570           seq 10000 | sed 's/$/ abcdefghijklmnopqrstuvwxyz/; s/$/./' >in
571           time -p env LC_ALL=C grep -vf in in
573         * lib/dfa.c (prune): New function.
574         (merge_nfa_state): New function.  It merges similar NFA states.
575         (dfaoptimize): New function.  It seeks merged and removed nodes.
576         (dfaanalyze): Call new function.
577         (dfautf8noss): Change name from dfaoptimize because of addition of new
578         function.
579         (dfacomp): Update caller.
581         dfa: simplify initial state
582         Simplifying the initial state enables easier optimization of the NFA.
583         * lib/dfa.c (enum token): Add new element BEG.
584         (prtok): Adjust due to adding element BEG.
585         (dfaparse): Put BEG at a head of tokens.
586         (state_index): Adjust due to adding element BEG.
587         (dfaanalyze): Concatenate BEG to other tokens, and simplify to
588         build initial state.
589         (dfamust): Adjust due to adding element BEG.  DFAMUST ignores it.
591 2018-09-18  Bruno Haible  <bruno@clisp.org>
593         file-has-acl: Fix test failure on Cygwin 2.9.
594         * m4/acl.m4 (gl_FUNC_ACL): Update comments regarding Cygwin.
595         * lib/acl-internal.h: Likewise.
596         (HAVE_ACL_EXTENDED_FILE): Undefine on Cygwin.
597         * lib/acl-internal.c: Update comments regarding Cygwin.
598         * lib/acl_entries.c: Likewise.
599         * lib/file-has-acl.c: Likewise.
600         (file_has_acl): For Cygwin, use a different way to determine whether
601         the "default" ACL of a directory is nontrivial.
602         * lib/get-permissions.c: Update comments regarding Cygwin.
603         * lib/set-permissions.c: Likewise.
605 2018-09-18  Bruno Haible  <bruno@clisp.org>
607         stat-time tests: Fix test failure on Cygwin.
608         * tests/nap.h (nap_get_stat): Treat Cygwin like native Windows.
610 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
612         doc: OS X 10.11 lacked ns time functions
613         According to <https://github.com/zeromq/libzmq/issues/2175>,
614         nanosecond-resolution timestamp functions were introduced
615         in macOS 10.12, so document the last version (OS X 10.11)
616         where they were absent.
618         gettime: nanotime never existed
619         Problem reported by Bruno Haible in:
620         https://lists.gnu.org/r/bug-gnulib/2018-09/msg00082.html
621         * lib/gettime.c (gettime) [HAVE_NANOTIME]: Remove unused code.
622         * m4/gettime.m4 (gl_GETTIME): Don’t check for nanotime.
624 2018-09-18  Bruno Haible  <bruno@clisp.org>
626         doc: Update statement about target platforms.
627         Reported by Simon Sobisch.
628         * doc/gnulib-intro.texi (Target Platforms): Update. Mention
629         restrictions on MSVC versions.
631 2018-09-18  Bruno Haible  <bruno@clisp.org>
633         posix_spawn tests: Fix link error on 64-bit Cygwin.
634         * tests/test-posix_spawn1.c (environ): Remove declaration.
635         * tests/test-posix_spawn2.c (environ): Likewise.
636         * tests/test-posix_spawn3.c (environ): Likewise.
637         * tests/test-posix_spawn4.c (environ): Likewise.
638         * modules/posix_spawn-tests (Depends-on): Add 'environ'.
639         * modules/posix_spawnp-tests (Depends-on): Likewise.
641 2018-09-16  Paul Eggert  <eggert@cs.ucla.edu>
643         timespec: new function current_timespec
644         * lib/gettime.c (gettime): Prefer clock_gettime to nanotime,
645         and don’t worry about it failing on a CLOCK_REALTIME arg.
646         POSIX requires it to succeed and I don’t know of any
647         counterexamples where the fallbacks would work.
648         (current_timespec): New function, taken from Emacs.  It is more
649         convenient than gettime, and can help register allocation.
650         * lib/timespec.h: Include arg-nonnull.h.
651         (current_timespec): New declaration.
652         (gettime, settime): Declare args to be nonnull.
653         * modules/timespec (Depends-on): Add snippet/arg-nonnull.
655 2018-09-16  Bruno Haible  <bruno@clisp.org>
657         setlocale: Improve locale handling on macOS 10.12 or newer.
658         * lib/setlocale.c: Include header files for CoreFoundation. Declare
659         gl_locale_name_canonicalize.
660         (libintl_setlocale): Try harder to set a locale for categories LC_CTYPE
661         and LC_MESSAGES.
662         * m4/setlocale.m4 (gl_PREREQ_SETLOCALE): Add comment.
664 2018-09-16  Bruno Haible  <bruno@clisp.org>
666         Update list of locale names with scripts on macOS.
667         * lib/localename.c (gl_locale_name_canonicalize): Update tables to
668         match Mac OS X 10.13 and recent glibc.
670 2018-09-16  Bruno Haible  <bruno@clisp.org>
672         gettext: Use newer macOS APIs when possible.
673         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Check for
674         CFLocaleCopyPreferredLanguages.
676 2018-09-16  Bruno Haible  <bruno@clisp.org>
678         localename: Revisit macOS specific code.
679         * lib/localename.c (gl_locale_name_default): Reduce code duplication.
680         Fix comments about Mac OS X versions.
682 2018-09-15  Bruno Haible  <bruno@clisp.org>
684         setlocale: Improve support for locales not supported by libc.
685         Reported by Dapeng Gao <peter@dpgao.cc> at
686         <https://savannah.gnu.org/bugs/?54479>.
687         * gettext-runtime/intl/setlocale.c: Include <stdio.h>.
688         (libintl_setlocale): Use a more error-tolerant strategy when the locale
689         to be set is not supported by libc: Emit warnings instead of failing.
691 2018-09-15  Bruno Haible  <bruno@clisp.org>
693         strstr, strcasestr: Add workaround against glibc-2.28 bug.
694         Reported by Michael Brunnbauer via Siddhesh Poyarekar and Eric Blake.
695         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Set
696         gl_cv_func_strstr_works_always to 'no' on glibc 2.28.
697         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Set
698         gl_cv_func_strcasestr_works_always to 'no' on glibc 2.28.
699         * doc/posix-functions/strstr.texi: Document the glibc 2.28 bug.
700         * doc/glibc-functions/strcasestr.texi: Likewise.
702 2018-09-14  Bruno Haible  <bruno@clisp.org>
704         doc: Fix bottom of top-level page.
705         Reported by Akim Demaille <akim.demaille@gmail.com> in
706         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00072.html>.
707         * doc/pastposix-functions/index.texi: Rename node to '_index' in HTML
708         mode.
709         * doc/gnulib.texi (Legacy Function Substitutes): Update menu
710         accordingly.
712 2018-09-12  Bruno Haible  <bruno@clisp.org>
714         Add test case from a recent glibc bug.
715         * tests/test-strstr.c (main): Add test of long needle.
716         * tests/test-strcasestr.c (main): Likewise.
717         * tests/test-c-strstr.c (main): Likewise.
718         * tests/test-c-strcasestr.c (main): Likewise.
719         * tests/test-memmem.c (main): Likewise.
721 2018-09-12  Bruno Haible  <bruno@clisp.org>
723         Apply Eric Blake's improvements from 2011-02-25 to more tests.
724         * tests/test-c-strstr.c (main): Add the same tests here as well.
726 2018-09-12  Bruno Haible  <bruno@clisp.org>
728         Apply Jim Meyering's fix from 2015-01-11 to more tests.
729         * tests/test-memmem.c (main): Free haystack.
730         * tests/test-strcasestr.c (main): Likewise.
731         * tests/test-c-strcasestr.c (main): Likewise.
733 2018-09-11  Paul Eggert  <eggert@cs.ucla.edu>
735         xstrtol: fix missing-TYPE_SIGNED typo
736         * lib/xstrtol.c (TYPE_SIGNED): New macro, duplicating intprops.h.
738 2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>
740         timespec: fix resolution confusion
741         In normal usage, clock resolution is given in seconds, but the
742         code was mistakenly using inverse seconds and calling it
743         “resolution”.  Fix this, partly by renaming two identifiers.
744         The old names will be kept for a bit, to ease transition.
745         * lib/timespec.h (TIMESPEC_HZ, LOG10_TIMESPEC_HZ):
746         New constants, replacing TIMESPEC_RESOLUTION and
747         LOG10_TIMESPEC_RESOLUTION, which are now obsolescent.
748         All uses changed.
750 2018-09-09  Paul Eggert  <eggert@cs.ucla.edu>
752         mktime: simplify in prep for glibc merge
753         * lib/mktime.c, lib/timegm.c [_LIBC]:
754         Include mktime-internal.h (a small file just for glibc)
755         instead of using a typedef.
757 2018-09-07  Paul Eggert  <eggert@cs.ucla.edu>
759         intprops: minor clarification of code
760         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW):
761         Use _GL_INT_CONVERT rather than reinventing it.
763 2018-09-07  Bruno Haible  <bruno@clisp.org>
765         Fix a comment.
766         * tests/test-posix_spawn3.c (parent_main): Fix typo in comment.
768 2018-09-07  Bruno Haible  <bruno@clisp.org>
770         posix_spawn_file_actions_addchdir: Add tests.
771         * tests/test-posix_spawn_file_actions_addchdir.c: New file.
772         * tests/test-posix_spawn4.c: New file.
773         * modules/posix_spawn_file_actions_addchdir-tests: New file.
775 2018-09-07  Bruno Haible  <bruno@clisp.org>
777         posix_spawn_file_actions_addchdir: New module.
778         Suggested by Eric Blake in
779         <https://lists.gnu.org/archive/html/bug-findutils/2018-09/msg00007.html>.
780         * lib/spawn.in.h (posix_spawn_file_actions_addchdir): New declaration.
781         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_chdir' and
782         union member 'chdir_action'.
783         * lib/spawn_faction_addchdir.c: New file.
784         * lib/spawni.c (__spawni): Implement the spawn_do_chdir action.
785         * lib/spawn_faction_addclose.c: Test REPLACE_POSIX_SPAWN instead of
786         HAVE_WORKING_POSIX_SPAWN.
787         * lib/spawn_faction_adddup2.c: Likewise.
788         * lib/spawn_faction_addopen.c: Likewise.
789         * m4/posix_spawn_faction_addchdir.m4: New file.
790         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
791         'posix_spawn_file_actions_addchdir' is present and whether
792         posix_spawn_file_actions_addchdir_np exists. Define REPLACE_POSIX_SPAWN
793         instead of HAVE_WORKING_POSIX_SPAWN.
794         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
795         posix_spawn_file_actions_addchdir is declared.
796         (gl_SPAWN_H_DEFAULTS): Initialize
797         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
798         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
799         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
800         * modules/spawn (Makefile.am): Substitute
801         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
802         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
803         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
804         * modules/posix_spawn_file_actions_addchdir: New file.
805         * modules/posix_spawn_file_actions_addclose (Depends-on,
806         configure.ac): Test also REPLACE_POSIX_SPAWN.
807         * modules/posix_spawn_file_actions_adddup2 (Depends-on,
808         configure.ac): Likewise.
809         * modules/posix_spawn_file_actions_addopen (Depends-on,
810         configure.ac): Likewise.
811         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addchdir): Check
812         signature.
813         * doc/posix-functions/posix_spawn.texi: Mention the new module.
814         * doc/posix-functions/posix_spawnp.texi: Likewise.
816 2018-09-06  Bruno Haible  <bruno@clisp.org>
818         stddef: Override max_align_t on NetBSD 8.0/x86.
819         * m4/stddef_h.m4 (gl_STDDEF_H): When testing for max_align_t, test also
820         the value of __alignof__ (max_align_t).
821         * doc/posix-headers/stddef.texi: Mention the issue.
823 2018-09-06  Bruno Haible  <bruno@clisp.org>
825         fcntl: Fix F_DUPFD_CLOEXEC behaviour on Haiku.
826         * lib/fcntl.c (rpl_fcntl): For F_DUPFD_CLOEXEC, don't even try the
827         system fcntl.
828         * doc/posix-functions/fcntl.texi: Document the issue.
830 2018-09-06  Bruno Haible  <bruno@clisp.org>
832         count-trailing-zeros tests: Rely on limits-h module.
833         * tests/test-count-trailing-zeros.c (ULLONG_MAX): Remove fallback
834         definition.
835         * modules/count-trailing-zeros-tests (Depends-on): Add 'limits-h'.
837 2018-09-06  Bruno Haible  <bruno@clisp.org>
839         count-leading-zeros tests: Rely on limits-h module.
840         * tests/test-count-leading-zeros.c (ULLONG_MAX): Remove fallback
841         definition.
842         * modules/count-leading-zeros-tests (Depends-on): Add 'limits-h'.
844 2018-09-06  Bruno Haible  <bruno@clisp.org>
846         count-one-bits tests: Rely on limits-h module.
847         * tests/test-count-one-bits.c (ULLONG_MAX): Remove fallback definition.
848         * modules/count-one-bits-tests (Depends-on): Add 'limits-h'.
850 2018-09-06  Bruno Haible  <bruno@clisp.org>
852         xstrtoll: Rely on limits-h module.
853         * lib/xstrtol.c: Don't include intprops.h.
854         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
855         * modules/xstrtol (Depends-on): Remove 'intprops'.
856         * modules/xstrtoll (Depends-on): Add 'limits-h'.
858 2018-09-06  Bruno Haible  <bruno@clisp.org>
860         strtoll, strtoull: Rely on limits-h module.
861         * lib/strtol.c (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove macros.
862         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
863         * modules/strtoll (Depends-on): Add limits-h.
864         * modules/strtoull (Depends-on): Likewise.
866 2018-09-06  Bruno Haible  <bruno@clisp.org>
868         intprops tests: Fix compilation error with pre-C99 compiler.
869         * tests/test-intprops.c (verify_stmt): New macro.
870         (VERIFY, main): Use it.
872 2018-09-06  Bruno Haible  <bruno@clisp.org>
874         limits-h: Provide numerical limits macros.
875         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define also for
876         IRIX and for GCC.
877         (WORD_BIT, LONG_BIT): Define.
878         * m4/limits-h.m4 (gl_LIMITS_H): Set LIMITS_H to non-empty also when
879         <limits.h> does not define LLONG_MAX or WORD_BIT.
880         * tests/test-limits-h.c (TYPE_SIGNED, TYPE_WIDTH, TYPE_MINIMUM,
881         TYPE_MAXIMUM): New macros, from intprops.h.
882         Add tests for CHAR_BIT, WORD_BIT, LONG_BIT, <type>_MIN, and <type>_MAX.
883         * doc/posix-headers/limits.texi: Document what the 'limits-h' module
884         provides.
886 2018-09-05  Bruno Haible  <bruno@clisp.org>
888         fcntl: Don't access nonexistent optional argument.
889         Reported by Frank Busse <f.busse@imperial.ac.uk> in
890         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00018.html>.
891         * lib/fcntl.c (rpl_fcntl): For actions that don't take an argument,
892         don't consume an argument. For actions that take an 'int' argument,
893         consume an 'int' argument.
895 2018-09-05  Eric Blake  <eblake@redhat.com>
897         doc: mention environ pitfall
898         * doc/posix-functions/environ.texi (environ): Assigning NULL to
899         environ is a glibc extension.
901 2018-09-03  Bruno Haible  <bruno@clisp.org>
903         gnulib-tool: Fix build order when $testsbase is a subdir of $sourcebase.
904         Reported by Antoine Luong <antoine.luong@c-s.fr> in
905         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00008.html>.
906         * gnulib-tool (func_import): For the tests, set a dotfirst flag.
907         (func_emit_lib_Makefile_am): Consider the dotfirst flag.
908         (func_emit_tests_Makefile_am): Don't consider the dotfirst flag.
910 2018-09-02  Paul Eggert  <eggert@cs.ucla.edu>
912         mktime: fix unlikely race+overflow bug
913         Problem reported by Alexandre Oliva in:
914         https://sourceware.org/bugzilla/show_bug.cgi?id=16346
915         * lib/mktime.c (__mktime_internal): Access *OFFSET only once,
916         to avoid an unlikely race if the compiler delays a load and
917         if this cascades into a signed integer overflow.
919 2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>
921         mktime, timegm: simplify glibc time64_t
922         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]:
923         Now long int, not time_t, since long int is the longstanding type
924         for this in glibc and there is no need to change it even if time_t
925         becomes 64 bits - even int would do, though this would be a change
926         to the glibc generated code.  When this change is merged into
927         glibc, it should simplify the time_t vs time64_t situation.
929         mktime, timegm: simplify merge to glibc
930         Move code around to make a merge to glibc easier to audit.
931         This should not change behavior.
932         * lib/mktime.c (NEED_MKTIME_INTERNAL, NEED_MKTIME_WINDOWS)
933         (NEED_MKTIME_WORKING): Give default values to pacify -Wundef,
934         which glibc uses.  Default NEED_MKTIME_WORKING to DEBUG_MKTIME, to
935         simplify later conditionals; default the others to zero.  In uses
936         of these conditionals, explicitly spell out how _LIBC affects
937         things, so it’s easier to review from a glibc viewpoint.
938         (my_tzset, __tzset) [!_LIBC]: New function and macro, to better
939         compartmentalize tzset issues.  Move system-dependent tzsettish
940         code here from mktime.
941         (mktime): Move tzsettish code to my_tzset, and move
942         localtime_offset to within mktime so that it doesn’t
943         need a separate ifdef.
945 2018-08-27  Paul Eggert  <eggert@cs.ucla.edu>
947         intprops: avoid evaluation of some expressions
948         This makes EXPR_SIGNED (e) easier to use, as it no longer
949         evaluates the expression E.  Formerly, E was required to be free
950         of side effects.
951         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT)
952         (EXPR_SIGNED, TYPE_WIDTH, _GL_INT_MINIMUM, _GL_INT_MAXIMUM)
953         (_GL_SIGNED_INT_MAXIMUM): Do not evaluate the expression arg.
955 2018-08-23  Bruno Haible  <bruno@clisp.org>
957         getcwd: Add cross-compilation guesses.
958         Reported by Sergio Durigan Junior <sergiodj@redhat.com> in
959         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00130.html>.
960         Based on a patch by Paul Eggert.
961         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Add cross-compilation
962         guesses for all GNU systems.
964 2018-08-19  Bruno Haible  <bruno@clisp.org>
966         glob-h: Formalize side effects from other modules.
967         * m4/glob_h.m4 (gl_REPLACE_GLOB_H): New macro.
968         * m4/glob.m4 (gl_GLOB): Invoke it.
970         fnmatch-h: Formalize side effects from other modules.
971         * m4/fnmatch_h.m4 (gl_REPLACE_FNMATCH_H): New macro.
972         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Invoke it.
974         limits-h: Formalize side effects from other modules.
975         * m4/limits-h.m4 (gl_REPLACE_LIMITS_H): New macro.
976         * m4/stdint.m4 (gl_STDINT_H): Invoke it.
978 2018-08-19  Bruno Haible  <bruno@clisp.org>
980         getpass: Move declaration to <unistd.h>.
981         * lib/unistd.in.h (getpass): New declaration.
982         * lib/getpass.h: Replace with a stub that just includes <unistd.h>.
983         * m4/getpass.m4 (gl_FUNC_GETPASS): Declare through AC_DEFUN_ONCE.
984         Require gl_UNISTD_H_DEFAULTS. Don't test whether getpass is declared.
985         (gl_FUNC_GETPASS_GNU): Require gl_UNISTD_H_DEFAULTS and gl_FUNC_GETPASS.
986         On glibc systems, don't set REPLACE_GETPASS to 1.
987         * modules/getpass (Depends-on): Add 'unistd'.
988         (configure.ac): Test also REPLACE_GETPASS. Define a module indicator.
989         (Include): Specify <unistd.h> instead of "getpass.h".
990         * modules/getpass-gnu (Depends-on): Merely depend on 'getpass'.
991         (configure.ac): Sync with the configure.ac section of modules/getpass.
992         (Include): Specify <unistd.h> instead of "getpass.h".
993         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether getpass is declared.
994         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPASS, HAVE_GETPASS,
995         REPLACE_GETPASS.
996         * modules/unistd (Makefile.am): Substitute GNULIB_GETPASS, HAVE_GETPASS,
997         REPLACE_GETPASS.
998         * tests/test-unistd-c++.cc: Test also the declaration of 'getpass'.
999         * doc/glibc-functions/getpass.texi: A length limit exists also on uClibc
1000         and musl.
1001         * NEWS: Mention the change.
1003 2018-08-19  Bruno Haible  <bruno@clisp.org>
1005         glob: Fix over-optimization due to attribute __nonnull__.
1006         * lib/glob.c (_GL_ARG_NONNULL): Define to empty.
1008 2018-08-19  Bruno Haible  <bruno@clisp.org>
1010         glob: Fix another compilation error when glob.h is not replaced.
1011         Reported by Reuben Thomas <rrt@sc3d.org> in
1012         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00112.html>.
1013         * m4/glob.m4 (gl_GLOB): Set GLOB_H to non-empty when needed.
1014         * m4/glob_h.m4 (gl_GLOB_H): Define through AC_DEFUN_ONCE.
1016 2018-08-18  Bruno Haible  <bruno@clisp.org>
1018         fnmatch: Avoid conflicting macro definitions of 'fnmatch'.
1019         Reported by Reuben Thomas <rrt@sc3d.org> in
1020         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00108.html>.
1021         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't define 'fnmatch' as a macro
1022         in config.h.
1024 2018-08-18  Bruno Haible  <bruno@clisp.org>
1026         Avoid -Wcast-function-type warnings from casts after GetProcAddress.
1027         Reported by Andy Moreton <andrewjmoreton@gmail.com> in
1028         <https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00468.html>.
1029         Solution proposed by Eli Zaretskii.
1030         * lib/getaddrinfo.c (GetProcAddress): Cast result to 'void *' first.
1031         * lib/gettimeofday.c (GetProcAddress): Likewise.
1032         * lib/link.c (GetProcAddress): Likewise.
1033         * lib/physmem.c (GetProcAddress): Likewise.
1034         * lib/poll.c (GetProcAddress): Likewise.
1035         * lib/select.c (GetProcAddress): Likewise.
1036         * lib/stat-w32.c (GetProcAddress): Likewise.
1038 2018-08-18  Bruno Haible  <bruno@clisp.org>
1040         glob: Fix another compilation error when glob.h is not replaced.
1041         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> again.
1042         * lib/globfree.c: Include <libc-config.h>.
1044 2018-08-18  Bruno Haible  <bruno@clisp.org>
1046         glob: Fix compilation error when glob.h is not replaced.
1047         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> in
1048         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00096.html>.
1049         * lib/glob_pattern_p.c: Include <libc-config.h>.
1050         * modules/glob (Depends-on): Add libc-config.
1052 2018-08-18  Bruno Haible  <bruno@clisp.org>
1054         scratch_buffer: Add tests.
1055         * tests/test-scratch-buffer.c: New file.
1056         * modules/scratch_buffer-tests: New file.
1058 2018-08-18  Bruno Haible  <bruno@clisp.org>
1060         scratch_buffer: Fix include file.
1061         Reported by Reuben Thomas <rrt@sc3d.org> in
1062         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00082.html>.
1063         * lib/scratch_buffer.h: Include <libc-config.h> first. Add
1064         double-inclusion guard.
1066 2018-08-18  Bruno Haible  <bruno@clisp.org>
1068         glob-h: Revert Paul Eggert's revert.
1069         * m4/glob_h.m4: Revert to previous state.
1070         * modules/glob-h: Likewise.
1072 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
1074         glob-h: always build glob.h
1075         This works around a problem reported by Reuben Thomas in:
1076         http://lists.gnu.org/r/bug-gnulib/2018-08/msg00079.html
1077         This workaround always builds glob.h, even on platforms that
1078         do not need it; perhaps this could be improved someday.
1079         * m4/glob_h.m4 (gl_GLOB_H): Do not set or use GLOB_H, since glob.h
1080         is always created now.
1081         * modules/glob-h (BUILT_SOURCES, glob.h): Always build glob.h.
1083 2018-08-13  Bruno Haible  <bruno@clisp.org>
1085         monetary: Simplify m4 code.
1086         * m4/monetary_h.m4 (gl_MONETARY_H): Define through AC_DEFUN_ONCE.
1087         (gl_MONETARY_H_BODY): Inline into gl_MONETARY_H. Remove macro.
1089 2018-08-13  Bruno Haible  <bruno@clisp.org>
1091         fnmatch, fnmatch-gnu: Fix compilation error on Mac OS X.
1092         Reported by Jeroen Meijer <jjgmeijer@gmail.com> in
1093         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00046.html>
1094         and by Paul J. Lucas <paul@lucasmail.org> in
1095         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00069.html>.
1096         * m4/fnmatch_h.m4 (gl_FNMATCH_H): Define through AC_DEFUN_ONCE.
1098 2018-08-11  Bruno Haible  <bruno@clisp.org>
1100         setlocale: Trivial simplification.
1101         * lib/setlocale.c (setlocale_unixlike): Remove redundant #if.
1103 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
1105         verify: port 'assume' to traditional tools
1106         * lib/verify.h (assume): Port better to Oracle Studio 12.6
1107         and other tools that use /*NOTREACHED*/ comments.
1109 2018-08-10  Bruno Haible  <bruno@clisp.org>
1111         fnmatch-gnu: Fix compilation error in C++ namespace mode on Mac OS X.
1112         * modules/fnmatch-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
1113         * lib/fnmatch.in.h (fnmatch): Skip _GL_CXXALIASWARN if module
1114         'fnmatch-gnu' is in use.
1116 2018-08-07  Bruno Haible  <bruno@clisp.org>
1118         glob-h: Add tests.
1119         * tests/test-glob-h.c: New file, partially based on tests/test-glob.c.
1120         * tests/test-glob.c: Reorder #includes. Remove tests that are moved to
1121         tests/test-glob-h.c.
1122         * modules/glob-h-tests: New file.
1123         * tests/test-glob-h-c++.cc: Renamed from tests/test-glob-c++.cc. Add
1124         conditions.
1125         * modules/glob-h-c++-tests: Renamed from modules/glob-c++-tests.
1126         * modules/glob-tests (Depends-on): Remove glob-c++-tests.
1128 2018-08-07  Bruno Haible  <bruno@clisp.org>
1130         glob-h: New module.
1131         * lib/glob.in.h: Use nearly the usual gnulib idioms for header file
1132         replacements.
1133         * lib/glob.c: Include <config.h>.
1134         * m4/glob_h.m4: New file.
1135         * m4/glob.m4 (gl_GLOB): Require gl_GLOB_H. Remove code that is moved to
1136         glob_h.m4. Set HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
1137         REPLACE_GLOB_PATTERN_P as appropriate.
1138         (gl_PREREQ_GLOB): Don't require AC_C_RESTRICT and
1139         AC_USE_SYSTEM_EXTENSIONS, now done through module 'glob-h'.
1140         * modules/glob-h: New file.
1141         * modules/glob (Files): Remove lib/glob.in.h, lib/glob-libc.h.
1142         (Dependencies): Add glob-h. Remove extensions, snippet/*, libc-config,
1143         lstat, sys_stat. Change conditions.
1144         (configure.ac): Test HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
1145         REPLACE_GLOB_PATTERN_P. Set module indicator.
1146         (Makefile.am): Remove code that is moved to glob-h.
1147         * doc/posix-headers/glob.texi: Mention the 'glob-h' module.
1148         * modules/posixcheck (Depends-on): Add glob-h.
1150 2018-08-06  Bruno Haible  <bruno@clisp.org>
1152         Force generation of substitute .h file when C++ support is enabled.
1153         * m4/ansi-c++.m4 (gl_ANSI_CXX): New macro.
1154         * modules/ansi-c++-opt (configure.ac): Just require gl_ANSI_CXX.
1155         * m4/fnmatch_h.m4 (gl_FNMATCH_H): If C++ support is enabled, set
1156         FNMATCH_H to non-empty.
1157         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If C++ support is enabled, set
1158         ICONV_H to non-empty.
1159         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If C++ support is enabled, set
1160         MONETARY_H to non-empty.
1161         * m4/utime_h.m4 (gl_UTIME_H): If C++ support is enabled, set UTIME_H to
1162         non-empty.
1164 2018-08-06  Bruno Haible  <bruno@clisp.org>
1166         fnmatch-h: Fix test compilation error on mingw (regression from today).
1167         * lib/fnmatch.in.h: Fix conditions.
1169 2018-08-06  Bruno Haible  <bruno@clisp.org>
1171         sys_resource: Relicense under LGPLv2+.
1172         John Malmberg's approval is in
1173         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00031.html>.
1174         * modules/sys_resource (License): Change to LGPLv2+.
1176 2018-08-06  Bruno Haible  <bruno@clisp.org>
1178         fnmatch-h: Add tests.
1179         * tests/test-fnmatch-h.c: New file.
1180         * modules/fnmatch-h-tests: New file.
1181         * tests/test-fnmatch-h-c++.cc: New file.
1182         * modules/fnmatch-h-c++-tests: New file.
1184 2018-08-06  Bruno Haible  <bruno@clisp.org>
1186         fnmatch-h: New module.
1187         * lib/fnmatch.in.h: Use the usual gnulib idioms for header file
1188         replacements.
1189         (FNM_*): Don't redefine if fnmatch exists and we are not overriding it.
1190         (fnmatch): Use the usual gnulib idiom for function declarations. Enable
1191         'posixcheck' warning.
1192         * m4/fnmatch_h.m4: New file.
1193         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Require gl_FNMATCH_H. Remove
1194         code that is moved to fnmatch_h.m4. When fnmatch does not exist, don't
1195         bother testing whether it is working. Set HAVE_FNMATCH, REPLACE_FNMATCH
1196         as appropriate.
1197         * modules/fnmatch-h: New file.
1198         * modules/fnmatch (Files): Remove lib/fnmatch.in.h.
1199         (Dependencies): Add fnmatch-h. Remove extensions, snippet/*. Change
1200         conditions.
1201         (configure.ac): Test HAVE_FNMATCH and REPLACE_FNMATCH. Set module
1202         indicator.
1203         (Makefile.am): Remove code that is moved to fnmatch-h.
1204         * modules/fnmatch-gnu (configure.ac): Test HAVE_FNMATCH and
1205         REPLACE_FNMATCH.
1206         * doc/posix-headers/fnmatch.texi: Mention the 'fnmatch-h' module.
1207         * modules/posixcheck (Depends-on): Add fnmatch-h.
1209 2018-08-06  Bruno Haible  <bruno@clisp.org>
1211         Enable more C++ tests.
1212         * modules/inttypes-tests (Depends-on): Add inttypes-c++-tests.
1213         * modules/monetary-tests (Depends-on): Add monetary-c++-tests.
1214         * modules/strings-tests (Depends-on): Add strings-c++-tests.
1215         * modules/sys_resource-tests (Depends-on): Add sys_resource-c++-tests.
1216         * modules/utime-h-tests (Depends-on): Add utime-h-c++-tests.
1218 2018-08-06  Bruno Haible  <bruno@clisp.org>
1220         getopt-posix, utime-h: Ensure the .h file gets regenerated when needed.
1221         * modules/getopt-posix (Makefile.am): Add Makefile dependency for
1222         getopt.h.
1223         * modules/utime-h (Makefile.am): Add Makefile dependency for utime.h.
1225 2018-08-05  Bruno Haible  <bruno@clisp.org>
1227         utime-h: Generate header file when module 'posixcheck' is in use.
1228         * m4/utime_h.m4 (gl_UTIME_H): If module 'posixcheck' is in use, set
1229         UTIME_H to non-empty.
1231 2018-08-05  Bruno Haible  <bruno@clisp.org>
1233         monetary: Generate header file when module 'posixcheck' is in use.
1234         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If module 'posixcheck' is in
1235         use, set MONETARY_H to non-empty.
1237 2018-08-05  Bruno Haible  <bruno@clisp.org>
1239         iconv-h: Generate header file when module 'posixcheck' is in use.
1240         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If module 'posixcheck' is in use,
1241         set ICONV_H to non-empty.
1243 2018-08-05  Bruno Haible  <bruno@clisp.org>
1245         Optimize the "checking whether ... is declared without a macro" checks.
1246         Suggested by Paul Eggert in
1247         <https://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00339.html>.
1248         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Expand to nothing if the
1249         Gnulib module 'posixcheck' is not in use.
1251 2018-08-05  Bruno Haible  <bruno@clisp.org>
1253         iconv-h: Enable 'posixcheck' warnings.
1254         * m4/iconv_h.m4 (gl_ICONV_H): Check for declarations of iconv and
1255         iconv_open.
1256         * lib/iconv.in.h (iconv_open, iconv): Use _GL_WARN_ON_USE.
1258 2018-08-05  Bruno Haible  <bruno@clisp.org>
1260         Fix link error regarding 'rpl_environ' (regression from 2012-11-21).
1261         * m4/extern-inline.m4: Add more comments.
1262         * lib/warn-on-use.h (_GL_WARN_ON_USE_ATTRIBUTE): New macro.
1263         * lib/unistd.in.h (rpl_environ): Use it instead of _GL_WARN_ON_USE.
1264         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL): Likewise.
1266 2018-08-04  Bruno Haible  <bruno@clisp.org>
1268         New module 'posixcheck'.
1269         * modules/posixcheck: New file.
1270         * m4/posixcheck.m4: New file.
1271         * doc/gnulib-tool.texi (Finding POSIX substitutes): New section.
1272         (Which modules?): Reference it.
1274 2018-08-01  Assaf Gordon <assafgordon@gmail.com>
1276         dfa: fix memory leak
1277         * lib/dfa.c (dfafree): Add missing free() on dfa->superset.
1279 2018-08-01  Paul Eggert  <eggert@cs.ucla.edu>
1281         ieee754-h: new module
1282         It looks like Emacs can use this for some NaN processing.
1283         Emacs uses it only on double NaNs so it should be safe.
1284         * MODULES.html.sh (func_all_modules): Add ieee754-h.
1285         * config/srclist.txt: Mention ieee754.h in a comment.
1286         * doc/glibc-headers/ieee754.texi (ieee754.h):
1287         Gnulib now has a substitute that should work
1288         except for long double and for non-IEEE platforms.
1289         * lib/ieee754.in.h, m4/ieee754-h.m4, modules/ieee754-h:
1290         * modules/ieee754-h-tests, tests/test-ieee754-h.c: New files.
1292 2018-07-27  Bruno Haible  <bruno@clisp.org>
1294         iswcntrl: Mention minor problem on macOS.
1295         * doc/posix-functions/iswcntrl.texi: Mention oddity on macOS.
1297 2018-07-26  Colin Watson  <cjwatson@debian.org>
1299         bootstrap, gnulib-tool: fix translations rsync
1300         Previously, we created files such as $pobase/Makefile.in.in and then the
1301         subsequent rsync would immediately delete them.
1302         * build-aux/bootstrap (po_download_command_format): Avoid deleting
1303         non-.po files in target directory when rsyncing translations.
1304         * gnulib-tool (func_import): Likewise.
1305         * pygnulib/GLImport.py (GLImport.execute): Likewise.
1307 2018-07-25  Jim Meyering  <meyering@fb.com>
1309         bootstrap: reinstate definition fo gnulib_mk.
1310         That variable is used at least by cppi.
1311         * build-aux/bootstrap (gnulib_mk): Restore definition.
1312         This reverts the deletion from v0.1-1844-gc66dba9ba.
1314 2018-07-23  Bruno Haible  <bruno@clisp.org>
1316         doc: For module names, use texinfo markup @code{} or @samp{}.
1317         * doc/alloca.texi: Mark gnulib module names with @code.
1318         * doc/alloca-opt.texi: Likewise.
1319         * doc/quote.texi: Likewise.
1320         * doc/posix-functions/freopen.texi: Likewise.
1321         * doc/posix-functions/open.texi: Likewise.
1322         * doc/posix-functions/readlink.texi: Likewise.
1323         * doc/posix-functions/readlinkat.texi: Likewise.
1324         * doc/posix-functions/stdout.texi: Likewise.
1325         * doc/posix-functions/stderr.texi: Likewise.
1326         * doc/posix-functions/unlink.texi: Likewise.
1327         * doc/posix-functions/unlinkat.texi: Likewise.
1328         * doc/posix-functions/utime.texi: Likewise.
1329         * doc/posix-functions/utimensat.texi: Likewise.
1330         * doc/posix-functions/utimes.texi: Likewise.
1331         * doc/posix-headers/stdint.texi: Likewise.
1332         * doc/glibc-functions/futimesat.texi: Likewise.
1333         * doc/glibc-functions/lutimes.texi: Likewise.
1334         * doc/glibc-functions/memmem.texi: Likewise.
1336 2018-07-23  Werner LEMBERG  <wl@gnu.org>
1338         doc: Avoid some overfull lines in the TeX output.
1339         * doc/glibc-functions/futimesat.texi: Replace a long @code with a
1340         @example.
1341         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Insert a
1342         newline before the long URL.
1343         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Likewise.
1344         * doc/relocatable-maint.texi: Use @smallexample instead of @example.
1345         Add line breaks in code snippets.
1347 2018-07-17  Paul Eggert  <eggert@cs.ucla.edu>
1349         hard-locale: simplify by removing hard-locale.m4
1350         * m4/hard-locale.m4: Remove.
1351         * modules/hard-locale (Files): Remove m4/hard-locale.m4.
1352         (configure.ac): Do not call gl_HARD_LOCALE.
1354         gnulib-tool: limit line length for git send-email
1355         * gnulib-tool (func_import): Break actioncmd log line
1356         into multiple lines.
1358 2018-07-16  Bruno Haible  <bruno@clisp.org>
1360         ffs: Ensure declaration on mingw.
1361         Reported by Daniel P. Berrangé <berrange@redhat.com>
1362         in https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00061.html.
1363         * m4/ffs.m4 (gl_FUNC_FFS): Check whether ffs() not only exists but is
1364         also declared.
1366 2018-07-13  Paul Eggert  <eggert@cs.ucla.edu>
1368         regex-tests: add dependency
1369         * modules/regex-tests (Depends-on): Add gettext-h.
1370         This is needed given the recent changes to regex,
1371         which no longer depends on gettext-h.
1373 2018-07-06  Paul Eggert  <eggert@cs.ucla.edu>
1375         regex: now in sync with glibc
1376         * config/srclist.txt: Gnulib and glibc regex code
1377         are synchronized again.
1379 2018-07-05  Paul Eggert  <eggert@cs.ucla.edu>
1381         renameatu: rename from renameat2
1382         It's looking like Glibc will add a renameat2 function
1383         that is incompatible with Gnulib renameat2; see:
1384         https://sourceware.org/ml/libc-alpha/2018-07/msg00064.html
1385         To help avoid future confusion, rename renameat2 to something else.
1386         Use the name 'renameatu', as the Gnulib function is close to the
1387         Glibc function.  Perhaps someday there will also be a renameat2
1388         Gnulib module, which mimicks the future glibc renameat2, but that
1389         can wait as nobody seems to need such a module now.
1390         * NEWS: Mention this.
1391         * lib/renameatu.c: Rename from lib/renameat2.c.
1392         * lib/renameatu.h: Rename from lib/renameat2.h.
1393         * modules/renameatu: Rename from modules/renameat2.
1394         * modules/renameatu-tests: Rename from modules/renameat2-tests.
1395         All uses of "renameat2" in identifiers or file name
1396         changed to "renameatu", except for two instances in
1397         lib/renameatu.c that deal with the Linux kernel's
1398         renameat2 syscall.
1400 2018-07-04  Paul Eggert  <eggert@cs.ucla.edu>
1402         gnulib-tool: minor tweaks for --gnu-make
1403         * gnulib-tool: Do not allow --gnu-make in test modes,
1404         since they all require automake.
1405         (func_emit_lib_Makefile_am): Don’t emit automake comment
1406         if --gnu-make.
1408         regex: work around conditional-dependencies glitch
1409         * modules/regex (Depends-on): Add langinfo.
1410         Without this change, I had problems building an experimental
1411         version of GNU Emacs.  The symptom of the bug was a message
1412         ‘./configure: line 12726: test: =: unary operator expected’.
1413         This was due to a line in gl_FUNC_NL_LANGINFO that invokes
1414         ‘test $HAVE_LANGINFO_CODESET = 1’ even though HAVE_LANGINFO_CODESET
1415         was unset.  Although gl_FUNC_NL_LANGINFO has
1416         ‘AC_REQUIRE([gl_LANGINFO_H])’ and gl_LANGINFO_H always sets
1417         HAVE_LANGINFO_CODESET to 0 or 1, gnulib-tool with
1418         --conditional-dependencies sometimes arranges for the
1419         gl_FUNC_NL_LANGINFO code to be executed before the gl_LANGINFO_H
1420         code.  Since the regex code includes <langinfo.h> it should be
1421         depending on the langinfo module anyway, and this happens to work
1422         around the bug, so install that as a workaround for now.  To
1423         reproduce the original problem, run the following shell script on
1424         the version of Gnulib just before this patch was installed.
1425                 rm -fr foo
1426                 mkdir foo
1427                 cat >foo/configure.ac <<'EOF'
1428                 AC_INIT(GNU Emacs, 27.0.50, bug-gnu-emacs@gnu.org, , https://www.gnu.org/software/emacs/)
1429                 gl_EARLY
1430                 gl_INIT
1431                 AC_OUTPUT
1432                 EOF
1433                 ./gnulib-tool --import --conditional-dependencies --gnu-make --dir foo regex
1434                 ./gnulib-tool --copy build-aux/install-sh foo/install-sh
1435                 ./gnulib-tool --copy build-aux/config.sub foo/config.sub
1436                 ./gnulib-tool --copy build-aux/config.guess foo/config.guess
1437                 cd foo
1438                 aclocal -I m4
1439                 autoconf
1440                 ./configure --with-included-regex
1442 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
1444         wchar: fix bug when checking for ‘inline’
1445         I discovered this when looking into using the regex module
1446         with Emacs.
1447         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Fix bug introduced in
1448         2016-08-17T23:09:38Z!skunk@iSKUNK.ORG; the code compiled
1449         conftest1.c and conftest2.c but these files were not created.
1450         As far as I can see, this check never worked and nobody reported
1451         it until now, which is a bit worrisome.
1453 2018-06-30  Jim Meyering  <meyering@fb.com>
1455         bootstrap: s/--option val/--option=val/
1456         * build-aux/bootstrap (gnulib_tool_options): Change the
1457         spelling of "--option val" pairs to "--option=val", for
1458         aesthetics, and also so that this file no longer triggers
1459         a common help2man syntax-check warning when copied into
1460         projects like grep, gzip, etc.
1462 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
1464         manywarnings: omit -Wswitch-default
1465         This should make things more consistent, as we already ignore
1466         -Wswitch-enum.  Problem reported by Reuben Thomas; see:
1467         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00179.html
1468         * build-aux/g++-warning.spec, build-aux/gcc-warning.spec:
1469         Add -Wswitch-default.
1470         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
1471         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
1472         Remove -Wswitch-default.
1474         regex: revert most trimming
1475         Problems reported by Bruno Haible in:
1476         https://lists.gnu.org/r/bug-gnulib/2018-07/msg00001.html
1477         * modules/regex (Depends-on): Add lock, memcmp, memmove,
1478         and wctype back in.  lock because regex users shouldn’t
1479         need to know that regex needs locking, and the rest because
1480         gnulib-tool should ordinarily ignore them anyway.
1482 2018-06-30  Paul Eggert  <eggert@cs.ucla.edu>
1484         regex: trim module dependencies
1485         * modules/regex (Depends-on): Remove gettext-h and lock,
1486         since the regex code should work OK without these modules,
1487         and Emacs uses it that way.  Also remove memcmp, memmove,
1488         and wctype, as these modules are obsolete and should not be
1489         needed any more.
1491 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
1493         regex: glibc does not use intprops.h
1494         Maybe we can talk glibc into using intprops.h someday, but
1495         now doesn’t seem to be a good time.
1496         * lib/regcomp.c (TYPE_SIGNED): Remove; regex_internal.h now defines.
1497         * lib/regex_internal.h [_LIBC]: Do not include intprops.h.
1498         (TYPE_SIGNED, INT_ADD_WRAPV): New macros.
1500 2018-06-28  Paul Eggert  <eggert@cs.ucla.edu>
1502         regex: port to recently proposed glibc regex merge
1503         This patch is inspired by Adhemerval Zanella's recent proposal
1504         https://www.sourceware.org/ml/libc-alpha/2018-06/msg00905.html
1505         to merge glibc and Gnulib regex.  It aims to simplify the merge on
1506         the glibc side, without keeping Gnulib portable.
1507         * lib/regex.h: Fix a problem with glibc installed-header checking,
1508         as follows:
1509         (_Restrict_): Prefer __restrict if defined or if GCC 2.95 or later.
1510         (_Restrict_arr_): Prefer __restrict_arr if defined,
1511         otherwise prefer _Restrict_ if C99 or GCC 3.1 or later (but not C++).
1512         * lib/regex_internal.c (re_string_realloc_buffers, build_wcs_buffer)
1513         (build_wcs_upper_buffer, build_upper_buffer)
1514         (re_string_translate_buffer, re_string_context_at):
1515         Move decls here from lib/regex_internal.h, for glibc internal tests.
1516         (build_wcs_upper_buffer): Use __wcrtomb, not wcrtomb, fixing
1517         glibc BZ #18496.
1518         * lib/regex_internal.h (lock_fini) [_LIBC]: Cast to 0 to pacify
1519         -Wunused-value.
1520         (bitset_set, bitset_clear, bitset_contain, bitset_empty)
1521         (bitset_set_all, bitset_copy, bitset_not, bitset_merge)
1522         (bitset_mask): Now static inline, and without any __attribute__
1523         ((unused)) decoration, for glibc internal tests.
1525 2018-06-25  Bruno Haible  <bruno@clisp.org>
1527         threadlib: Fix LIBMULTITHREAD on platforms where --as-needed is enabled.
1528         Reported by Erik Auerswald <auerswal@unix-ag.uni-kl.de>
1529         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00063.html>.
1530         * m4/threadlib.m4 (gl_THREADLIB_BODY): Check whether the linker supports
1531         --as-needed/--no-as-needed and --push-state/--pop-state. When defining
1532         USE_POSIX_THREADS_WEAK or USE_SOLARIS_THREADS_WEAK or
1533         USE_PTH_THREADS_WEAK, define LIBMULTITHREAD in such a way that -lpthread
1534         / -lthread / -lpth does not get optimized away by a preceding
1535         --as-needed option.
1537 2018-06-25  Bruno Haible  <bruno@clisp.org>
1539         Continue to use spaces for indentation, not tabs.
1540         * MODULES.html.sh: Untabify.
1541         * doc/regex.texi: Likewise.
1542         * lib/acl-internal.c: Likewise.
1543         * lib/dfa.c: Likewise.
1544         * lib/exclude.c: Likewise.
1545         * lib/exclude.h: Likewise.
1546         * lib/get-permissions.c: Likewise.
1547         * lib/gettimeofday.c: Likewise.
1548         * lib/parse-datetime.y: Likewise.
1549         * lib/pselect.c: Likewise.
1550         * lib/set-permissions.c: Likewise.
1551         * lib/time.in.h: Likewise.
1552         * m4/canonicalize.m4: Likewise.
1553         * m4/gc.m4: Likewise.
1554         * m4/gnulib-common.m4: Likewise.
1555         * m4/pthread_sigmask.m4: Likewise.
1556         * m4/vararrays.m4: Likewise.
1557         * tests/test-digest.h: Likewise.
1558         * tests/test-fcntl-h.c: Likewise.
1559         * tests/test-timespec.c: Likewise.
1560         * tests/uniwbrk/test-uc-wordbreaks.c: Likewise.
1562 2018-06-25  Bruno Haible  <bruno@clisp.org>
1564         manywarnings: Don't enable -Wjump-misses-init warnings by default.
1565         * build-aux/gcc-warning.spec: Add -Wjump-misses-init.
1566         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): Remove
1567         -Wjump-misses-init.
1569 2018-06-25  Jim Meyering  <meyering@fb.com>
1571         acl-internal.h: remove _GL_ATTRIBUTE_CONST on void function
1572         * lib/acl-internal.h (free_permission_context): Remove that
1573         attribute directive.  Otherwise, it would provoke this from GCC 9:
1574         lib/acl-internal.h:300:3: error: 'const' attribute on function \
1575           returning 'void' [-Werror=attributes]
1577 2018-06-24  Jim Meyering  <meyering@fb.com>
1579         parse-datetime: accommodate gcc-4.8.5
1580         Bruno Haible reported the build failure in
1581         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00066.html
1582         * lib/parse-datetime.y (parse_datetime2): Remove leading "static"
1583         on declaration of new local.
1585 2018-06-24  Bruno Haible  <bruno@clisp.org>
1587         af_alg: Fail in continuable manner on Linux/powerpc64le.
1588         Reported by Assaf Gordon <assafgordon@gmail.com>
1589         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00034.html>.
1590         * lib/af_alg.c (afalg_stream): On non-seekable streams, try a single-
1591         byte send() as the first round.
1593 2018-06-24  Bruno Haible  <bruno@clisp.org>
1595         af_alg: Fix state of stream after sendfile() succeeds.
1596         * lib/af_alg.c (afalg_stream): Invoke fflush and lseek, to ensure that
1597         the stream is correctly positioned afterwards.
1598         * modules/crypto/af_alg (Depends-on): Add fflush.
1599         * tests/test-digest.h (test_digest_on_files): Verify that after the
1600         operation the stream is positioned at end of file.
1602 2018-06-24  Jim Meyering  <meyering@fb.com>
1604         canon-host: take GCC9's advice rather than ignoring warning
1605         Pádraig Brady suggested not to ignore this GCC9 advice.
1606         * lib/canon-host.c: Undo preceding change.
1607         * lib/canon-host.h: Instead, declare with _GL_ATTRIBUTE_MALLOC.
1609         parse-datetime.y: avoid spurious GCC 9 warning
1610         * lib/parse-datetime.y (parse_datetime2): Save RELATIVE_TIME_0 into
1611         a function local prior to the first "goto fail".  The prior use would
1612         evoke this:
1613         parse-datetime.y: In function 'parse_datetime2':
1614         parse-datetime.y:1791:19: error: jump skips variable initialization \
1615           [-Werror=jump-misses-init]
1616         parse-datetime.y:2385:2: note: label 'fail' defined here
1617         parse-datetime.y:188:43: note: '({anonymous})' declared here
1618         parse-datetime.y:1841:12: note: in expansion of macro 'RELATIVE_TIME_0'
1620         canon-host.c: avoid spurious GCC 9 warning
1621         * lib/canon-host.c: Suppress GCC9's -Wsuggest-attribute=malloc.
1623         manywarnings: accommodate GCC 9.0-pre: remove -Wchkp and -Wabi
1624         * build-aux/gcc-warning.spec: Add them here, each with an explanation.
1625         * m4/manywarnings.m4: Remove them.
1626         Otherwise, building coreutils, I would see this:
1627         cc1: error: deprecated command line option '-Wchkp' [-Werror]
1628         cc1: error: -Wabi won't warn about anything [-Werror=abi]
1629         cc1: note: -Wabi warns about differences from the most up-to-date ABI,\
1630           which is also used by default
1631         cc1: note: use e.g. -Wabi=11 to warn about changes from GCC 7
1633 2018-06-24  Bruno Haible  <bruno@clisp.org>
1635         af_alg tests: Add another test.
1636         * tests/test-digest.h (test_digest_on_files): Also check a large file
1637         with a skipped header.
1638         * tests/test-md5.c: Include macros.h.
1639         * tests/test-sha1.c: Likewise.
1640         * tests/test-sha256.c: Likewise.
1641         * tests/test-sha512.c: Likewise.
1642         * modules/crypto/md5-tests (Files): Add tests/macros.h.
1643         * modules/crypto/sha1-tests (Files): Likewise.
1644         * modules/crypto/sha256-tests (Files): Likewise.
1645         * modules/crypto/sha512-tests (Files): Likewise.
1647 2018-06-24  Pádraig Brady  <P@draigBrady.com>
1649         maint: clarify comments about sticky EOF
1650         * lib/af_alg.c: Be more direct that we can't
1651         assume stickiness of EOF for portability reasons.
1652         * lib/md5.c: Clarify that this isn't just a glibc issue.
1653         * lib/sha1.c: Likewise.
1654         * lib/sha256.c: Likewise.
1655         * lib/sha512.c: Likewise.
1657 2018-06-24  Bruno Haible  <bruno@clisp.org>
1659         af_alg: Comment and style improvements.
1660         * lib/af_alg.c (alg_socket): Use 'size_t' as index into a string.
1661         (afalg_buffer, afalg_stream): Improve comments.
1663 2018-06-24  Pádraig Brady  <P@draigBrady.com>
1665         af_alg: disable kernel hash functions by default
1666         All the kernel routines were seen to be significantly slower
1667         with these relatively recent components on an i3-2310M system:
1668           kernel-4.10.6-200.fc25.x86_64
1669           openssl-1.0.2m-1.fc25.x86_64
1670         sha1 was nearly twice as slow in the kernel for example.
1671         Further considerations why this should not be the default, at:
1672         https://lists.gnu.org/r/coreutils/2018-06/msg00034.html
1674         * m4/af_alg.m4: Require --with-linux-crypto to enable.
1675         * m4/gl-openssl.m4: Tweak accordingly.
1677 2018-06-24  Pádraig Brady  <P@draigBrady.com>
1679         af_alg: avoid hangs when reading from streams
1680         * lib/af_alg.c (afalg_stream): Don't assume EOF is sticky,
1681         and thus avoid doing a fread() when feof() is set.
1682         * lib/md5.c: Ensure feof() is called before fread().
1683         * lib/sha1.c: Likewise.
1684         * lib/sha256.c: Likewise.
1685         * lib/sha512.c: Likewise.
1687 2018-06-24  Pádraig Brady  <P@draigBrady.com>
1689         af_alg: fix error handling when hash not returned
1690         * lib/af_alg.c (afalg_stream): Handle the case where we've
1691         successfully written data to the kernel in the read/write loop,
1692         but the kernel doesn't respond with the hash.
1694 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
1696         libc-config: merge from glibc
1697         * lib/cdefs.h (__inline, __restrict):
1698         Copy from current glibc.  This fixes glibc bug 17721,
1699         which Gnulib had already fixed in a different way.
1700         (__nonnull): Lessen the distance from glibc by using the
1701         glibc definition inside an ‘#ifndef __nonnull’.
1702         (__attribute_nonstring__): New macro, copied from
1703         current glibc.
1704         * lib/libc-config.h (__attribute_nonstring__): New undef.
1705         (__restrict): Remove; workaround no longer needed.
1706         Keep the __inline workaround, though, as it uses HAVE___INLINE to
1707         support more compilers than the glibc __inline can.
1709 2018-06-24  Bruno Haible  <bruno@clisp.org>
1711         mbrtowc, wcwidth: Fix MT-safety bug (regression from 2018-06-23).
1712         * lib/mbrtowc.c (enc_t): New enum type.
1713         (locale_enc, locale_enc_cached): New functions.
1714         (mbrtowc): Eliminate static variables. Use locale_enc_cached instead.
1715         * lib/wcwidth.c (is_locale_utf8, is_locale_utf8_cached): New functions.
1716         (wcwidth): Eliminate static variables. Use is_locale_utf8_cached
1717         instead.
1718         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Require AC_C_INLINE.
1719         * m4/wcwidth.m4 (gl_PREREQ_WCWIDTH): New macro.
1720         * modules/wcwidth (configure.ac): Invoke it.
1722 2018-06-24  Bruno Haible  <bruno@clisp.org>
1724         wchar-single: Fix test failure in wcwidth tests.
1725         * tests/test-wcwidth.c (main): If the wchar-single module is present,
1726         skip the tests in the C locale.
1728 2018-06-23  Pádraig Brady  <P@draigBrady.com>
1730         crypto: mention --without-linux-crypto in --with-openssl --help
1731         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Mention that linux crypto
1732         routines take precedence in --with-openssl help output.
1734 2018-06-23  Pádraig Brady  <P@draigBrady.com>
1736         wchar-single: a new module to enable optimizations in wchar replacements
1737         * lib/mbrtowc.c (mbrtowc): Only check locale_charset() once if
1738         GNULIB_WCHAR_SINGLE is enabled.
1739         * lib/wcwidth.c (wcwidth): Likewise.
1741 2018-06-23  Bruno Haible  <bruno@clisp.org>
1743         libc-config: Fix conflict with FreeBSD include files.
1744         * lib/cdefs.h (__nonnull): Remove definition.
1745         * lib/libc-config.h (__nonnull): Remove undefinition.
1747 2018-06-21  Paul Eggert  <eggert@cs.ucla.edu>
1749         random_r: do not crash if state is unaligned
1750         Problem reported by Bruce Korb in:
1751         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00030.html
1752         I reproduced the crash on 32-bit sparc with Oracle Studio 12.6
1753         with 'cc -O2 -xmemalign=8s'.
1754         * lib/random_r.c: Include string.h, for memcpy.
1755         (get_int32, set_int32): New functions.
1756         (__srandom_r, __initstate_r, __setstate_r, __random_r):
1757         Use them to avoid assumption that state pointer is aligned.
1758         (__random_r): Avoid integer overflow if INT_MAX == UINT32_MAX.
1759         * tests/test-random_r.c (test_failed): New function.
1760         (main): Use it, to test for alignment bugs.
1762         random_r: omit unnecessary include
1763         * lib/random_r.c: Do not include limits.h.
1765         random, random_r: merge from glibc
1766         * lib/random.c, lib/random_r.c:
1767         Include libc-config.h if !_LIBC, not config.h unilaterally.
1768         * lib/random.c:
1769         Do not include stdint.h or time.h; not needed.
1770         Include libc-lock.h if _LIBC, and define substitute macros otherwise.
1771         (unsafe_state): Rename from generator.  All uses changed.
1772         Use C99-style initializers.
1773         (__random, __srandom, __initstate, __setstate): Rename from
1774         non-underscored version, but define it to non-underscored version
1775         on Gnulib.  Add a lock.
1776         * lib/random_r.c (__srandom_r, __initstate_r, __setstate_r, __random_r):
1777         Likewise.
1778         Do not include <stdint.h>; not needed since stdlib.h defines int32_t.
1779         (weak_alias, __set_errno) [!_LIBC]: Remove; now done by libc-config.
1780         (__srandom_r): Use int32_t instead of long int where int32_t will do.
1781         (__random_r): Use uint32 to fix glibc bug 17343.
1782         * modules/random, modules/random_r (Depends-on): Add libc-config.
1783         Depend on stdint only if $HAVE_RANDOM = 0.
1785 2018-06-19  Jim Meyering  <meyering@fb.com>
1787         README-release: also run any check-very-expensive tests
1788         * top/README-release: Adjust instructions so they run the
1789         check-very-expensive tests when there is such a target.
1791 2018-06-18  Bruno Haible  <bruno@clisp.org>
1793         pthread_rwlock_rdlock: Add comments regarding glibc behaviour.
1794         * m4/pthread_rwlock_rdlock.m4: Add comment.
1795         * doc/posix-functions/pthread_rwlock_rdlock.texi: Mention that rwlocks
1796         are reader-preferring in glibc.
1797         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likwise.
1798         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
1800 2018-06-17  Paul Eggert  <eggert@cs.ucla.edu>
1802         crypto: use byteswap
1803         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
1804         * lib/sm3.c: Include <byteswap.h>.
1805         (SWAP): Use its macros rather than reinventing the wheel.
1806         * modules/crypto/md4, modules/crypto/md5-buffer:
1807         * modules/crypto/sha1-buffer, modules/crypto/sha256-buffer:
1808         * modules/crypto/sha512-buffer, modules/crypto/sm3:
1809         (Depends-on): Add byteswap.
1811 2018-06-17  Pádraig Brady  <P@draigBrady.com>
1813         gendocs.sh: fix support for legacy --texi2html
1814         * build-aux/gendocs.sh: Restrict use of TOP_NODE_UP_URL
1815         to the default makeinfo invocation.
1816         Reported by Bruce Korb
1818 2018-06-17  Bruno Haible  <bruno@clisp.org>
1820         gettext po infrastructure: Update from current gettext git.
1821         Reported by Akim Demaille <akim@lrde.epita.fr>.
1822         * build-aux/po/Makefile.in.in: Update from current gettext git.
1823         * build-aux/po/remove-potcdate.sin: Likewise.
1824         * config/srclist.txt: Temporarily disable sync for these files.
1826 2018-06-17  Bruno Haible  <bruno@clisp.org>
1828         getloadavg: Return 0 on Windows without Cygwin.
1829         * lib/getloadavg.c: Don't assume that the symbol WINDOWS32 is defined.
1831 2018-06-17  Paul Smith  <psmith@gnu.org>
1833         getloadavg: Allow building on Windows without Cygwin
1834         * lib/getloadavg.c: Reinstate ifdef for HAVE_UNISTD_H.
1835         * m4/getloadavg.m4: Check for unistd.h.
1837 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
1839         Port crypto/af_alg to GCC 4.8.4
1840         Problem reported by Peter Simons in:
1841         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00002.html
1842         * modules/crypto/af_alg (Depends-on): Add c99 if USE_AF_ALG.
1844 2018-05-27  Colin Watson  <cjwatson@debian.org>
1846         bootstrap: document source fetching in --help
1847         * build-aux/bootstrap (usage): Document how Gnulib sources are fetched.
1849 2018-04-09  Colin Watson  <cjwatson@debian.org>
1851         bootstrap: allow non-submodule control of gnulib
1852         * build-aux/bootstrap: Honour GNULIB_URL and GNULIB_REVISION in
1853         bootstrap.conf when fetching gnulib using "git clone" or via
1854         GNULIB_SRCDIR.
1856 2018-05-21  Paul Eggert  <eggert@cs.ucla.edu>
1858         crypto: omit stream ops Emacs doesn’t need
1859         * lib/md5.c (md5_stream):
1860         * lib/sha1.c (sha1_stream):
1861         * lib/sha256.c (shaxxx_stream, sha256_stream, sha224_stream):
1862         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
1863         Compile stream functions only if GL_COMPILE_CRYPTO_STREAM is
1864         defined.  Emacs needs this, as it does not use the stream
1865         operations and doesn’t need all the af_alg stuff we’ve recently
1866         added.  Perhaps a similar change is needed to the other crypto
1867         modules, but this patch changes only those needed for Emacs.
1868         * modules/crypto/md5-buffer, modules/crypto/sha1-buffer:
1869         * modules/crypto/sha256-buffer, modules/crypto/sha512-buffer:
1870         New modules, used by Emacs.
1871         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
1872         * modules/crypto/sha512: Rewrite to depend on the new modules.
1874 2018-05-20  Pádraig Brady  <P@draigBrady.com>
1876         fts: avoid a memory leak edge case
1877         * lib/fts.c (fts_open): Set an appropriate fts_level
1878         so that an immediate fts_close() will free the allocation.
1879         * tests/test-fts.c (fts_dealloc): Add a test case which
1880         will trigger under valgrind or address sanitizer.
1881         Fixes https://bugs.gnu.org/31439
1883 2018-05-20  Bruno Haible  <bruno@clisp.org>
1885         wcwidth tests: Fix link error.
1886         * modules/wcwidth-tests (Makefile.am): Link test-wcwidth against
1887         $(LIBUNISTRING).
1889 2018-05-20  Bruno Haible  <bruno@clisp.org>
1891         regex: Fix "error: possibly undefined macro: gl_GLIBC21".
1892         * modules/regex (Files): Add m4/glibc21.m4.
1894 2018-05-20  Bruno Haible  <bruno@clisp.org>
1896         localcharset: Optimize.
1897         * lib/localcharset.c (alias_table): Comment out no-op mappings for
1898         platforms where these don't matter. This reduces the table size,
1899         which in turn reduces the lookup time.
1901 2018-05-19  Bruno Haible  <bruno@clisp.org>
1903         localcharset: Map the locale encodings found in newer OSes.
1904         * lib/localcharset.c (alias_table): Add mapping for locale encodings
1905         found in FreeBSD 11, NetBSD 7, Solaris 10, Openindiana, HP-UX 11.31,
1906         IRIX 6.5, Minix 3.3.
1907         * lib/localcharset.h: Update comments accordingly. Also for Cygwin 2.9.
1909 2018-05-19  Bruno Haible  <bruno@clisp.org>
1911         localcharset: Move mapping tables into the code. Use a binary search.
1912         * lib/localcharset.h: Document the GNU canonical names for character
1913         encodings here.
1914         * lib/localcharset.c: Don't include <fcntl.h>, <unistd.h>,
1915         relocatable.h, configmake.h.
1916         (O_NOFOLLOW, ISSLASH, DIRECTORY_SEPARATOR, getc, volatile): Remove
1917         macros.
1918         (charset_aliases): Remove variable.
1919         (get_charset_aliases): Remove function.
1920         (struct table_entry): New type.
1921         (alias_table, locale_table): New constants.
1922         (locale_charset): Use the alias_table or locale_table to get the
1923         canonicalized encoding name.
1924         * lib/config.charset: Remove file.
1925         * lib/ref-add.sin: Remove file.
1926         * lib/ref-del.sin: Remove file.
1927         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't require gl_FCNTL_O_FLAGS,
1928         AC_CANONICAL_HOST, gl_GLIBC21. Don't check for getc_unlocked.
1929         * modules/localcharset (Notice): Remove.
1930         (Files): Remove config.charset, ref-add.sin, ref-del.sin, fcntl-o.m4,
1931         glibc21.m4.
1932         (Depends-on): Remove configmake.
1933         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT to empty.
1934         (Makefile.am): Simplify.
1935         * build-aux/prefix-gnulib-mk: Remove special code for the removed files.
1937 2018-05-19  Bruno Haible  <bruno@clisp.org>
1939         localcharset: Add a manual test.
1940         * tests/test-localcharset.c: New file.
1941         * modules/localcharset-tests: New file.
1943 2018-05-19  Bruno Haible  <bruno@clisp.org>
1945         localcharset: Remove support for obsolete platforms.
1946         * lib/config.charset: Remove support for Linux/libc5, glibc-2.0.x, and
1947         Mac OS X 10.2. Comment out dubious entry for Solaris.
1949 2018-05-19  Jim Meyering  <meyering@fb.com>
1951         gnupload: adjust comment
1952         * build-aux/gnupload: Add FIXME-2020 comment, to make it slightly
1953         more likely we'll remove the just-added code in a year or two.
1955 2018-05-19  Bruno Haible  <bruno@clisp.org>
1957         gnupload: Fix "gpg-agent is not available in this session" error.
1958         * build-aux/gnupload (GPG): Pick the right GNUPG executable to use.
1960 2018-05-16  Paul Eggert  <eggert@cs.ucla.edu>
1962         crypto/af_alg: fix --help
1963         * m4/af_alg.m4: Avoid spurious newline in --help output.
1965 2018-05-13  Bruno Haible  <bruno@clisp.org>
1967         nl_langinfo: Fix compilation error on Android.
1968         * lib/nl_langinfo.c (nl_langinfo): Define values for the items GROUPING,
1969         INT_CURR_SYMBOL, etc. only if these items are defined.
1971 2018-05-13  Bruno Haible  <bruno@clisp.org>
1973         truncate: Fix compilation error on Android.
1974         * m4/truncate.m4 (gl_FUNC_TRUNCATE): Test also whether 'truncate' is
1975         declared. Set HAVE_DECL_TRUNCATE, not HAVE_TRUNCATE.
1976         * lib/unistd.in.h (truncate): Test HAVE_DECL_TRUNCATE, not
1977         HAVE_TRUNCATE.
1978         * modules/truncate: Likewise.
1979         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_TRUNCATE,
1980         not HAVE_TRUNCATE.
1981         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TRUNCATE, not
1982         HAVE_TRUNCATE.
1983         * doc/posix-functions/truncate.texi: Mention the issue.
1985 2018-05-13  Bruno Haible  <bruno@clisp.org>
1987         pthread: Fix compilation error on Android.
1988         * lib/pthread.in.h: Use _GL_ALREADY_INCLUDING_PTHREAD_H to shortcut
1989         recursive inclusion of this file.
1991 2018-05-13  Bruno Haible  <bruno@clisp.org>
1993         posix_spawn: Fix compilation error on Android.
1994         * lib/spawn.in.h (posix_spawnattr_t): Consider also the case
1995         HAVE_POSIX_SPAWNATTR_T = 1 && HAVE_POSIX_SPAWN = 0.
1996         (posix_spawn_file_actions_t): Consider also the case
1997         HAVE_POSIX_SPAWN_FILE_ACTIONS_T = 1 && HAVE_POSIX_SPAWN = 0.
1999 2018-05-13  Bruno Haible  <bruno@clisp.org>
2001         tsearch: Move from K&R C to ANSI C.
2002         * lib/tsearch.c (tfind): Convert definition to ANSI C.
2004 2018-05-13  Bruno Haible  <bruno@clisp.org>
2006         tsearch: Fix compilation error on Android.
2007         * lib/search.in.h (twalk): Declare when HAVE_TWALK, not HAVE_TSEARCH,
2008         is 0.
2009         (GNULIB_defined_tsearch, GNULIB_defined_twalk): New macros.
2010         * lib/tsearch.c (tsearch, tfind, tdelete): Define only if
2011         GNULIB_defined_tsearch is true.
2012         (twalk): Define only if GNULIB_defined_twalk is true.
2013         * modules/tsearch (configure.ac): Compile tsearch.c also if HAVE_TWALK
2014         is 0.
2015         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Set HAVE_TWALK.
2016         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize HAVE_TWALK.
2017         * modules/search (Makefile.am): Substitute HAVE_TWALK.
2019 2018-05-13  Bruno Haible  <bruno@clisp.org>
2021         imaxdiv: Fix compilation error on Android.
2022         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Set HAVE_IMAXDIV_T to 0 if imaxdiv_t
2023         is not defined.
2024         * lib/inttypes.in.h (imaxdiv_t): Define if HAVE_IMAXDIV_T, not
2025         HAVE_DECL_IMAXDIV, is 0.
2026         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize HAVE_IMAXDIV_T.
2027         * modules/inttypes-incomplete (Makefile.am): Substitute HAVE_IMAXDIV_T.
2029 2018-05-13  Bruno Haible  <bruno@clisp.org>
2031         Support selective inclusion mechanism of recent mingw.org header files.
2032         Reported by Eli Zaretskii <eliz@gnu.org>.
2033         * lib/sys_types.in.h: On mingw, when __need_off_t, __need___off64_t,
2034         __need_ssize_t, or __need_time_t is defined, just include the system's
2035         <sys/types.h>.
2036         * lib/locale.in.h: On mingw, when __need_locale_t is defined, just
2037         include the system's <locale.h>.
2039 2018-05-13  Bruno Haible  <bruno@clisp.org>
2041         Avoid compilation error due to 'mmap' on Android.
2042         * lib/vma-iter.c (_FILE_OFFSET_BITS): Undefine on Android.
2043         * lib/get-rusage-as.c (_FILE_OFFSET_BITS): Likewise.
2044         * tests/zerosize-ptr.h (_FILE_OFFSET_BITS, __USE_FILE_OFFSET64):
2045         Undefine on Android.
2047 2018-05-13  Bruno Haible  <bruno@clisp.org>
2049         Add cross-compilation guesses for Linux systems without glibc.
2050         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for Linux.
2051         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
2052         * m4/link.m4 (gl_FUNC_LINK): Likewise.
2053         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
2054         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
2055         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
2056         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
2057         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
2058         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
2059         * m4/readlink.m4 (gl_FUNC_READLINK): Likewise.
2060         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
2061         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
2062         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
2063         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
2064         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
2065         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
2066         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
2067         * m4/utimens.m4 (gl_UTIMENS): Likewise.
2069 2018-05-13  Bruno Haible  <bruno@clisp.org>
2071         getpagesize: Fix compilation error on Android.
2072         * m4/getpagesize.m4 (gl_CHECK_FUNC_GETPAGESIZE): New macro.
2073         (gl_FUNC_GETPAGESIZE): Invoke it instead of AC_CHECK_FUNC.
2074         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't invoke
2075         AC_CHECK_FUNC. Instead, invoke gl_CHECK_FUNC_GETPAGESIZE and define
2076         HAVE_GETPAGESIZE accordingly.
2077         * modules/getcwd (Files): Add m4/getpagesize.m4.
2079 2018-05-13  Bruno Haible  <bruno@clisp.org>
2081         tcgetsid: Fix compilation error on Android.
2082         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use AC_LINK_IFELSE instead of
2083         AC_CHECK_FUNC.
2085 2018-05-13  Bruno Haible  <bruno@clisp.org>
2087         getpass: Fix configure test for Android.
2088         * m4/getpass.m4 (gl_PREREQ_GETPASS): Use AC_LINK_IFELSE instead of
2089         AC_CHECK_FUNC.
2091 2018-05-13  Bruno Haible  <bruno@clisp.org>
2093         ffs: Fix compilation error on Android.
2094         * m4/ffs.m4 (gl_FUNC_FFS): Use AC_LINK_IFELSE instead of AC_CHECK_FUNC.
2096 2018-05-13  Bruno Haible  <bruno@clisp.org>
2098         mkfifo: Fix compilation error on Android.
2099         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Use AC_LINK_IFELSE instead of
2100         AC_CHECK_FUNC.
2102 2018-05-13  Bruno Haible  <bruno@clisp.org>
2104         c-strtod: Fix configure test for Android.
2105         * m4/c-strtod.m4 (gl_C_STRTOD): Use AC_LINK_IFELSE instead of
2106         AC_CHECK_FUNC.
2108 2018-05-13  Bruno Haible  <bruno@clisp.org>
2110         random: Fix compilation error on Android.
2111         * m4/random.m4 (gl_FUNC_RANDOM): Use AC_LINK_IFELSE instead of
2112         AC_CHECK_FUNC.
2114 2018-05-13  Bruno Haible  <bruno@clisp.org>
2116         grantpt: Fix compilation error on Android.
2117         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Use AC_LINK_IFELSE instead of
2118         AC_CHECK_FUNC.
2120 2018-05-13  Bruno Haible  <bruno@clisp.org>
2122         stdioext: Fix compilation errors with newer Android headers.
2123         * lib/stdio-impl.h (fp_, fp_ub): Define differently for Android.
2124         (__SLBF, __SNBF, __SRD, __SWR, __SRW, __SEOF, __SERR, __SOFF): Define
2125         fallbacks for Android.
2126         * lib/fpending.c: Update comments.
2127         * lib/fpurge.c: Likewise.
2128         * lib/freadable.h: Likewise.
2129         * lib/freadable.c: Likewise.
2130         * lib/freadahead.c: Likewise.
2131         * lib/freading.h: Likewise.
2132         * lib/freadptr.c: Likewise.
2133         * lib/fseterr.c: Likewise.
2134         * lib/fwritable.h: Likewise.
2135         * lib/fwritable.c: Likewise.
2136         * lib/fwriting.h: Likewise.
2137         * lib/fwriting.c: Likewise.
2139 2018-05-13  Bruno Haible  <bruno@clisp.org>
2141         doc: Add info about Android versions 2.0 to 8.1.
2142         * doc/**/*.texi: Add info about functions in all released versions of
2143         Bionic.
2145 2018-05-12  Bruno Haible  <bruno@clisp.org>
2147         fseeko: On mingw, don't use the hidden function _fseeki64.
2148         Reported by Eli Zaretskii <eliz@gnu.org>.
2149         * m4/fseeko.m4 (gl_PREREQ_FSEEKO): Test whether _fseeki64 is declared.
2150         * lib/fseeko.c (fseeko): Use _fseeki64 only if it is declared.
2152 2018-05-12  Bruno Haible  <bruno@clisp.org>
2154         glob: Choose 'dirent_type' in a way that works better on mingw.
2155         Reported and suggested by Eli Zaretskii <eliz@gnu.org>.
2156         * lib/glob.c (dirent_type): Define as uint_fast32_t.
2158 2018-05-12  Bruno Haible  <bruno@clisp.org>
2160         execute, spawn-pipe: Avoid warning about redefining 'close'.
2161         Reported by Eli Zaretskii <eliz@gnu.org>.
2162         * lib/execute.c: Undefine 'close' before redefining it.
2163         * lib/spawn-pipe.c: Likewise.
2165 2018-05-12  Bruno Haible  <bruno@clisp.org>
2167         nanosleep: Avoid test failure on mingw when it has nanosleep.
2168         Reported by Eli Zaretskii <eliz@gnu.org>.
2169         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check whether alarm() exists.
2170         If it does not exist, use a simpler test program that does not call
2171         alarm().
2173 2018-05-10  Bruno Haible  <bruno@clisp.org>
2175         lock, cond, thread, tls: Use a different symbol as libpthread witness.
2176         Reported by Devin Hussey <husseydevin@gmail.com>.
2177         Based on a patch by Paul Eggert.
2178         * lib/glthread/lock.h (pthread_in_use): Use 'pthread_mutexattr_gettype'
2179         as witness of libpthread.
2180         * lib/glthread/cond.h (pthread_in_use): Likewise.
2181         * lib/glthread/thread.h (pthread_in_use): Likewise.
2182         * lib/glthread/tls.h (pthread_in_use): Likewise.
2184 2018-05-10  Bruno Haible  <bruno@clisp.org>
2186         cond tests: Fix compilation error on Solaris.
2187         * tests/test-cond.c: Include <unistd.h> before defining 'yield' as a
2188         macro.
2190 2018-05-10  Bruno Haible  <bruno@clisp.org>
2192         doc: Add partial info about Android 4.3.
2193         * doc/*-functions/*.texi: Add info about functions that were added
2194         to Bionic between Android 4.3 and Android 9.0.
2196 2018-05-10  Bruno Haible  <bruno@clisp.org>
2198         doc: Add info about Android 9.0.
2199         * doc/**/*.texi: Add info about functions and headers in Bionic from
2200         Android 9.0.
2202 2018-05-09  Paul Eggert  <eggert@cs.ucla.edu>
2204         af_alg: fix my typo in afalg_buffer
2205         * lib/af_alg.c (afalg_buffer): Fix typo I recently introduced.
2206         (afalg_stream): Simplify and avoid the need for a runtime test
2207         at the end.
2209         af_alg: recover better from crypto failures
2210         * lib/af_alg.c (afalg_stream): Recover from crypto failures if the
2211         input stream is seekable, by repositioning the stream back to
2212         where it was, possibly by just calling sendfile with an offset
2213         arg.  This lets us return -EAFNOSUPPORT instead of -EIO in some
2214         cases, which lets our callers try again with user-mode code.
2215         * modules/crypto/af_alg (Depends-on): Depend on fseeko and ftello
2216         instead of on fflush and lseek.
2218         af_alg: distiguish I/O errors better
2219         * lib/af_alg.c (afalg_buffer, afalg_stream): Return -EAFNOSUPPORT,
2220         not -EIO, if it’s OK for the caller to try again with user-mode code.
2221         (afalg_stream) [!_WIN32 || __CYGWIN__]: Return -EIO (not possibly
2222         some other error number) if fflush fails, as the caller should not
2223         try again that case.
2225         af_alg: avoid gotos
2226         * lib/af_alg.c (afalg_buffer, afalg_stream): Rewrite to avoid
2227         gotos, as they were a source of unreliability and made the code a
2228         bit harder to follow.
2230         af_alg: don’t leak file descriptors into children
2231         * lib/af_alg.c (alg_socket): Use SOCK_CLOEXEC when creating sockets.
2232         This code should be compiled only on recent GNU/Linux platforms
2233         so we shouldn’t have to also depend on the accept4 module.
2235         af_alg: coalesce socket creation
2236         * lib/af_alg.c (alg_socket): New function.
2237         (afalg_buffer, afalg_stream): Use it.  This avoids some
2238         code duplication and gotos.
2240         af_alg: fix file descriptor leak
2241         * lib/af_alg.c (afalg_stream): Close leak.
2243         af_alg: Pacify --enable-gcc-warnings on GCC 8
2244         * lib/af_alg.c (afalg_buffer, afalg_stream): Reorder local decls
2245         and checking to pacify gcc -Wjump-misses-init on GCC 8.
2247 2018-05-07  Paul Eggert  <eggert@cs.ucla.edu>
2249         af_alg: Pacify --enable-gcc-warnings
2250         Problem reported by Assaf Gordon in:
2251         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00041.html
2252         * lib/af_alg.c (afalg_buffer): Move local decls to pacify
2253         gcc -Wjump-misses-init.
2254         * lib/sha512.c (shaxxx_stream): Now static.
2256 2018-05-06  Bruno Haible  <bruno@clisp.org>
2258         af_alg: Add ability to use Linux kernel crypto API on data in memory.
2259         * lib/af_alg.h (afalg_buffer): New declaration.
2260         * lib/af_alg.c (afalg_buffer): New function.
2262 2018-05-06  Bruno Haible  <bruno@clisp.org>
2264         af_alg: Avoid warnings.
2265         * lib/af_alg.h (afalg_stream): Mark fallback declaration as inline.
2266         * m4/af_alg.m4 (gl_AF_ALG): Require AC_C_INLINE.
2268 2018-05-06  Bruno Haible  <bruno@clisp.org>
2270         crypto/{md5,sha1,sha256,sha512} tests: Add benchmarks.
2271         * tests/bench-digest.h: New file.
2272         * tests/bench-md5.c: New file.
2273         * tests/bench-sha1.c: New file.
2274         * tests/bench-sha224.c: New file.
2275         * tests/bench-sha256.c: New file.
2276         * tests/bench-sha384.c: New file.
2277         * tests/bench-sha512.c: New file.
2278         * modules/crypto/md5-tests (Files): Add tests/bench-md5.c,
2279         tests/bench-digest.h.
2280         (Depends-on): Add getrusage, gettimeofday.
2281         (Makefile.am): Add variables to build bench-md5.
2282         * modules/crypto/sha1-tests (Files): Add tests/bench-sha1.c,
2283         tests/bench-digest.h.
2284         (Depends-on): Add getrusage, gettimeofday.
2285         (Makefile.am): Add variables to build bench-sha1.
2286         * modules/crypto/sha256-tests (Files): Add tests/bench-sha224.c,
2287         tests/bench-sha256.c, tests/bench-digest.h.
2288         (Depends-on): Add getrusage, gettimeofday.
2289         (Makefile.am): Add variables to build bench-sha224, bench-sha256.
2290         * modules/crypto/sha512-tests (Files): Add tests/bench-sha384.c,
2291         tests/bench-sha512.c, tests/bench-digest.h.
2292         (Depends-on): Add getrusage, gettimeofday.
2293         (Makefile.am): Add variables to build bench-sha384, bench-sha512.
2295 2018-05-06  Bruno Haible  <bruno@clisp.org>
2297         af_alg: Fix a resource leak.
2298         * lib/af_alg.c (afalg_stream): Close socket before returning -EINVAL.
2299         New local variable 'result'.
2301 2018-05-06  Bruno Haible  <bruno@clisp.org>
2303         af_alg: Fix bug with streams that are not at position 0.
2304         * lib/af_alg.c (afalg_stream): Before sendfile, invoke fflush. Don't
2305         assume that the stream is positioned at position 0.
2306         * lib/af_alg.h (afalg_stream): Mention restriction regarding the state
2307         of the stream.
2308         * lib/md5.h (md5_stream): Likewise.
2309         * lib/sha1.h (sha1_stream): Likewise.
2310         * lib/sha256.h (sha256_stream, sha224_stream): Likewise.
2311         * lib/sha512.h (sha512_stream, sha384_stream): Likewise.
2312         * modules/crypto/af_alg (Depends-on): Add fflush, lseek.
2314         crypto/{md5,sha1,sha256,sha512} tests: Enhance test.
2315         * tests/test-digest.h (test_digest_on_files): Add a test with a FILE
2316         stream that is not positioned at the beginning.
2318 2018-05-06  Bruno Haible  <bruno@clisp.org>
2320         af_alg: Add configure option to enable/disable use of Linux crypto API.
2321         Suggested by Assaf Gordon <assafgordon@gmail.com>.
2322         * m4/af_alg.m4 (gl_AF_ALG): Add AC_ARG_WITH invocation. Define C macro
2323         USE_LINUX_CRYPTO_API.
2324         * lib/af_alg.h: Test USE_LINUX_CRYPTO_API, not HAVE_LINUX_IF_ALG_H.
2325         * lib/af_alg.c: Likewise.
2327 2018-05-06  Bruno Haible  <bruno@clisp.org>
2329         Followup to 'af_alg: New module.'.
2330         * modules/crypto/md5 (Depends-on): Remove sys_socket, sys_stat.
2331         * modules/crypto/sha1 (Depends-on): Likewise.
2332         * modules/crypto/sha256 (Depends-on): Likewise.
2333         * modules/crypto/sha512 (Depends-on): Likewise.
2335 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
2337         crypto/{md5,sha1,sha256,sha512}: simplify
2338         * lib/md5.c (md5_stream):
2339         * lib/sha1.c (sha1_stream):
2340         * lib/sha256.c (shaxxx_stream):
2341         Simplify, partly by assuming C99.
2342         * lib/sha256.c (shaxxx_stream):
2343         New function, which implements both sha256 and sha224.
2344         Simplify, partly by assuming C99.
2345         (sha256_stream, sha224_stream):
2346         Use it to avoid code duplication, removing a FIXME.
2347         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
2348         Likewise.
2350         af_alg: Improve comments.
2351         * lib/af_alg.h: Use imperatives and tighten up wording.
2353 2018-05-05  Bruno Haible  <bruno@clisp.org>
2355         af_alg: Improve comments.
2356         * lib/af_alg.c (afalg_stream): Improve comment about kernel bug.
2358 2018-05-05  Bruno Haible  <bruno@clisp.org>
2360         af_alg: New module.
2361         * lib/af_alg.h: Test HAVE_* macro through '#if', not '#ifdef'.
2362         * lib/af_alg.c: Include "af_alg.h" before the other header files.
2363         * lib/md5.c: Include "af_alg.h" unconditionally.
2364         (md5_stream): Invoke afalg_stream unconditionally.
2365         * lib/sha1.c: Include "af_alg.h" unconditionally.
2366         (sha1_stream): Invoke afalg_stream unconditionally.
2367         * lib/sha256.c: Include "af_alg.h" unconditionally.
2368         (sha256_stream, sha224_stream): Invoke afalg_stream unconditionally.
2369         * lib/sha512.c: Include "af_alg.h" unconditionally.
2370         (sha512_stream, sha384_stream): Invoke afalg_stream unconditionally.
2371         * m4/af_alg.m4: Renamed from m4/linux-if-alg.m4.
2372         (gl_AF_ALG): Renamed from gl_LINUX_IF_ALG_H.
2373         * modules/crypto/af_alg: New file.
2374         * modules/crypto/md5 (Files): Remove files that are now in the
2375         'crypto/af_alg' module.
2376         (Depends-on): Add crypto/af_alg.
2377         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
2378         (Makefile.am): Don't mention af_alg.c here.
2379         * modules/crypto/sha1 (Files): Remove files that are now in the
2380         'crypto/af_alg' module.
2381         (Depends-on): Add crypto/af_alg.
2382         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
2383         (Makefile.am): Don't mention af_alg.c here.
2384         * modules/crypto/sha256 (Files): Remove files that are now in the
2385         'crypto/af_alg' module.
2386         (Depends-on): Add crypto/af_alg.
2387         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
2388         (Makefile.am): Don't mention af_alg.c here.
2389         * modules/crypto/sha512 (Files): Remove files that are now in the
2390         'crypto/af_alg' module.
2391         (Depends-on): Add crypto/af_alg.
2392         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
2393         (Makefile.am): Don't mention af_alg.c here.
2395 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
2397         crypto tests: pacify GCC
2398         * tests/test-digest.h (test_digest_on_files):
2399         Don’t assume digest size fits in int (!).
2401         af_alg: minor style improvements
2402         * lib/af_alg.c (afalg_stream): Prefer C99 style
2403         decl-after-statement, since we’re already assuming C99.  Clarify
2404         by strengthening the bind test and omit unnecessary assignment.
2406 2018-05-05  Bruno Haible  <bruno@clisp.org>
2408         af_alg: Fix bug on empty files.
2409         * lib/af_alg.c (afalg_stream): Ignore the kernel's result if the input
2410         stream is empty.
2412 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
2414         sys-limits.h: new file for crypto and safe I/O
2415         * lib/af_alg.c: Include sys-limits.h.
2416         (MAX_RW_COUNT): Remove.  Use replaced by SYS_BUFSIZE_MAX.
2417         (afalg_stream): Also reject negative sizes for sendfile; they
2418         should not happen and the code is a bit cleaner and faster this way.
2419         * lib/safe-read.c: Include sys-limits.h.
2420         (BUGGY_READ_MAXIMUM): Remove.  All uses replaced by SYS_BUFSIZE_MAX.
2421         * lib/sys-limits.h: New file, with values and commentary derived
2422         from the old safe-read.c and from GNU Emacs sysdep.c.
2423         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
2424         * modules/crypto/sha512, modules/safe-read, modules/safe-write:
2425         Add lib/sys-limits.h to Files section.
2427 2018-05-05  Bruno Haible  <bruno@clisp.org>
2429         af_alg: Improve function signature.
2430         * lib/af_alg.h (afalg_stream): Swap second and third argument.
2431         * lib/af_alg.c (afalg_stream): Likewise.
2432         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c: Callers changed.
2434 2018-05-05  Bruno Haible  <bruno@clisp.org>
2436         crypto/{md5,sha1,sha256,sha512}: Fix compilation error (S_TYPEISTMO).
2437         * modules/crypto/md5 (Depends-on): Add 'sys_stat'.
2438         * modules/crypto/sha1 (Depends-on): Likewise.
2439         * modules/crypto/sha256 (Depends-on): Likewise.
2440         * modules/crypto/sha512 (Depends-on): Likewise.
2442 2018-05-05  Bruno Haible  <bruno@clisp.org>
2444         crypto/{md5,sha1,sha256,sha512}: Fix module description.
2445         * modules/crypto/md5 (Depends-on): Add 'sys_socket'.
2446         * modules/crypto/sha1 (Depends-on): Likewise.
2447         * modules/crypto/sha256 (Depends-on): Likewise.
2448         * modules/crypto/sha512 (Depends-on): Likewise.
2450 2018-05-05  Bruno Haible  <bruno@clisp.org>
2452         af_alg: Add documentation.
2453         * lib/af_alg.h: Add comments.
2455 2018-05-05  Bruno Haible  <bruno@clisp.org>
2457         sha512: Add tests.
2458         * tests/test-sha512.c: New file.
2459         * modules/crypto/sha512-tests: New file.
2461 2018-05-05  Bruno Haible  <bruno@clisp.org>
2463         sha256: Add tests.
2464         * tests/test-sha256.c: New file.
2465         * modules/crypto/sha256-tests: New file.
2467 2018-05-05  Bruno Haible  <bruno@clisp.org>
2469         sha1 tests: Add test for sha1_stream.
2470         * tests/test-sha1.c: Include test-digest.h.
2471         (main): Invoke test_digest_on_files on 'sha1_stream'.
2472         * modules/crypto/sha1-tests (Files): Add tests/test-digest.h.
2474 2018-05-05  Bruno Haible  <bruno@clisp.org>
2476         md5 tests: Add test for md5_stream.
2477         * tests/test-digest.h: New file.
2478         * tests/test-md5.c: Include test-digest.h.
2479         (main): Invoke test_digest_on_files on 'md5_stream'.
2480         * modules/crypto/md5-tests (Files): Add tests/test-digest.h.
2482 2018-04-28  Matteo Croce  <mcroce@redhat.com>
2484         md5sum: Use AF_ALG when available.
2485         * lib/md5.c: Include af_alg.h.
2486         (md5_stream): Use afalg_stream when available.
2487         * modules/crypto/md5 (Files): Add the af_alg files.
2488         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
2489         (Makefile.am): Add af_alg.c.
2491 2018-04-28  Matteo Croce  <mcroce@redhat.com>
2493         sha512sum: Use AF_ALG when available.
2494         * lib/sha512.c: Include af_alg.h.
2495         (sha512_stream, sha384_stream): Use afalg_stream when available.
2496         * modules/crypto/sha512 (Files): Add the af_alg files.
2497         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
2498         (Makefile.am): Add af_alg.c.
2500 2018-04-28  Matteo Croce  <mcroce@redhat.com>
2502         sha256sum: Use AF_ALG when available.
2503         * lib/sha256.c: Include af_alg.h.
2504         (sha256_stream, sha224_stream): Use afalg_stream when available.
2505         * modules/crypto/sha256 (Files): Add the af_alg files.
2506         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
2507         (Makefile.am): Add af_alg.c.
2509 2018-04-28  Matteo Croce  <mcroce@redhat.com>
2511         sha1sum: Use AF_ALG when available.
2512         * lib/af_alg.h: New file.
2513         * lib/af_alg.c: New file.
2514         * lib/sha1.c: Include af_alg.h.
2515         (sha1_stream): Use afalg_stream when available.
2516         * m4/linux-if-alg.m4: New file.
2517         * modules/crypto/sha1 (Files): Add the new files.
2518         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
2519         (Makefile.am): Add af_alg.c.
2521 2018-05-05  Bruno Haible  <bruno@clisp.org>
2523         all: Replace more http URLs by https URLs.
2524         * lib/localename.c: Use https: URL.
2525         * lib/timespec.h: Likewise.
2527 2018-05-03  Paul Eggert  <eggert@cs.ucla.edu>
2529         maint: port more modules to GCC 8
2530         * lib/dirname.h (base_name):
2531         * lib/exclude.h (new_exclude):
2532         * lib/xstrndup.h (xstrndup):
2533         Add malloc attribute.
2534         * lib/readutmp.c: Pacify GCC 8 about safe use of strncpy.
2535         * lib/sig-handler.h (get_handler) [SA_SIGINFO]: Simplify.
2536         This pacifies GCC 8.
2537         * m4/gnulib-common.m4 (gl_COMMON_BODY):
2538         Define _GL_ATTRIBUTE_MALLOC here.  All other definitions removed.
2540 2018-05-03  Bruno Haible  <bruno@clisp.org>
2542         Simplify code. Drop support for Borland C++ on Windows.
2543         Reported by Gisle Vanem <gisle.vanem@gmail.com>.
2544         * lib/accept4.c: Simplify 'defined _WIN32 || defined __WIN32__' to just
2545         'defined _WIN32'.
2546         * lib/canonicalize-lgpl.c: Likewise.
2547         * lib/classpath.c: Likewise.
2548         * lib/clean-temp.c: Likewise.
2549         * lib/csharpexec.c: Likewise.
2550         * lib/ctime.c: Likewise.
2551         * lib/dosname.h: Likewise.
2552         * lib/dup2.c: Likewise.
2553         * lib/errno.in.h: Likewise.
2554         * lib/error.c: Likewise.
2555         * lib/euidaccess.c: Likewise.
2556         * lib/execute.c: Likewise.
2557         * lib/fcntl.in.h: Likewise.
2558         * lib/fcntl.c: Likewise.
2559         * lib/filename.h: Likewise.
2560         * lib/findprog.c: Likewise.
2561         * lib/flock.c: Likewise.
2562         * lib/fopen.c: Likewise.
2563         * lib/freopen.c: Likewise.
2564         * lib/fstat.c: Likewise.
2565         * lib/fsync.c: Likewise.
2566         * lib/gc-gnulib.c: Likewise.
2567         * lib/get-rusage-data.c: Likewise.
2568         * lib/getaddrinfo.c: Likewise.
2569         * lib/getdelim.c: Likewise.
2570         * lib/getdtablesize.c: Likewise.
2571         * lib/gethostname.c: Likewise.
2572         * lib/getlogin.c: Likewise.
2573         * lib/getlogin_r.c: Likewise.
2574         * lib/getopt.c: Likewise.
2575         * lib/getpagesize.c: Likewise.
2576         * lib/getpass.c: Likewise.
2577         * lib/getrusage.c: Likewise.
2578         * lib/gettimeofday.c: Likewise.
2579         * lib/glob.c: Likewise.
2580         * lib/inttypes.in.h: Likewise.
2581         * lib/isapipe.c: Likewise.
2582         * lib/javaexec.c: Likewise.
2583         * lib/link.c: Likewise.
2584         * lib/localcharset.c: Likewise.
2585         * lib/localename.h: Likewise.
2586         * lib/localename.c: Likewise.
2587         * lib/localtime.c: Likewise.
2588         * lib/lseek.c: Likewise.
2589         * lib/mbsinit.c: Likewise.
2590         * lib/mkdir.c: Likewise.
2591         * lib/msvc-nothrow.h: Likewise.
2592         * lib/nanosleep.c: Likewise.
2593         * lib/nl_langinfo.c: Likewise.
2594         * lib/nonblocking.c: Likewise.
2595         * lib/nproc.c: Likewise.
2596         * lib/open.c: Likewise.
2597         * lib/openpty.c: Likewise.
2598         * lib/pathmax.h: Likewise.
2599         * lib/pipe-filter-aux.c: Likewise.
2600         * lib/pipe-filter-gi.c: Likewise.
2601         * lib/pipe-filter-ii.c: Likewise.
2602         * lib/pipe.c: Likewise.
2603         * lib/pipe2.c: Likewise.
2604         * lib/poll.c: Likewise.
2605         * lib/popen.c: Likewise.
2606         * lib/posix_openpt.c: Likewise.
2607         * lib/printf-parse.c: Likewise.
2608         * lib/progreloc.c: Likewise.
2609         * lib/putenv.c: Likewise.
2610         * lib/read.c: Likewise.
2611         * lib/relocatable.c: Likewise.
2612         * lib/rename.c: Likewise.
2613         * lib/same-inode.h: Likewise.
2614         * lib/secure_getenv.c: Likewise.
2615         * lib/select.c: Likewise.
2616         * lib/sethostname.c: Likewise.
2617         * lib/setlocale.c: Likewise.
2618         * lib/sigaction.c: Likewise.
2619         * lib/sigprocmask.c: Likewise.
2620         * lib/sleep.c: Likewise.
2621         * lib/spawn-pipe.h: Likewise.
2622         * lib/spawn-pipe.c: Likewise.
2623         * lib/spawni.c: Likewise.
2624         * lib/stat-time.h: Likewise.
2625         * lib/stat-w32.c: Likewise.
2626         * lib/stat.c: Likewise.
2627         * lib/stdio.in.h: Likewise.
2628         * lib/stdio-impl.h: Likewise.
2629         * lib/stdio-read.c: Likewise.
2630         * lib/stdio-write.c: Likewise.
2631         * lib/stdlib.in.h: Likewise.
2632         * lib/strerror_r.c: Likewise.
2633         * lib/strftime-fixes.c: Likewise.
2634         * lib/sys_stat.in.h: Likewise.
2635         * lib/sys_types.in.h: Likewise.
2636         * lib/sys_wait.in.h : Likewise.
2637         * lib/system-quote.h: Likewise.
2638         * lib/system-quote.c: Likewise.
2639         * lib/tmpdir.c: Likewise.
2640         * lib/tzset.c: Likewise.
2641         * lib/uname.c: Likewise.
2642         * lib/unistd.in.h: Likewise.
2643         * lib/utime.in.h: Likewise.
2644         * lib/utime.c: Likewise.
2645         * lib/utimecmp.c: Likewise.
2646         * lib/utimens.c: Likewise.
2647         * lib/vasnprintf.c: Likewise.
2648         * lib/vma-iter.h: Likewise.
2649         * lib/vma-iter.c: Likewise.
2650         * lib/wait-process.c: Likewise.
2651         * lib/wcsftime.c: Likewise.
2652         * lib/wctype.in.h: Likewise.
2653         * lib/write.c: Likewise.
2654         * tests/nap.h: Likewise.
2655         * tests/test-cloexec.c: Likewise.
2656         * tests/test-dup-safer.c: Likewise.
2657         * tests/test-dup2.c: Likewise.
2658         * tests/test-dup3.c: Likewise.
2659         * tests/test-fcntl.c: Likewise.
2660         * tests/test-get-rusage-data.c: Likewise.
2661         * tests/test-getaddrinfo.c: Likewise.
2662         * tests/test-getlogin.h: Likewise.
2663         * tests/test-isatty.c: Likewise.
2664         * tests/test-localename.c: Likewise.
2665         * tests/test-mbrtowc-w32.c: Likewise.
2666         * tests/test-nonblocking.c: Likewise.
2667         * tests/test-nonblocking-pipe-main.c: Likewise.
2668         * tests/test-nonblocking-socket-main.c: Likewise.
2669         * tests/test-nonblocking-socket.h: Likewise.
2670         * tests/test-pipe.c: Likewise.
2671         * tests/test-pipe2.c: Likewise.
2672         * tests/test-poll.c: Likewise.
2673         * tests/test-pthread_sigmask1.c: Likewise.
2674         * tests/test-select.h: Likewise.
2675         * tests/test-sethostname2.c: Likewise.
2676         * tests/test-sigprocmask.c: Likewise.
2677         * tests/test-spawn-pipe-child.c: Likewise.
2678         * tests/test-stat-time.c: Likewise.
2679         * tests/test-system-quote-main.c: Likewise.
2680         * tests/test-utimens-common.h: Likewise.
2681         * tests/test-wcrtomb-w32.c: Likewise.
2682         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
2683         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
2684         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
2685         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
2686         * m4/locale-ar.m4 (gt_LOCALE_AR): Likewise.
2687         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
2688         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
2689         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
2690         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
2691         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
2692         * m4/nocrash.m4 (GL_NOCRASH): Likewise.
2693         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET): Likewise.
2694         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
2695         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
2696         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Likewise.
2697         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
2699 2018-05-02  Bruno Haible  <bruno@clisp.org>
2701         localename: Fix test failures on mingw.
2702         * lib/localename.c (gl_locale_name_thread): Remove code specific to
2703         native Windows.
2704         (gl_locale_name_posix): Move code specific to native Windows here.
2705         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
2706         Accept result without charset suffix, as it appears on mingw.
2708 2018-04-28  Paul Smith  <psmith@gnu.org>
2710         bootstrap: Avoid gnulib operations if not needed
2711         * build-aux/bootstrap: Remove unused variable gnulib_mk.
2712         Set $gnulib_extra_files early so it can be overridden in .conf.
2713         Remove redundant --import flag from $gnulib_tool_options.
2714         Set $use_gnulib to false if no gnulib modules or files are needed.
2715         If $use_gnulib is false, don't do anything related to gnulib.
2716         A lot of this is just whitespace (indentation) changes.
2718 2018-04-27  Paul Eggert  <eggert@cs.ucla.edu>
2720         manywarnings: port to GCC 8.0
2721         * build-aux/gcc-warning.spec: Add -Wcatch-value,
2722         -Wclass-memaccess, -Wdo-subscript, -Wextra-semi.  Adjust to the
2723         fact that the GCC help message now mentions operands for
2724         -Warray-bounds, -Wformat, -Wformat-overflow, -Wformat-truncation,
2725         -Wimplicit-fallthrough, -Wplacement-new, -Wshift-overflow,
2726         -Wstrict-aliasing, -Wstrict-overflow, -Wstringop-overflow,
2727         and -Wunused-const-variable.
2728         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wattribute-alias,
2729         -Wcast-align=strict, -Wcast-function-type, -Wif-not-aligned,
2730         -Wmissing-attributes, -Wmultistatement-macros,
2731         -Wpacked-not-aligned, -Wsizeof-pointer-div, -Wstringop-truncation,
2732         -Wsuggest-attribute=cold, -Wsuggest-attribute=malloc.
2734 2018-04-24  Bruno Haible  <bruno@clisp.org>
2736         sys_socket: Make SO_REUSEPORT available across platforms.
2737         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2738         * lib/sys_socket.in.h (SO_REUSEPORT): New macro.
2739         * doc/posix-headers/sys_socket.texi: Mention the issue.
2740         * tests/test-poll.c (SO_REUSEPORT): Remove.
2741         * tests/test-select.h: Include <sys/socket.h>.
2742         (SO_REUSEPORT): Remove.
2743         * modules/select-tests (Depends-on): Add 'sys_socket'.
2745 2018-04-21  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
2747         localcharset: short-circuit the search for an alias on a Mac
2748         * lib/localcharset.c (get_charset_aliases): Add a tautological
2749         UTF-8 entry to speed up the search for this case.
2750         Most machines default to a UTF-8 locale nowadays, so begin the
2751         list of aliases with a dummy UTF-8 entry so it will be found
2752         immediately and a time-consuming search through the rest of
2753         the list is avoided.
2755 2018-04-11  Paul Eggert  <eggert@cs.ucla.edu>
2757         fts: add comment
2758         * lib/fts.c (fts_build): Explain why ==, not >.
2759         See remark by Bernhard Voelker in:
2760         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00041.html
2762         fts: fix bug in find across filesystems
2763         This fixes a bug I introduced last summer.
2764         Problem reported by Kamil Dudka in:
2765         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00033.html
2766         * lib/fts.c (filesystem_type, dirent_inode_sort_may_be_useful)
2767         (leaf_optimization):
2768         New arg for file descriptor.  All callers changed.
2769         (fts_build): Check for whether inodes should be sorted
2770         before closing the directory.
2772 2018-04-07  Bruno Haible  <bruno@clisp.org>
2774         unicase/u*-context: Fix link errors with libunistring <= 0.9.9.
2775         Reported by Genki Sky <sky@genki.is>.
2776         * modules/unicase/u8-prefix-context (configure.ac): Require libunistring
2777         version 0.9.10 or newer.
2778         * modules/unicase/u8-suffix-context (configure.ac): Likewise.
2779         * modules/unicase/u16-prefix-context (configure.ac): Likewise.
2780         * modules/unicase/u16-suffix-context (configure.ac): Likewise.
2781         * modules/unicase/u32-prefix-context (configure.ac): Likewise.
2782         * modules/unicase/u32-suffix-context (configure.ac): Likewise.
2784 2018-04-07  Bruno Haible  <bruno@clisp.org>
2786         execute: Update comment.
2787         * lib/execute.h (execute): Refer to spawn-pipe.h, not pipe.h.
2789 2018-04-05  Paul Eggert  <eggert@cs.ucla.edu>
2791         fts: treat CIFS like NFS
2792         Problem reported by Kamil Dudka in:
2793         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00015.html
2794         * lib/fts.c (S_MAGIC_CIFS): New macro.
2795         (dirent_inode_sort_may_be_useful, leaf_optimization):
2796         Treat CIFS like NFS.
2798 2018-03-28  Bruno Haible  <bruno@clisp.org>
2800         c-stack: Fix possible build failure on some platforms.
2801         * lib/c-stack.c (die): Define whenever this function is referenced.
2803 2018-03-28  Paul Eggert  <eggert@cs.ucla.edu>
2805         time_rz: fix workaround for Mac OS X 10.6 infloop
2806         Problems reported by Charles A. Roelli (Bug#27736#117).
2807         * m4/time_rz.m4 (gl_TIME_RZ): Use a slightly different timestamp.
2808         Also, discard output, which clutters the 'configure' log.
2810 2018-03-27  Paul Eggert  <eggert@cs.ucla.edu>
2812         havelib: port to Solaris 10 /bin/sh
2813         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Use 'test ! EXPR'
2814         instead of '! test EXPR'.
2816 2018-03-26  Paul Eggert  <eggert@cs.ucla.edu>
2818         time_rz: work around Mac OS X 10.6 infloop
2819         * doc/posix-functions/localtime.texi:
2820         * doc/posix-functions/localtime_r.texi: Mention the bug.
2821         * lib/time_rz.c (localtime_rz): Work around the bug.  It’d be
2822         better to fix localtime and localtime_r instead, but that would be
2823         more work and is not needed to fix the Emacs problem.
2824         * m4/time_rz.m4 (gl_TIME_RZ): Detect the bug.
2826 2018-03-24  Jim Meyering  <meyering@fb.com>
2828         test-version-etc.sh: don't use diff directly: use init.sh's compare
2829         We'd rather not sacrifice readable "diff -u" output even for
2830         "diff -c" output (not supported by busybox) or for even less
2831         readable ed-style "diff" output.  So use init.sh's compare function
2832         * tests/test-version-etc.sh: Source init.sh and add "." to path.
2833         Remove "./" from invocation of test-version-etc, so we use path.
2834         And s/diff/compare/.
2835         * modules/version-etc-tests (Depends-on): Add test-framework-sh,
2836         to get init.sh.
2837         Prompted by Eric Blake's comments in
2838         https://lists.gnu.org/r/sed-devel/2018-03/msg00015.html
2840 2018-03-24  Bruno Haible  <bruno@clisp.org>
2842         javacomp-script, javacomp: Add support for Java 10.
2843         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 10 and
2844         target-version 10.
2845         * lib/javaversion.h: Update comments.
2846         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
2847         source_version_index, get_goodcode_snippet, get_failcode_snippet,
2848         TARGET_VERSION_BOUND, target_version_index,
2849         corresponding_classfile_version): Accept source_version 10 and
2850         target_version 10.
2851         * lib/javacomp.h: Update comments accordingly.
2853 2018-03-24  Bruno Haible  <bruno@clisp.org>
2855         javacomp-script, javacomp: Update comments.
2856         * m4/javacomp.m4: Update comments regarding gcj.
2857         * lib/javacomp.h: Likewise.
2859 2018-03-24  Bruno Haible  <bruno@clisp.org>
2861         javacomp-script, javacomp: Fix support for Java 7, 8, 9.
2862         * lib/javaversion.h: Update comments.
2863         * lib/javacomp.h: Likewise.
2864         * lib/javacomp.c (default_target_version, source_version_index,
2865         get_goodcode_snippet, get_failcode_snippet): Recognize "9" instead of
2866         "1.9".
2867         (TARGET_VERSION_BOUND): Bump to 9.
2868         (target_version_index, corresponding_classfile_version): Recognize "9"
2869         instead of "1.9".
2870         (get_source_version_for_javac): New function.
2871         (is_envjavac_nongcj_usable, is_javac_usable): Add
2872         source_version_for_javac argument.
2873         (compile_java_class): Determine and pass source_version_for_javac.
2874         * m4/javacomp.m4: Recognize version '9' instead of '1.9'. When invoking
2875         $JAVAC or javac, pass '-source 1.6' instead of '-source 1.5' when
2876         appropriate.
2878 2018-03-23  Jim Meyering  <meyering@fb.com>
2880         test-version-etc.sh: port to diff without -c
2881         * tests/test-version-etc.sh: Don't use diff's -c option.
2882         This caused spurious test failure on Alpine Linux, which
2883         uses busybox's diff. Reported by Assaf Gordon in
2884         https://lists.gnu.org/r/sed-devel/2018-03/msg00013.html
2886 2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>
2888         c-stack: port to recent GCC build
2889         Problem reported by The Fireplace (Bug#30913).
2890         * lib/c-stack.c (die): Define only if used.
2892 2018-03-20  Bruno Haible  <bruno@clisp.org>
2894         euidaccess: Port to native Windows.
2895         * lib/euidaccess.c (euidaccess): On native Windows, just use _access().
2896         * posix-modules (exclude_for_mingw): Remove 'euidaccess'.
2898 2018-03-19  Bruno Haible  <bruno@clisp.org>
2900         javacomp: Add support for Java 7, 8, 9.
2901         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
2902         source_version_index, get_goodcode_snippet, get_failcode_snippet,
2903         corresponding_classfile_version): Accept source_version 1,7, 1.8, 1.9
2904         and target_version 1,7, 1.8, 1.9.
2905         * lib/javacomp.h: Update comments accordingly.
2907 2018-03-19  Bruno Haible  <bruno@clisp.org>
2909         javacomp-script: Add support for Java 9.
2910         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.9 and
2911         target-version 1.9.
2913 2018-03-16  Bruno Haible  <bruno@clisp.org>
2915         glob: Don't compile replacements on recent glibc systems.
2916         * lib/glob.in.h: Use the usual idiom for the double-inclusion guard. If
2917         REPLACE_GLOB is 0, include the system's <glob.h> and use
2918         _GL_CXXALIAS_SYS.
2919         * m4/glob.m4 (gl_GLOB): Set REPLACE_GLOB instead of GLOB_H. Accept
2920         _GNU_GLOB_INTERFACE_VERSION 2 as well. Delete the file conf$$-globtest
2921         inside the AC_RUN_IFELSE block. Remove GL_GENERATE_GLOB_H conditional.
2922         * modules/glob (Dependencies): Test REPLACE_GLOB instead of GLOB_H.
2923         Remove snippet/warn-on-use.
2924         (configure.ac): Test REPLACE_GLOB instead of GLOB_H.
2925         (Makefile.am): Create glob.h always. Update list of substitutions in
2926         glob.h. Don't depend on $(WARN_ON_USE_H).
2928 2018-03-16  Bruno Haible  <bruno@clisp.org>
2930         glob: Fix link error on native Windows.
2931         * modules/glob (Depends-on): Add 'lstat'.
2933 2018-03-15  Bruno Haible  <bruno@clisp.org>
2935         glob: Fix compilation error in C++ mode.
2936         * lib/glob.in.h (_Restrict_): Define, like in regex.h and spawn.in.h.
2938 2018-03-15  Bruno Haible  <bruno@clisp.org>
2940         host-cpu-c-abi: Support for RISC-V CPU.
2941         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the various
2942         riscv32 and riscv64 ABIs.
2943         References:
2944         https://github.com/riscv/riscv-toolchain-conventions
2945         https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc/RISC-V-Options.html
2946         https://gnu-mcu-eclipse.github.io/toolchain/riscv/
2948 2018-03-08  Paul Eggert  <eggert@cs.ucla.edu>
2950         fflush: be more paranoid about libio.h change
2951         Suggested by Eli Zaretskii in:
2952         https://lists.gnu.org/r/emacs-devel/2018-03/msg00270.html
2953         * lib/fbufmode.c (fbufmode):
2954         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
2955         (disable_seek_optimization, rpl_fflush):
2956         * lib/fpending.c (__fpending):
2957         * lib/fpurge.c (fpurge):
2958         * lib/freadable.c (freadable):
2959         * lib/freadahead.c (freadahead):
2960         * lib/freading.c (freading):
2961         * lib/freadptr.c (freadptr):
2962         * lib/freadseek.c (freadptrinc):
2963         * lib/fseeko.c (fseeko):
2964         * lib/fseterr.c (fseterr):
2965         * lib/fwritable.c (fwritable):
2966         * lib/fwriting.c (fwriting):
2967         Look at _IO_ftrylockfile as well as at _IO_EOF_SEEN.
2969 2018-03-07  Paul Eggert  <eggert@cs.ucla.edu>
2971         maint: write-file-hooks -> before-save-hook
2972         write-file-hooks is obsolete since Emacs 22.1 (released June 2007) and
2973         it's time to use the recommended replacement.
2974         Problem reported by Glenn Morris in:
2975         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00008.html
2976         * build-aux/announce-gen, build-aux/bootstrap:
2977         * build-aux/do-release-commit-and-tag, build-aux/gendocs.sh:
2978         * build-aux/git-version-gen, build-aux/gitlog-to-changelog:
2979         * build-aux/gnu-web-doc-update, build-aux/gnupload:
2980         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
2981         * build-aux/update-copyright, build-aux/useless-if-before-free:
2982         * build-aux/vc-list-files:
2983         Update hook usage for files where Gnulib is the canonical source.
2985 2018-03-05  Paul Eggert  <eggert@cs.ucla.edu>
2987         binary-io: pacify gcc -Wunused-parameter
2988         Problem reported by Reuben Thomas in:
2989         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00005.html
2990         * lib/binary-io.h (__gl_setmode, __gl_setmode_check):
2991         Use _GL_UNUSED where appropriate.
2993         fflush: adjust to glibc 2.28 libio.h removal
2994         Problem reported by Daniel P. Berrangé in:
2995         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
2996         * lib/fbufmode.c (fbufmode):
2997         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
2998         (disable_seek_optimization, rpl_fflush):
2999         * lib/fpending.c (__fpending):
3000         * lib/fpurge.c (fpurge):
3001         * lib/freadable.c (freadable):
3002         * lib/freadahead.c (freadahead):
3003         * lib/freading.c (freading):
3004         * lib/freadptr.c (freadptr):
3005         * lib/freadseek.c (freadptrinc):
3006         * lib/fseeko.c (fseeko):
3007         * lib/fseterr.c (fseterr):
3008         * lib/fwritable.c (fwritable):
3009         * lib/fwriting.c (fwriting):
3010         Check _IO_EOF_SEEN instead of _IO_ftrylockfile.
3011         * lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]:
3012         Define if not already defined.
3014 2018-02-27  Paul Eggert  <eggert@cs.ucla.edu>
3016         environ: fix link error on 32-bit Cygwin
3017         Problem reported for GNU Emacs by Ken Brown in:
3018         https://lists.gnu.org/r/emacs-devel/2018-02/msg00765.html
3019         * lib/unistd.in.h (environ) [__i386__]: Do not redeclare.
3021 2018-02-24  Bruno Haible  <bruno@clisp.org>
3023         mbrtowc tests: Fix regression on glibc.
3024         Reported by Bernhard Voelker.
3025         * tests/test-mbrtowc.c (main): Fix expected value of wc.
3027 2018-02-24  Bruno Haible  <bruno@clisp.org>
3029         striconveha, uniconv/*: Avoid test failures on musl libc.
3030         * tests/iconvsupport.c: New file.
3031         * tests/test-striconveha.c (main): Skip autodetect_jp tests if iconv()
3032         does not support the ISO-2022-JP-2 encoding.
3033         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
3034         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
3035         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
3036         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
3037         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
3038         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
3039         * modules/striconveha-tests (Files): Add tests/iconvsupport.c.
3040         (Makefile.am): Link test-striconveha with iconvsupport.o.
3041         * modules/uniconv/u8-conv-from-enc-tests (Files): Add
3042         tests/iconvsupport.c.
3043         (Makefile.am): Link test-u8-conv-from-enc with iconvsupport.o.
3044         * modules/uniconv/u8-strconv-from-enc-tests (Files): Add
3045         tests/iconvsupport.c.
3046         (Makefile.am): Link test-u8-strconv-from-enc with iconvsupport.o.
3047         * modules/uniconv/u16-conv-from-enc-tests (Files): Add
3048         tests/iconvsupport.c.
3049         (Makefile.am): Link test-u16-conv-from-enc with iconvsupport.o.
3050         * modules/uniconv/u16-strconv-from-enc-tests (Files): Add
3051         tests/iconvsupport.c.
3052         (Makefile.am): Link test-u16-strconv-from-enc with iconvsupport.o.
3053         * modules/uniconv/u32-conv-from-enc-tests (Files): Add
3054         tests/iconvsupport.c.
3055         (Makefile.am): Link test-u32-conv-from-enc with iconvsupport.o.
3056         * modules/uniconv/u32-strconv-from-enc-tests (Files): Add
3057         tests/iconvsupport.c.
3058         (Makefile.am): Link test-u32-strconv-from-enc with iconvsupport.o.
3060 2018-02-24  Bruno Haible  <bruno@clisp.org>
3062         localename: Add support for musl libc.
3063         * m4/localename.m4 (gl_LOCALENAME): Check for <langinfo.h>.
3064         * lib/localename.c (gl_locale_name_thread_unsafe): Use NL_LOCALE_NAME
3065         on Linux platforms which define NL_LOCALE_NAME.
3067 2018-02-24  Bruno Haible  <bruno@clisp.org>
3069         mbrtowc tests: Don't make assumptions about the charset the C locale.
3070         * tests/test-mbrtowc.c (main): For bytes >= 0x80, don't assume a
3071         particular mapping in the C locale.
3073 2018-02-24  Bruno Haible  <bruno@clisp.org>
3075         ptsname_r: Don't expect that this function sets errno.
3076         * tests/test-ptsname_r.c (test_errors): Don't test errno after return
3077         from ptsname_r().
3078         * doc/glibc-functions/ptsname_r.texi: Mention the issue.
3080 2018-02-23  Bruno Haible  <bruno@clisp.org>
3082         xmalloca: pacify gcc -Wbad-function-cast
3083         * lib/xmalloca.h (xmalloca): Insert intermediate cast here as well.
3085 2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>
3087         nl_langinfo: pacify gcc -Wunused-function
3088         * lib/nl_langinfo.c (ctype_codeset): Do not define if
3089         REPLACE_NL_LANGINFO && !GNULIB_defined_CODESET, as it is unused in
3090         this case.  Without this change, I got a diagnostic when building
3091         coreutils on Fedora 27 with gcc 7.3.1 20180130.
3093         same: pacify gcc -Wunused-variable
3094         * lib/same.c (same_nameat) [!CHECK_TRUNCATION]:
3095         Omit unused variable.
3097         malloca: pacify gcc -Wbad-function-cast
3098         * lib/malloca.h (malloca): Pacify gcc -Wbad-function-cast
3099         diagnostic that I got on Fedora 27 with gcc 7.3.1 20180130.
3100         To pacify GCC, I had to cast alloca’s result to some type other
3101         than void * before casting that to uintptr_t.
3103 2018-02-20  Paul Eggert  <eggert@cs.ucla.edu>
3105         utimecmp: new function utimecmpat
3106         * lib/utimecmp.c: Include fcntl.h, sys/stat.h and dirname.h.
3107         Do not include utimens.h.
3108         (utimecmpat): New function, generalizing utimecmp.
3109         (utimecmp): Now a thin layer around utimecmpat.
3110         * modules/utimecmp (Depends-on): Depend on dirname-lgpl, fstatat,
3111         utimensat instead of on lstat and utimens.
3113         same: new function same_nameat
3114         * lib/same.c: Include fcntl.h.
3115         * lib/same.c (same_nameat): New function, generalizing same_name.
3116         (same_name): Now a thin layer around same_nameat.
3117         * m4/same.m4 (gl_SAME): Check for fpathconf, not pathconf.
3118         * modules/same (Depends-on): Depend on fstatat, openat.
3120 2018-02-18  Eric Gallager  <egall@gwmail.gwu.edu>  (tiny change)
3122         warnings: Add support for Objective C.
3123         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): New
3124         macro.
3126 2018-02-17  Bruno Haible  <bruno@clisp.org>
3128         lock: Fix test-once1 crash on FreeBSD11.
3129         * lib/glthread/lock.h: On FreeBSD, test the weak value of the symbol
3130         'pthread_create', not 'pthread_cancel'.
3132 2018-02-17  Bruno Haible  <bruno@clisp.org>
3134         lock: Add test of gl_once.
3135         * tests/test-once.c: New file.
3136         * modules/lock-tests (Files): Add it.
3137         (Makefile.am): Build and test programs 'test-once1' and 'test-once2'.
3139 2018-02-17  Bruno Haible  <bruno@clisp.org>
3141         thread: Fix compilation error on IRIX.
3142         * lib/glthread/thread.h: Include <unistd.h>. Include <signal.h> when
3143         needed; include it outside the C++ extern "C" {} block.
3144         * doc/posix-headers/pthread.texi: Mention the problem with
3145         pthread_atfork on IRIX.
3147 2018-02-04  Bruno Haible  <bruno@clisp.org>
3149         nl_langinfo: Override the system's nl_langinfo() when needed.
3150         Reported by Jim Meyering.
3151         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Set REPLACE_NL_LANGINFO=1
3152         also when HAVE_LANGINFO_T_FMT_AMPM or HAVE_LANGINFO_ALTMON is 0.
3154 2018-02-04  Bruno Haible  <bruno@clisp.org>
3156         signal-h, monetary, strings: Fix build failure in some cases.
3157         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
3158         * modules/signal-h (Makefile.am): In the GNULIB_* substitutions, use '/'
3159         as delimiter in sed command, not '|'.
3160         * modules/monetary (Makefile.am): Likewise.
3161         * modules/strings (Makefile.am): Likewise.
3163 2018-02-03  Jim Meyering  <meyering@fb.com>
3165         maint.mk: exempt "/proc/filesystems" from "file system" syntax check
3166         * top/maint.mk (sc_file_system): Don't complain about
3167         "/proc/filesystems".
3169 2018-02-03  Bruno Haible  <bruno@clisp.org>
3171         stdlib: Fix compilation error on OpenIndiana.
3172         * lib/stdlib.in.h: Before including <sys/loadavg.h>, include
3173         <sys/time.h>.
3174         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
3175         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
3177 2018-02-03  Bruno Haible  <bruno@clisp.org>
3179         host-cpu-c-abi: Avoid use of 'grep -E' on OpenIndiana.
3180         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX): Require AC_PROG_EGREP,
3181         and use $EGREP instead of 'grep -E'.
3182         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Use 'grep' instead of
3183         'grep -E'.
3185 2018-02-02  Paul Eggert  <eggert@cs.ucla.edu>
3187         malloca: Add a compile-time verification.
3188         * lib/malloca.c (small_t): Verify that it is wide enough.
3189         * modules/malloca (Depends-on): Add verify.
3191 2018-02-02  Bruno Haible  <bruno@clisp.org>
3193         malloca: Add an argument check.
3194         Suggested by Paul Eggert.
3195         * lib/malloca.c (freea): Check against an invalid argument.
3197 2018-02-02  Bruno Haible  <bruno@clisp.org>
3199         localename: Add support for OpenIndiana.
3200         * lib/localename.c (gl_locale_name_thread_unsafe): Add code for
3201         Solaris 11 variants with uselocale() but without getlocalename_l().
3203 2018-02-02  Bruno Haible  <bruno@clisp.org>
3205         malloca, xmalloca: Make multithread-safe.
3206         Reported by Florian Weimer <fweimer@redhat.com>.
3207         Implements an idea by Ondřej Bílka <neleai@seznam.cz>.
3208         * lib/malloca.h (malloca): In the stack allocation case, return a
3209         pointer that is a multiple of 2 * sa_alignment_max.
3210         (sa_increment): Remove enum item.
3211         * lib/xmalloca.h (xmalloca): In the stack allocation case, return
3212         a pointer that is a multiple of 2 * sa_alignment_max.
3213         * lib/malloca.c (NO_SANITIZE_MEMORY): Remove macro.
3214         (MAGIC_NUMBER, MAGIC_SIZE, preliminary_header, HEADER_SIZE, header,
3215         HASH_TABLE_SIZE, mmalloca_results): Remove.
3216         (small_t): New type.
3217         (mmalloca, free): Rewritten.
3218         * lib/malloca.valgrind: Remove file.
3219         * modules/malloca (Files): Remove it.
3220         (Depends-on): Remove verify.
3222 2018-01-31  Bruno Haible  <bruno@clisp.org>
3224         environ: Fix link error on 64-bit Cygwin.
3225         * lib/unistd.in.h (environ): On Cygwin, redeclare with the
3226         __declspec(dllimport) attribute.
3227         * doc/posix-functions/environ.texi: Mention the Cygwin problem.
3229 2018-01-30  Bruno Haible  <bruno@clisp.org>
3231         get-rusage-data: Add support for Minix 3.
3232         * lib/get-rusage-data.c (get_rusage_data): Return 0 on Minix.
3234 2018-01-30  Bruno Haible  <bruno@clisp.org>
3236         vma-iter: Add support for Minix 3.
3237         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Minix.
3238         * lib/vma-iter.c: On Minix, read /proc/<pid>/map.
3240 2018-01-27  Bruno Haible  <bruno@clisp.org>
3242         Fix malfunction of socket functions on HP-UX in 64-bit mode.
3243         * m4/socketlib.m4 (gl_SOCKETLIB): Add comment.
3244         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define
3245         _HPUX_ALT_XOPEN_SOCKET_API.
3246         * modules/accept (Depends-on): Add 'extensions'.
3247         * modules/getpeername (Depends-on): Likewise.
3248         * modules/getsockname (Depends-on): Likewise.
3249         * modules/getsockopt (Depends-on): Likewise.
3250         * modules/recvfrom (Depends-on): Likewise.
3251         * doc/posix-functions/accept.texi: Mention the HP-UX socklen_t problem.
3252         * doc/posix-functions/getpeername.texi: Likewise.
3253         * doc/posix-functions/getsockname.texi: Likewise.
3254         * doc/posix-functions/getsockopt.texi: Likewise.
3255         * doc/posix-functions/recvfrom.texi: Likewise.
3257 2018-01-27  Bruno Haible  <bruno@clisp.org>
3259         getsockname tests: More tests.
3260         * tests/test-getsockname.c (open_server_socket): New function, mostly
3261         copied from test-poll.c.
3262         (main): Check that getsockname fills in addr.
3263         * modules/getsockname-tests (Depends-on): Add the necessary
3264         dependencies.
3265         (test_getsockname_LDADD): Link with $(INET_PTON_LIB).
3267 2018-01-26  Paul Eggert  <eggert@cs.ucla.edu>
3269         manywarnings: fix maintainer comment
3270         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Fix comment so that
3271         it does not mistakenly think that ‘-1)’ is an option.
3273 2018-01-26  Bruno Haible  <bruno@clisp.org>
3275         langinfo: Fix last commit.
3276         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
3277         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_ALTMON.
3279 2018-01-24  Bruno Haible  <bruno@clisp.org>
3281         langinfo, nl_langinfo: Add support for alternative month names.
3282         * m4/langinfo_h.m4 (gl_LANGINFO_H): Define HAVE_LANGINFO_ALTMON.
3283         * lib/langinfo.in.h (ALTMON_1...ALTMON_12): New macros.
3284         * lib/nl_langinfo.c (rpl_nl_langinfo): Treat ALTMON_i like MON_i.
3285         * tests/test-nl_langinfo.c (main): Test ALTMON_*.
3286         * doc/posix-headers/langinfo.texi: Document support of ALTMON_*.
3287         * doc/posix-functions/nl_langinfo.texi: Likewise.
3289 2018-01-23  Paul Eggert  <eggert@cs.ucla.edu>
3291         Merge strftime.c changes from glibc
3292         This incorporates:
3293         2017-11-14 [BZ #10871] Implement alternative month names
3294         2017-11-14 [BZ #10871] Abbreviated alternative month names (%Ob)
3295         2017-06-20 Use locale_t, not __locale_t, throughout glibc
3296         * lib/nstrftime.c (ABALTMON_1) [!COMPILE_WIDE]: New macro.
3297         (LOCALE_PARAM) [_LIBC && USE_IN_EXTENDED_LOCALE_MODEL]:
3298         Use locale_t, not __locale_t.
3299         (a_altmonth, f_altmonth, aam_len) [_NL_CURRENT]: New macros.
3300         (__strftime_internal): Add support for alternate months.
3302 2018-01-23  Bruno Haible  <bruno@clisp.org>
3304         doc: Mention another prerequisite for using Gnulib.
3305         Reported at <https://stackoverflow.com/questions/48378214/>.
3306         * doc/gnulib-tool.texi (Initial import): Mention requirement to use
3307         AC_CONFIG_HEADERS.
3309 2018-01-22  Mathieu Lirzin  <mthl@gnu.org>
3311         build: GuixSD doesn't have /bin/bash
3312         * Makefile (SHELL): Search 'bash' in the PATH environment variable.
3314 2018-01-21  Bruno Haible  <bruno@clisp.org>
3316         Avoid test failures on Microsoft Windows Subsystem for Linux.
3317         * tests/test-fcntl.c (main): Allow a different errno.
3318         * tests/test-rename.h (test_rename): Likewise.
3319         * tests/test-renameat.c (main): Likewise.
3320         * tests/test-renameat2.c (main): Likewise.
3322 2018-01-14  Paul Eggert  <eggert@cs.ucla.edu>
3324         filenamecat: make base a suffix of result
3325         * lib/filenamecat-lgpl.c (longest_relative_suffix): Remove.
3326         (mfile_name_concat): Always make BASE a suffix of the result, as
3327         cp expects this.  To implement this, separate with '.' instead of
3328         '/' in some rare cases.  Clarify spec to say ./BASE not BASE.
3329         * tests/test-filenamecat.c (main): Adjust tests to match
3330         current behavior.  Check that BASE_IN_RESULT points to
3331         a copy of BASE and is a suffix of the resultk, and that DIR
3332         is a prefix of the result that is no longer than the prefix
3333         indicated by BASE_IN_RESULT.
3335 2018-01-04  Mathieu Lirzin  <mthl@gnu.org>
3337         update-copyright: Handle use of ©
3338         * build-aux/update-copyright ($circle_c_re): Update regex to
3339         handle use of © in headers.
3341 2018-01-04  Tim Rühsen  <tim.ruehsen@gmx.de>
3343         Fix -Wundef warning in user-included header lib/cdefs.h.
3344         * lib/cdefs.h: Check if defined before using __USE_FORTIFY_LEVEL.
3346 2018-01-04  Bruno Haible  <bruno@clisp.org>
3348         pthread_sigmask: Avoid compilation error on mingw.
3349         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
3350         * lib/signal.in.h (pthread_sigmask): Don't declare it it's defined as a
3351         macro.
3353 2018-01-03  Paul Eggert  <eggert@cs.ucla.edu>
3355         test-framework-sh: ‘ps -ef’, not ‘ps ef’
3356         * tests/init.sh (rand_bytes_): Put ‘-’ before new-style ps options.
3357         Suggested by Bob Proulx (Bug#29968).
3358         * build-aux/mktempd (rand_bytes): Make it like tests/init.sh.
3360 2018-01-02  Eric Blake  <eblake@redhat.com>
3362         stat-time: silence -Wunused-parameter regression
3363         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
3364         Prefer attribute over cast-to-void.
3365         (stat_time_normalize): Mark st as potentially unused.
3367 2018-01-02  Paul Eggert  <eggert@cs.ucla.edu>
3369         test-framework-sh: avoid netstat
3370         Problem reported by Kristýna Streitová (Bug#29947).
3371         * tests/init.sh (rand_bytes_): Stop using netstat, as it's
3372         deprecated on SuSE and it's not that important anyway.
3374 2018-01-01  Jim Meyering  <meyering@fb.com>
3376         update-copyright: add code to handle more special cases
3377         After running "make update-copyright" this year, five files
3378         required additional manual changes.  Automate those adjustments
3379         for next year.
3380         * Makefile (_year_and_prev): Define.
3381         (update-copyright): Add perl commands to induce this year's post-
3382         update-copyright adjustments.
3384 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
3386         version-etc: new year
3387         * build-aux/gendocs.sh (version):
3388         * doc/gendocs_template:
3389         * doc/gendocs_template_min:
3390         * doc/gnulib.texi:
3391         * lib/version-etc.c (COPYRIGHT_YEAR):
3392         Update copyright dates by hand in templates and the like.
3394         maint: fix 'make update-copyright'
3395         * Makefile (update-copyright): Adjust to 2016-11-23 change
3396         to config/srclist-update, which changed the format of srclist.txt.
3398 2017-12-30  Paul Eggert  <eggert@cs.ucla.edu>
3400         chdir-safer: remove this module
3401         * MODULES.html.sh (func_all_modules): Remove chdir-safer.
3402         * NEWS: Document removal.
3403         * lib/chdir-safer.c, lib/chdir-safer.h, m4/afs.m4, m4/chdir-safer.m4:
3404         * modules/chdir-safer: Remove these files.
3406 2017-12-29  Samuel Thibault  <samuel.thibault@gnu.org>
3408         Add cross-compilation results for GNU/Hurd.
3409         * m4/calloc.m4: Add GNU/Hurd guess.
3410         * m4/cbrtl.m4: Likewise.
3411         * m4/ceil.m4: Likewise.
3412         * m4/ceilf.m4: Likewise.
3413         * m4/ceill.m4: Likewise.
3414         * m4/chown.m4: Likewise.
3415         * m4/duplocale.m4: Likewise.
3416         * m4/exp2l.m4: Likewise.
3417         * m4/expm1.m4: Likewise.
3418         * m4/fchdir.m4: Likewise.
3419         * m4/floor.m4: Likewise.
3420         * m4/floorf.m4: Likewise.
3421         * m4/fmod.m4: Likewise.
3422         * m4/fmodf.m4: Likewise.
3423         * m4/fmodl.m4: Likewise.
3424         * m4/getcwd.m4: Likewise.
3425         * m4/getgroups.m4: Likewise.
3426         * m4/gettimeofday.m4: Likewise.
3427         * m4/hypot.m4: Likewise.
3428         * m4/hypotf.m4: Likewise.
3429         * m4/hypotl.m4: Likewise.
3430         * m4/link-follow.m4: Likewise.
3431         * m4/link.m4: Likewise.
3432         * m4/linkat.m4: Likewise.
3433         * m4/log.m4: Likewise.
3434         * m4/log10.m4: Likewise.
3435         * m4/log10f.m4: Likewise.
3436         * m4/log1p.m4: Likewise.
3437         * m4/log1pf.m4: Likewise.
3438         * m4/log1pl.m4: Likewise.
3439         * m4/log2.m4: Likewise.
3440         * m4/log2f.m4: Likewise.
3441         * m4/logf.m4: Likewise.
3442         * m4/lstat.m4: Likewise.
3443         * m4/malloc.m4: Likewise.
3444         * m4/mbrlen.m4: Likewise.
3445         * m4/mbrtowc.m4: Likewise.
3446         * m4/mkdir.m4: Likewise.
3447         * m4/mkfifo.m4: Likewise.
3448         * m4/mknod.m4: Likewise.
3449         * m4/mkstemp.m4: Likewise.
3450         * m4/modf.m4: Likewise.
3451         * m4/modff.m4: Likewise.
3452         * m4/modfl.m4: Likewise.
3453         * m4/printf.m4: Likewise.
3454         * m4/pselect.m4: Likewise.
3455         * m4/ptsname.m4: Likewise.
3456         * m4/putenv.m4: Likewise.
3457         * m4/readlink.m4: Likewise.
3458         * m4/realloc.m4: Likewise.
3459         * m4/remainder.m4: Likewise.
3460         * m4/remainderf.m4: Likewise.
3461         * m4/remainderl.m4: Likewise.
3462         * m4/rmdir.m4: Likewise.
3463         * m4/round.m4: Likewise.
3464         * m4/roundf.m4: Likewise.
3465         * m4/roundl.m4: Likewise.
3466         * m4/select.m4: Likewise.
3467         * m4/setenv.m4: Likewise.
3468         * m4/signbit.m4: Likewise.
3469         * m4/sleep.m4: Likewise.
3470         * m4/stat.m4: Likewise.
3471         * m4/strerror.m4: Likewise.
3472         * m4/strtok_r.m4: Likewise.
3473         * m4/symlink.m4: Likewise.
3474         * m4/symlinkat.m4: Likewise.
3475         * m4/trunc.m4: Likewise.
3476         * m4/truncf.m4: Likewise.
3477         * m4/truncl.m4: Likewise.
3478         * m4/tzset.m4: Likewise.
3479         * m4/ungetc.m4: Likewise.
3480         * m4/usleep.m4: Likewise.
3481         * m4/wcwidth.m4: Likewise.
3483 2017-12-28  Bruno Haible  <bruno@clisp.org>
3485         gnulib-tool: Make --conditional-dependencies work better.
3486         Reported by Dmitry Selyutin <ghostman.sd@gmail.com>.
3487         * gnulib-tool (Options): Don't reject the combination of
3488         --conditional-dependencies with --with-tests.
3489         (func_emit_autoconf_snippets): Add argument referenceable_modules.
3490         Don't reference $modules.
3491         (func_import, func_create_testdir): Pass it.
3493 2017-12-19  Paul Eggert  <eggert@cs.ucla.edu>
3495         regex: use re_malloc etc. consistently
3496         Problem and original patch reported by Arnold Robbins in:
3497         https://sourceware.org/ml/libc-alpha/2017-12/msg00241.html
3498         * lib/regcomp.c (re_comp):
3499         * lib/regexec.c (push_fail_stack, build_trtable, match_ctx_clean):
3500         Use re_malloc/re_realloc/re_free instead of malloc/realloc/free.
3502 2017-12-15  Tim Rühsen  <tim.ruehsen@gmx.de>
3503             Paul Eggert  <eggert@cs.ucla.edu>
3505         glob: Silence warning about void pointer arithmetic.
3506         * lib/glob.c (glob): Use a 'char *', not a 'void *', in pointer
3507         arithmetic.
3509 2017-12-15  Bruno Haible  <bruno@clisp.org>
3511         spawn-pipe: Silence a clang warning.
3512         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
3513         * lib/spawn-pipe.c: Disable clang -Wconditional-uninitialized warnings
3514         in this file.
3516 2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>
3518         explicit_bzero: port to macOS + Clang 9.0.0
3519         Problem reported by Marcus Johnson (Bug#29658).
3520         * lib/explicit_bzero.c (explicit_bzero) [__clang__]:
3521         Don’t use asm.
3523 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
3525         doc: Improve explanation of supporting relocatable libraries.
3526         * doc/relocatable-maint.texi (Supporting Relocation): Explain
3527         properly how to build the relocatable module for
3528         libraries. (Method and example code from Bruno Haible.)
3530 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
3532         doc: Use better texinfo tags in a few cases.
3533         * doc/gnulib.texi (Extending Gnulib): Use @option or @command
3534         instead of @samp in a few places.
3536 2017-12-11  Bruno Haible  <bruno@clisp.org>
3538         unistr/base: Update comment.
3539         * lib/unistr.in.h: Update comment about u*_mbtouc_unsafe functions.
3541 2017-12-10  Pádraig Brady  <P@draigBrady.com>
3543         test-faccessat.c: unlink temp file to avoid subsequent test failure
3544         * tests/test-faccessat.c: Remove the file to avoid failure
3545         to open the file on subsequent runs due to being created
3546         with no permissions.
3548 2017-12-10  Bruno Haible  <bruno@clisp.org>
3550         doc: New sect. "Modifying the build rules of a Gnulib import directory".
3551         * doc/gnulib-tool.texi (Modified build rules): New node.
3553 2017-12-10  Bruno Haible  <bruno@clisp.org>
3555         doc: Tweak wording.
3556         * doc/gnulib-tool.texi (Multiple instances): Talk about "programs", not
3557         "binaries".
3559 2017-12-05  Sam Steingold  <sds@gnu.org>
3560             Bruno Haible  <bruno@clisp.org>
3562         no-c++: Avoid "egrep: repetition-operator operand invalid" error.
3563         * m4/no-c++.m4 (gt_NO_CXX): Don't use '+' characters nor spaces in the
3564         AC_EGREP_CPP pattern.
3566 2017-12-03  Bruno Haible  <bruno@clisp.org>
3568         all: Replace more http URLs by https URLs.
3569         * lib/sm3.h, lib/sm3.c, tests/test-sm3.c: Use https: URL.
3570         * lib/unigbrk/u-grapheme-breaks.h: Likewise.
3571         * lib/unigbrk/uc-grapheme-breaks.c: Likewise.
3572         * tests/unigbrk/test-uc-grapheme-breaks.c: Likewise.
3574 2017-11-28  Paul Eggert  <eggert@cs.ucla.edu>
3576         Port better to CentOS 5
3577         Problems reported by Tom G. Christensen in:
3578         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00053.html
3579         * doc/glibc-functions/strverscmp.texi (strverscmp):
3580         Document strverscmp bug with glibc 2.9 and earlier.
3581         * doc/posix-functions/tzset.texi (tzset):
3582         Document that TZ with angle brackets is POSIX-2001 and later.
3583         * tests/test-nstrftime.c: Include unistd.h.
3584         (TZ_ANGLE_BRACKETS_SHOULD_WORK): New macro.
3585         (TZ): Use it to skip tests with angle brackets in TZ,
3586         for older systems.
3588         stat: add missing module dependencies
3589         * modules/lstat, modules/stat, modules/utimensat (Depends-on):
3590         Add stat-time.
3592 2017-11-28  Benno Schulenberg  <bensberg@telfort.nl>
3594         stat: fix compilation failure on macOS Sierra
3595         Reported by Marius Schamschula <mschamschula@gmail.com> in:
3596         https://savannah.gnu.org/bugs/?52546
3597         * lib/stat.c: Add missing include of stat-time.h.
3599 2017-11-28  Jim Meyering  <meyering@fb.com>
3601         test-faccessat.c: correct BASE definition to avoid parallel test failure
3602         * tests/test-faccessat.c (BASE): Define using this file's name, not
3603         that of test-lstat.c.  Using the latter caused this test to fail
3604         sometimes when run concurrently with test-lstat.
3606 2017-11-27  Daiki Ueno  <ueno@gnu.org>
3608         unicase: fix VPATH build
3609         * modules/unicase/special-casing (Makefile.am): Ensure that the
3610         base directory is created when generating
3611         unicase/special-casing.h.
3613 2017-11-27  Daiki Ueno  <ueno@gnu.org>
3615         libunistring: update to Unicode 9.0.0
3616         * lib/gen-uni-tables.c (fill_properties): Recognize
3617         Sentence_Terminal and Prepended_Concatenation_Mark.
3618         (is_property_default_ignorable_code_point): Exclude U+08E2.
3619         (fill_arabicshaping): Allow missing whitespace when parsing;
3620         recognize "AFRICAN FEH", "AFRICAN QAF", and "AFRICAN MOON".
3621         (output_blocks): Increase the element size of the level1 table to
3622         accommodate more blocks.
3623         (get_lbp): Recognize ZWJ, E_Base, and E_Modifier characters;
3624         Update each class according to the standard.
3625         (get_wbp): Recognize ZWJ, E_Base, E_Modifier, Glue_After_Zwj, and
3626         E_Base_GAZ characters.
3627         (output_gbp_table): Recognize ZWJ, E_Base, E_Modifier,
3628         Glue_After_Zwj, and E_Base_GAZ characters.
3629         * lib/unictype.in.h (UC_JOINING_GROUP_AFRICAN_FEH)
3630         (UC_JOINING_GROUP_AFRICAN_QAF, UC_JOINING_GROUP_AFRICAN_MOON): New
3631         enum value.
3632         * lib/unilbrk/lbrktables.h (LBP_ZWJ, LBP_EB, LBP_EM): New enum
3633         value.
3634         * lib/unilbrk/lbrktables.c (unilbrk_table): Extend the table with
3635         LBP_ZWJ, LBP_EB, and LBP_EM.
3636         * lib/uniwbrk.in.h (WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, WBP_EBG): New
3637         enum value.
3638         * lib/uniwbrk/u-wordbreaks.h: Implement WB3c, WB15, and WB16.
3639         * lib/uniwbrk/wbrktable.h (uniwbrk_prop_index): New variable
3640         declaration.
3641         * lib/uniwbrk/wbrktable.c (uniwbrk_prop_index): New variable.
3642         (uniwbrk_table): Implement WB14.
3643         * tests/uniwbrk/test-uc-wordbreaks.c (wordbreakproperty_to_string):
3644         Check WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, and WBP_EBG.
3645         * modules/unigbrk/u{32,16,8}-grapheme-breaks: No longer depend on
3646         uc-is-grapheme-break.
3647         * modules/unigbrk/uc-grapheme-breaks: New module.
3648         * modules/unigbrk/uc-grapheme-breaks-tests: New module.
3649         * lib/unigbrk.in.h (GBP_ZWJ, GBP_EB, GBP_EM, GBP_GAZ, GBP_EBG): New
3650         enum value.
3651         (uc_grapheme_breaks): New function, replacing uc_is_grapheme_break.
3652         * lib/unigbrk/u-grapheme-breaks.h: New file.
3653         * lib/unigbrk/u{32,16,8}-grapheme-breaks.c: Rewrite using
3654         u-grapheme-breaks.h instead of uc_is_grapheme_break.
3655         * lib/unigbrk/uc-grapheme-breaks.c: New file.
3656         * lib/unigbrk/uc-is-grapheme-break.c: Partially update to TR29 rev
3657         29.
3658         * tests/unigbrk/test-uc-gbrk-prop.c
3659         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
3660         GBP_GAZ, and GBP_EBG.
3661         * tests/unigbrk/test-uc-grapheme-breaks.c: New test.
3662         * tests/unigbrk/test-uc-is-grapheme-break.c
3663         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
3664         GBP_GAZ, and GBP_EBG.
3665         (main): Skip unsupported rules involving 3 or more characters,
3666         namely GB10, GB12, and GB13.
3667         * lib/uniwidth/width.c (nonspacing_table_data): Update.
3668         * all generated files under lib/uni* and tests/uni*: Regenerate.
3669         * all the affected modules: Bump version.
3671 2017-11-26  Bruno Haible  <bruno@clisp.org>
3673         strfmon_l: Fix compilation error with glibc 2.5.
3674         Reported by Tom G. Christensen <tgc@jupiterrise.com>
3675         in <https://lists.gnu.org/r/bug-gnulib/2017-11/msg00051.html>.
3676         * lib/monetary.in.h: Include also <locale.h>.
3678 2017-11-24  Paul Eggert  <eggert@cs.ucla.edu>
3680         posixtm: remove PDS_LEADING_YEAR
3681         This changes the API slightly, in a hopefully-innocuous way.
3682         Without this change the code had undefined behavior when a
3683         caller specified neither PDS_LEADING_YEAR nor PDS_TRAILING_YEAR.
3684         Problem reported by Pádraig Brady in:
3685         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00048.html
3686         * NEWS: Mention this.
3687         * lib/posixtm.c (posix_time_parse): Treat the absence of
3688         PDS_TRAILING_YEAR as if PDS_LEADING_YEAR were present.
3689         * lib/posixtm.h (PDS_LEADING_YEAR): Remove (actually, leave it
3690         present, but define it as zero, for compatibility with existing
3691         source code).  All other PDS_* values moved up.
3692         * tests/test-posixtm.c (LY): New macro.
3693         (T): Use it.  Do not expect a particular numeric encoding
3694         for PDS_CENTURY etc.
3696 2017-11-23  Paul Eggert  <eggert@cs.ucla.edu>
3698         stat: work around Solaris bug with tv_nsec < 0
3699         * doc/posix-functions/fstat.texi (fstat):
3700         * doc/posix-functions/fstatat.texi (fstatat):
3701         * doc/posix-functions/lstat.texi (lstat):
3702         * doc/posix-functions/stat.texi (stat):
3703         Mention Solaris 11 bug.
3704         * lib/fstat.c, lib/fstatat.c, lib/lstat.c: Include stat-time.h.
3705         * lib/fstat.c (rpl_fstat) [!WINDOWS_NATIVE]:
3706         * lib/lstat.c (rpl_lstat):
3707         * lib/stat.c (rpl_stat):
3708         Normalize resulting timestamps.
3709         * lib/fstatat.c (normal_fstatat): New function.
3710         (rpl_fstatat): Use it.
3711         * lib/stat-time.h: Include intprops.h, errno.h, stddef.h.
3712         (stat_time_normalize): New function.
3713         * m4/fstat.m4 (gl_FUNC_FSTAT):
3714         * m4/fstatat.m4 (gl_FUNC_FSTATAT):
3715         * m4/lstat.m4 (gl_FUNC_LSTAT):
3716         * m4/stat.m4 (gl_FUNC_STAT):
3717         Replace on Solaris.
3718         * modules/fstat (Depends-on):
3719         * modules/fstatat (Depends-on):
3720         Add stat-time.
3721         * modules/stat-time (Depends-on): Add errno, intprops.
3723 2017-11-22  Paul Eggert  <eggert@cs.ucla.edu>
3725         regex: merge from glibc
3726         * lib/regcomp.c (init_word_char): Add comments.
3728 2017-11-20  Paul Eggert  <eggert@cs.ucla.edu>
3730         regex: merge from glibc
3731         * lib/regcomp.c (__regcomp, __regfree) [_LIBC]: Now hidden.
3732         * lib/regex_internal.h (internal_function): Remove.
3733         All uses removed.
3735 2017-11-20  Bruno Haible  <bruno@clisp.org>
3737         crypto/gc-sm3: Fix buffer overrun.
3738         * lib/gc-gnulib.c (MAX_DIGEST_SIZE): Bump to 32.
3739         Reported by Coverity.
3741 2017-11-12  Jim Meyering  <meyering@fb.com>
3743         maint: shorten https://lists.gnu.org/archive/html/... links
3744         Each /archive/html/ part can be replace with /r/.
3745         Run this to induce the change:
3746         git grep -l archive/html|xargs perl -pi -e 's,/archive/html/,/r/,g'
3747         * ChangeLog: Perform that substitution.
3748         * Makefile: Likewise.
3749         * STATUS-libposix: Likewise.
3750         * build-aux/bootstrap: Likewise.
3751         * doc/maintain.texi: Likewise.
3752         * gnulib-tool: Likewise.
3753         * lib/allocator.h: Likewise.
3754         * lib/argp-ba.c: Likewise.
3755         * lib/argp-pv.c: Likewise.
3756         * lib/canon-host.c: Likewise.
3757         * lib/canonicalize-lgpl.c: Likewise.
3758         * lib/float.in.h: Likewise.
3759         * lib/fstat.c: Likewise.
3760         * lib/getdelim.c: Likewise.
3761         * lib/getprogname.c: Likewise.
3762         * lib/glthread/thread.h: Likewise.
3763         * lib/intprops.h: Likewise.
3764         * lib/mbsrtowcs-state.c: Likewise.
3765         * lib/safe-read.c: Likewise.
3766         * lib/signal.in.h: Likewise.
3767         * lib/stat.c: Likewise.
3768         * lib/stdbool.in.h: Likewise.
3769         * lib/stdio-impl.h: Likewise.
3770         * lib/stdio.in.h: Likewise.
3771         * lib/sysexits.in.h: Likewise.
3772         * lib/timespec.h: Likewise.
3773         * lib/wcsrtombs-state.c: Likewise.
3774         * m4/alloca.m4: Likewise.
3775         * m4/extern-inline.m4: Likewise.
3776         * m4/fstatat.m4: Likewise.
3777         * m4/gnulib-common.m4: Likewise.
3778         * m4/lib-ignore.m4: Likewise.
3779         * m4/printf.m4: Likewise.
3780         * m4/regex.m4: Likewise.
3781         * m4/stat-size.m4: Likewise.
3782         * m4/std-gnu11.m4: Likewise.
3783         * m4/stdbool.m4: Likewise.
3784         * m4/sys_types_h.m4: Likewise.
3785         * m4/threadlib.m4: Likewise.
3786         * m4/vararrays.m4: Likewise.
3787         * pygnulib/GLImport.py: Likewise.
3788         * tests/test-exp.h: Likewise.
3789         * tests/test-exp2.h: Likewise.
3790         * tests/test-expm1.h: Likewise.
3791         * tests/test-fflush2.c: Likewise.
3792         * tests/test-getopt_long.h: Likewise.
3793         * tests/test-intprops.c: Likewise.
3794         * tests/test-log.h: Likewise.
3795         * tests/test-log10.h: Likewise.
3796         * tests/test-log1p.h: Likewise.
3797         * tests/test-log2.h: Likewise.
3798         * tests/test-printf-posix.h: Likewise.
3799         * tests/test-regex.c: Likewise.
3800         * tests/test-snprintf-posix.h: Likewise.
3801         * tests/test-sprintf-posix.h: Likewise.
3802         * tests/test-stdalign.c: Likewise.
3803         * tests/test-stdbool.c: Likewise.
3804         * tests/test-vasnprintf-posix.c: Likewise.
3805         * tests/test-vasprintf-posix.c: Likewise.
3806         * top/maint.mk: Likewise.
3808 2017-11-12  Bruno Haible  <bruno@clisp.org>
3810         faccessat: Make the last change more robust.
3811         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Require
3812         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Treat "guessing yes" like "yes".
3814 2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>
3816         faccessat: port to macOS (Bug#29231)
3817         macOS faccessat has the same bug that lstat does: if the file
3818         name ends in '/' it ignores the trailing slash.
3819         Problem reported for Emacs by Vincent Zhang.
3820         * doc/posix-functions/faccessat.texi (faccessat): Document this.
3821         * lib/faccessat.c (_GL_INCLUDING_UNISTD_H): Define and undef
3822         around the initial includes.  Include errno.h, string.h, sys/stat.h.
3823         (orig_faccessat) [HAVE_FACCESSAT]: New function.
3824         Include "unistd.h" after defining it.
3825         (rpl_faccessat) [HAVE_FACCESSAT]: New implementation.
3826         * lib/unistd.in.h (faccessat) [REPLACE_FACCESSAT]:
3827         Handle in the usual way.
3828         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Replace faccessat if
3829         lstat dereferences symlinks, since faccessat is likely to
3830         have the same problem.
3831         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Default REPLACE_ACCESSAT.
3832         * modules/faccessat (Depends-on): Add fstatat.
3833         Depend if REPLACE_FACCESSAT is 1, too.
3834         (configure.ac): Link if REPLACE_FACCESSAT is 1.
3835         * modules/faccessat-tests (Depends-on): Add symlink.
3836         * modules/unistd (unistd.h): Substitute REPLACE_FACCESSAT.
3837         * tests/test-faccessat.c (main): Test for the bug.
3839 2017-11-11  Bruno Haible  <bruno@clisp.org>
3841         getprogname: Fix compilation error on IRIX.
3842         * lib/getprogname.c (getprogname) [__sgi]: Fix type of local variable
3843         'namesize'.
3845 2017-11-11  Bruno Haible  <bruno@clisp.org>
3847         year2038: Tweak last patch.
3848         * m4/year2038.m4 (gl_YEAR2038): Correct indentation.
3850 2017-11-06  Paul Eggert  <eggert@cs.ucla.edu>
3852         year2038: be more insistent about 64-bit time_t
3853         Applications requiring access to arbitrary files should not be
3854         built with 32-bit time_t on hosts that have 64-bit timestamps,
3855         as this can lead to real trouble at runtime.
3856         * m4/year2038.m4 (gl_YEAR2038): Do not require AC_CANONICAL_HOST.
3857         Check on all systems, not just MinGW.  Use a heuristic involving
3858         TIME_T_32_BIT_OK, cross_compiling, and the touch command to
3859         output a failure or just a warning, to make it more likely that
3860         builders will select 64-bit time_t.
3862 2017-11-05  Paul Eggert  <eggert@cs.ucla.edu>
3864         havelib: fix typo in previous change
3865         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Fix typo.
3867         Don’t use AC_EGREP_CPP if affected by CFLAGS
3868         * m4/float_h.m4 (gl_FLOAT_H):
3869         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI):
3870         * m4/lib-ld.m4 (AC_LIB_PROG_LD):
3871         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB):
3872         * m4/year2038.m4 (gl_YEAR2038):
3873         Prefer AC_COMPILE_IFELSE to AC_EGREP_CPP when testing conditions
3874         likely to be affected by the choice of CFLAGS, since CFLAGS are
3875         not used by AC_EGREP_CPP.  Without this patch, ‘./configure
3876         CFLAGS="-m32"’ fails on gzip with GNU/Linux x86-64.
3878         fstatat: pacify GCC on unusual platform
3879         * lib/fstatat.c (orig_fstatat) [!HAVE_WORKING_FSTATAT_ZERO_FLAG]:
3880         Omit, as it’s unused in this case.
3882 2017-10-29  Paul Eggert  <eggert@cs.ucla.edu>
3884         timespec: prefer ‘assume’ to ‘assure’
3885         This avoids some runtime tests.  The rest of the module makes
3886         similar assumptions and there is little point to testing here.
3887         * lib/timespec.h: Include verify.h instead of assure.h.
3888         (timespec_cmp): Use ‘assume’, not ‘assure’.
3889         Also, remove an unnecessary cast to ‘int’, as lots of other
3890         code in this module now causes -Wconversion to complain, and
3891         this is a problem with -Wconversion not with the code.
3893         * modules/timespec (Depends-on): Depend on ‘verify’, not ‘assure’.
3895         Port recent gnulib-tool change to Dash
3896         * gnulib-tool (func_create_testdir): Don't assume that the shell
3897         retokenizes after expanding "$@" inside the call to
3898         func_execute_command.  Dash 0.5.8-2.1ubuntu2 does not.
3900 2017-10-27  Jim Meyering  <meyering@fb.com>
3902         timespec.h: use "assure" to avoid a spurious warning
3903         * lib/timespec.h: Include "assure.h" and use it to help
3904         gcc7's -Wstrict-overflow avoid a false positive warning
3905         for a use in coreutils' ls.c.  Suggested by Paul Eggert in
3906         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00007.html
3907         * modules/timespec (Depends-on): Add assure.
3909 2017-10-29  Bruno Haible  <bruno@clisp.org>
3911         Avoid several test failures with traditional locales on Haiku.
3912         * m4/locale-ar.m4 (gt_LOCALE_AR): On BeOS and Haiku, set LOCALE_AR=none.
3913         * m4/locale-fr.m4 (gt_LOCALE_FR): On BeOS and Haiku, set LOCALE_FR=none.
3914         * m4/locale-ja.m4 (gt_LOCALE_JA): On BeOS and Haiku, set LOCALE_JA-none.
3915         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On BeOS and Haiku, set
3916         LOCALE_ZH_CN=none.
3918 2017-10-29  Bruno Haible  <bruno@clisp.org>
3920         strerror_r-posix: Fix behaviour and test failure on Haiku.
3921         * lib/strerror_r.c (strerror_r): Don't assume that valid error numbers
3922         are positive. Work around return value 0 instead of ERANGE on Haiku.
3923         For unknown error numbers, use a format string consistent with perror().
3924         * doc/posix-functions/strerror_r.texi: Mention the Haiku problem.
3925         * tests/test-strerror_r.c (main): Don't assume that valid error numbers
3926         are positive.
3928 2017-10-29  Bruno Haible  <bruno@clisp.org>
3930         get-rusage-data: Avoid crash on Haiku.
3931         * lib/get-rusage-data.c: Avoid the setlimit-based implementation.
3933 2017-10-29  Bruno Haible  <bruno@clisp.org>
3935         get-rusage-as: Avoid crash on Haiku.
3936         * lib/get-rusage-as.c: Avoid the setlimit-based implementation.
3938 2017-10-29  Bruno Haible  <bruno@clisp.org>
3940         ilogbl: Ensure replacement on Haiku.
3941         * m4/ilogbl.m4 (gl_FUNC_ILOGBL): Invoke gl_FUNC_ILOGBL_WORKS and set
3942         REPLACE_ILOGBL if ilogbl does not work.
3943         (gl_FUNC_ILOGBL_WORKS): New macro.
3944         * lib/math.in.h (ilogbl): Replace if REPLACE_ILOGBL is 1.
3945         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ILOGBL.
3946         * modules/math (Makefile.am): Substitute REPLACE_ILOGBL.
3947         * modules/ilogbl (Depends-on, configure.ac): Consider REPLACE_ILOGBL.
3948         * doc/posix-functions/ilogbl.texi: Mention the Haiku problem.
3950 2017-10-29  Bruno Haible  <bruno@clisp.org>
3952         expl: Ensure replacement on Haiku.
3953         * m4/expl.m4 (gl_FUNC_EXPL): Test whether an expl() return value is
3954         zero.
3955         * doc/posix-functions/expl.texi: Mention the Haiku problem.
3957 2017-10-29  Bruno Haible  <bruno@clisp.org>
3959         math: Fix test failure on Haiku.
3960         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Override on Haiku.
3961         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Update accordingly.
3962         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
3963         * doc/posix-headers/math.texi: Mention the Haiku problem.
3965 2017-10-29  Bruno Haible  <bruno@clisp.org>
3967         gnulib-tool: Avoid unnecessary config.h.in remaking in testdirs.
3968         * gnulib-tool (func_create_testdir): Use workaround against 'autoheader'
3969         bug reported at <https://savannah.gnu.org/support/index.php?109406>.
3971 2017-10-29  Bruno Haible  <bruno@clisp.org>
3973         crypto/*: Verify that the header file is self-contained.
3974         * tests/test-gc-*.c: Include the module's header file immediately after
3975         <config.h>.
3976         * tests/test-hmac-*.c: Likewise.
3977         * tests/test-arcfour.c: Likewise.
3978         * tests/test-arctwo.c: Likewise.
3979         * tests/test-des.c: Likewise.
3980         * tests/test-md2.c: Likewise.
3981         * tests/test-md4.c: Likewise.
3982         * tests/test-md5.c: Likewise.
3983         * tests/test-rijndael.c: Likewise.
3984         * tests/test-sha1.c: Likewise.
3985         * tests/test-sm3.c: Likewise.
3987 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
3988             Bruno Haible  <bruno@clisp.org>
3990         crypto/gc: fix build failure with -Werror=suggest-attribute=const
3991         * lib/gc.h (gc_hash_digest_length): Mark with 'const' attribute.
3993 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
3995         New module: crypto/gc-sm3
3996         * lib/gc.h: Declare SM3-related stuffs.
3997         * lib/gc-gnulib.c: Support sm3 in internal functions.
3998         * lib/gc-libgcrypt.c: Support sm3 with libgcrypt.
3999         * m4/gc-sm3.m4: m4 file for gc-sm3 module.
4000         * modules/crypto/gc-sm3: Define gc-sm3 module.
4001         * tests/test-gc-sm3.c: Implement SM3 test case with libgcrypt.
4002         * modules/crypto/gc-sm3-tests: Define gc-sm3 test module.
4003         * MODULES.html.sh: List gc-sm3 module.
4005 2017-10-29  Bruno Haible  <bruno@clisp.org>
4007         random, random_r: Mention different prototypes on Haiku.
4008         * doc/posix-functions/random.texi: Mention different prototype on Haiku.
4009         * doc/glibc-functions/random_r.texi: Likewise.
4010         * doc/glibc-functions/initstate_r.texi: Likewise.
4011         * doc/glibc-functions/setstate_r.texi: Likewise.
4013 2017-10-28  Bruno Haible  <bruno@clisp.org>
4015         posix_spawn: Avoid spurious message in configure output.
4016         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Discard stderr output from
4017         'cmp' command.
4019 2017-10-28  Bruno Haible  <bruno@clisp.org>
4021         inet_ntop, inet_pton: Determine needed library correctly on Haiku.
4022         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Search also in libnetwork.
4023         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
4025 2017-10-28  Bruno Haible  <bruno@clisp.org>
4027         ioctl: Override non-POSIX declaration on Haiku.
4028         * m4/ioctl.m4 (gl_FUNC_IOCTL): Include also <unistd.h>.
4029         * lib/sys_ioctl.in.h: Add comment about Haiku.
4030         * doc/posix-functions/ioctl.texi: Mention Haiku problem.
4031         * doc/glibc-headers/sys_ioctl.texi: Likewise.
4033 2017-10-28  Bruno Haible  <bruno@clisp.org>
4035         crypto/sm3: Add overview documentation to the .h file.
4036         * lib/sm3.h: Add comments.
4038 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
4040         New module: crypto/sm3
4041         This new module can be used to compute SM3 message digest of files or
4042         memory blocks according to the specification GM/T 004-2012
4043         Cryptographic Hash Algorithm SM3, published by State Cryptography
4044         Administration, China.
4045         The official SM3 cryptographic hash algorithm specification is
4046         available at
4047         http://www.sca.gov.cn/sca/xwdt/2010-12/17/content_1002389.shtml
4048         * lib/sm3.h: Declare the APIs of sm3 module.
4049         * lib/sm3.c: Implement SM3 hash algorithm.
4050         * m4/sm3.m4: m4 file for sm3 module.
4051         * modules/crypto/sm3: Define sm3 module.
4052         * tests/test-sm3.c: Implement SM3 test case.
4053         * modules/crypto/sm3-tests: Define sm3 test module.
4054         * MODULES.html.sh: List sm3 module.
4056 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
4058         gc-libgcrypt: fix undefined enum type in switch statement
4059         Resolve the following build failure:
4060         lib/gc-libgcrypt.c: In function 'gc_hash_open':
4061         lib/gc-libgcrypt.c:317:5: error: case value '0' not in enumerated type
4062         'Gc_hash_mode {aka enum Gc_hash_mode}' [-Werror=switch]
4063              case 0:
4064              ^~~~
4065         * lib/gc.h (enum Gc_hash_mode): Add value GC_NULL.
4066         * lib/gc-libgcrypt.c (gc_hash_open): Use this enum value instead of 0.
4068 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
4070         gc-libgcrypt: fix assignment error due to -Werror=pointer-sign
4071         Resolve the following build failure:
4072         lib/gc-libgcrypt.c: In function 'gc_hash_read':
4073         lib/gc-libgcrypt.c:460:14: error: pointer targets in assignment differ
4074         in signedness [-Werror=pointer-sign]
4075             digest = gcry_md_read (ctx->gch, 0);
4076                    ^
4077         * lib/gc-libgcrypt.c (gc_hash_read): Cast result of gcry_md_read.
4079 2017-10-26  Bruno Haible  <bruno@clisp.org>
4081         havelib: Fix value of LD for 32-bit compilation on NetBSD/sparc64.
4082         * m4/lib-ld.m4 (AC_LIB_PROG_LD): On NetBSD/sparc64 with CC="gcc -m32",
4083         set LD to '/usr/bin/ld -m elf32_sparc', not '/usr/bin/ld'.
4085 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
4087         glob: fix another heap buffer overflow
4088         Problem reported by Tim Rühsen in:
4089         https://sourceware.org/bugzilla/show_bug.cgi?id=22332
4090         * lib/glob.c (glob): Avoid buffer overrun when unescaping.
4092 2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>
4094         quotearg: pacify compiler re unsigned
4095         * lib/quotearg.c (quotearg_n_options):
4096         Rewrite to avoid diagnostic from overly-picky compiler.
4097         Problem reported by Sami Kerola in:
4098         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00060.html
4100         glob: fix heap buffer overflow
4101         * lib/glob.c (glob): Fix off-by-one error introduced into
4102         glibc in commit dd7d45e838a42b0ed470c44b55901ea98d0c2bab
4103         dated 1997-10-29 20:33:40.  Problem reported by Tim Rühsen in:
4104         https://sourceware.org/bugzilla/show_bug.cgi?id=22320
4105         Fix suggested by Bruno Haible.
4107 2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>
4109         glob: pacify fuzzer for mempcpy
4110         Problem reported by Tim Rühsen in:
4111         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00054.html
4112         * lib/glob.c (glob): Do not pass NULL to mempcpy.
4114 2017-10-12  Bruno Haible  <bruno@clisp.org>
4116         doc: Fix syntax error (regression from 2017-10-03).
4117         * doc/posix-functions/strncpy.texi: Fix syntax error.
4119 2017-10-12  Bruno Haible  <bruno@clisp.org>
4121         doc: Update for Solaris 11.3.
4122         * doc/**/*.texi: For bugs that exist in both Solaris 11.0 and 11.3,
4123         mention Solaris 11.3.
4124         * m4/log2.m4: Fix comments.
4125         * m4/log2f.m4: Likewise.
4126         * m4/printf.m4: Update comments.
4127         * m4/rename.m4: Likewise.
4128         * m4/strncat.m4: Likewise.
4130         all: Write "Solaris 11.0" instead of "Solaris 11 2011-11".
4132 2017-10-10  Bruno Haible  <bruno@clisp.org>
4134         doc: Improve doc about ioctl.
4135         * doc/posix-functions/ioctl.texi: Fix list of platforms with non-POSIX
4136         prototype.
4138 2017-10-09  Bruno Haible  <bruno@clisp.org>
4140         wcwidth: Don't use obsolete syntax of 'test'.
4141         Reported by Eric Blake.
4142         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Don't optimize two 'test'
4143         invocations into one, as POSIX marks '-a' and '-o' as "obsolescent".
4145 2017-10-09  Bruno Haible  <bruno@clisp.org>
4147         getopt-posix: Fix build failure when using ac_cv_header_getopt_h=no.
4148         Reported by Christian Ehrhardt <christian.ehrhardt@canonical.com>
4149         and Daniel P. Berrange <berrange@redhat.com>.
4150         * lib/unistd.in.h (getopt): Don't attempt to avoid namespace pollution
4151         on glibc systems. The getopt-pfx-core.h file declares exactly what
4152         unistd.h needs, nothing more.
4154 2017-10-08  Bruno Haible  <bruno@clisp.org>
4156         vma-iter: Improve support for FreeBSD.
4157         * lib/vma-iter.c (vma_iterate_proc): New function, extracted from
4158         vma_iterate.
4159         (vma_iterate): Use it. For FreeBSD, try vma_iterate_bsd first.
4161 2017-10-08  Bruno Haible  <bruno@clisp.org>
4163         vma-iter: Fix truncated result on NetBSD (regression from 2017-10-07).
4164         * lib/vma-iter.c (MIN_LEFTOVER): Define to 1, not 0.
4166 2017-10-07  KO Myung-Hun  <komh@chollian.net>
4168         test-framework-sh: Fix 'invalid path dir' error.
4169         On OS/2, a path separator is ';' not ':'. And ':' is used as a
4170         separator between a drive letter and directory parts.
4171         As a result, an absolute path such as x:/path/to/dir on OS/2 is
4172         treated as an invalid path dir.
4173         * tests/init.sh (PATH_SEPARATOR): Set at startup.
4174         (path_prepend_): '?:*' is also an absolute path. Use $PATH_SEPARATOR
4175         instead of hard coded ':'.
4177 2017-10-07  Bruno Haible  <bruno@clisp.org>
4179         vma-iter: Fix truncated result on Linux (regression from 2017-09-26).
4180         * lib/vma-iter.c (MIN_LEFTOVER): New macro.
4181         (STACK_ALLOCATED_BUFFER_SIZE): Set to a minimal value if not needed.
4182         (rof_open): On Linux, do multiple read() calls and make sure
4183         MIN_LEFTOVER bytes are left when read() returns.
4185 2017-10-07  Bruno Haible  <bruno@clisp.org>
4187         vma-iter: Improve support for GNU/Hurd.
4188         * lib/vma-iter.c (vma_iterate): On GNU/Hurd, use the Mach vm_region()
4189         API, not the /proc file system.
4191 2017-10-07  Bruno Haible  <bruno@clisp.org>
4193         test-framework-sh: Don't require bash on Windows and OS/2.
4194         Reported by KO Myung-Hun.
4195         * tests/test-init.sh: Use 'shopt' only when running in bash.
4197 2017-10-06  KO Myung-Hun  <komh@chollian.net>
4199         wcwidth: check a macro version of wcwidth () as well
4200         * lib/wchar.in.h: Revert commit from 2016-01-14.
4201         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test if wcwidth is a macro.
4203 2017-10-06  Bruno Haible  <bruno@clisp.org>
4205         getopt-posix: Clarify copyright header.
4206         * lib/getopt.in.h: Don't state that gnulib is under LGPL.
4207         * lib/getopt-pfx-core.h: Likewise.
4208         * lib/getopt-pfx-ext.h: Likewise.
4209         * lib/getopt-cdefs.in.h: Likewise.
4211 2017-10-03  Bruno Haible  <bruno@clisp.org>
4213         Fix warning "`gl_HOST_CPU_C_ABI' was expanded before it was required".
4214         * modules/host-cpu-c-abi (configure.ac): Require, don't invoke
4215         gl_HOST_CPU_C_ABI.
4217 2017-10-03  Bruno Haible  <bruno@clisp.org>
4219         doc: warn about misuse of strncpy and wcsncpy.
4220         * doc/posix-functions/strcpy.texi: Describe requirements on prior
4221         memory allocation.
4222         * doc/posix-functions/wcscpy.texi: Likewise.
4223         * doc/posix-functions/strncpy.texi: Describe what this function is not
4224         useful for.
4225         * doc/posix-functions/wcsncpy.texi: Likewise.
4227 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
4229         fsuage: fix typo in previous change
4230         * lib/fsusage.c: Remove stray include of full-read.h.
4231         Problem reported by Sam Steingold for macOS (Bug#28669).
4233 2017-10-01  Paul Eggert  <eggert@cs.ucla.edu>
4235         fsusage: remove SVR2 support
4236         SVR2 was obsolete by 1986 and is no longer supported by anybody,
4237         and its code was getting in the way of use of this module by
4238         Emacs, which has its own ‘read’ function anyway.
4239         * lib/fsusage.c: Do not include sys/filsys.h.
4240         (get_fs_usage): Remove SVR2-specific code.
4241         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE):
4242         Do not test for sys/filsys.h or set STAT_READ_FILSYS.
4243         * modules/fsusage (Depends-on): Do not depend on full-read.
4245         Simplify autoupdate of licenses
4246         * config/srclistvars.sh (GNUWWWLICENSES): Move to a more-typical
4247         place.
4249 2017-10-01  Bruno Haible  <bruno@clisp.org>
4251         vma-iter: Add support for GNU/Hurd.
4252         * lib/vma-iter.c: Treat GNU/Hurd like Linux.
4253         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
4255 2017-09-30  Bruno Haible  <bruno@clisp.org>
4257         vma-iter: Make it work on 32-bit Solaris with module 'largefile'.
4258         * modules/vma-iter: Don't test for sys/procfs.h, as this test would
4259         fail when module 'largefile' is in use.
4260         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't test HAVE_SYS_PROCFS_H.
4261         * lib/vma-iter.c: Undefine _FILE_OFFSET_BITS early.
4262         Don't test HAVE_SYS_PROCFS_H.
4264 2017-09-30  Bruno Haible  <bruno@clisp.org>
4266         havelib: Make it work for CC="gcc -m32" (regression from 2017-02-19).
4267         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Require gl_HOST_CPU_C_ABI.
4268         When $CC produces 32-bit code, set acl_libdirstem to 'lib', not 'lib64'.
4269         * modules/havelib (Depends-on): Add host-cpu-c-abi.
4271 2017-09-30  Bruno Haible  <bruno@clisp.org>
4273         uniname/uniname: Don't assume C99 compiler (regression from 2015-02-16).
4274         * lib/uniname/uniname.c (unicode_name_character): Add braces around
4275         scope of local variables.
4277 2017-09-28  Bruno Haible  <bruno@clisp.org>
4279         string: code style
4280         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Reorder list of
4281         substitutable variables.
4282         * modules/string (Makefile.am): Likewise.
4284 2017-09-26  Bruno Haible  <bruno@clisp.org>
4286         uniname/uniname-tests: Tighten code.
4287         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Merge two
4288         local variables into one.
4290 2017-09-26  Bruno Haible  <bruno@clisp.org>
4292         vma-iter: Improvements for Linux and BSD platforms.
4293         - Add support for DragonFly BSD.
4294         - Make it more reliable on Linux, GNU/kFreeBSD, FreeBSD, NetBSD.
4295         * lib/vma-iter.c (struct rofile, rof_open, rof_peekchar, rof_close):
4296         Read the entire file into memory in a single system call.
4297         (vma_iterate): Update. Read from /proc on DragonFly BSD like on FreeBSD.
4298         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on DragonFly BSD.
4300 2017-09-26  Bruno Haible  <bruno@clisp.org>
4302         vma-iter: Provide the protection flags on FreeBSD.
4303         * lib/vma-iter.c (vma_iterate) [FreeBSD]: When reading from /proc,
4304         skip three fields between the addresses and the protection flags.
4306 2017-09-26  Paul Eggert  <eggert@cs.ucla.edu>
4308         glob: remove bogus extern decl
4309         * lib/glob.c (__glob_pattern_type): Remove now-spurious
4310         extern declaration.  Problem reported by Adhemerval Zanella in:
4311         https://sourceware.org/ml/libc-alpha/2017-09/msg00972.html
4313 2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>
4315         uniname/uniname-tests: integer overflow fix
4316         * tests/uniname/test-uninames.c (fill_names, fill_aliases):
4317         Check for integer overflow.
4319         duplocale-tests: fix unlikely crash
4320         * tests/test-duplocale.c (get_locale_dependent_values):
4321         Don’t crash with absurdly long month names.
4323         maint: fix overflow checking in nap.h
4324         * modules/chown-tests:
4325         * modules/fchownat-tests, modules/fdutimensat-tests:
4326         * modules/futimens-tests, modules/lchown-tests:
4327         * modules/stat-time-tests, modules/utime-tests:
4328         * modules/utimens-tests, modules/utimensat-tests:
4329         Depend on intprops.
4330         * tests/nap.h: Include intprops.h.
4331         (diff_timespec): Handle overflow properly.
4333         sys_types: update URL
4334         * m4/sys_types_h.m4: Use https: URL.
4336         parse-datetime: fix dependency
4337         * modules/parse-datetime (Depends-on): Depend
4338         on nstrftime, not strftime.
4340         parse-datetime, posixtm: avoid uninit access
4341         * lib/parse-datetime.y (parse_datetime2):
4342         * lib/posixtm.c (posixtime):
4343         Do not access uninitialized storage, even though the resulting
4344         value is never used.
4346 2017-09-25  Bruno Haible  <bruno@clisp.org>
4348         vma-iter: Improvements for BSD platforms.
4349         - Add support for GNU/kFreeBSD.
4350         - Make it work on FreeBSD and NetBSD even when /proc is not mounted.
4351         - Speed up on OpenBSD.
4352         * lib/vma-iter.c (struct rofile, rof*): Define also on GNU/kFreeBSD.
4353         (vma_iterate_bsd): New function.
4354         (vma_iterate): Use it as fallback on FreeBSD and NetBSD. Use it as
4355         first choice on OpenBSD. Treat GNU/kFreeBSD like Linux.
4356         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
4357         * modules/vma-iter (configure.ac): Require AC_C_INLINE.
4359 2017-09-23  Bruno Haible  <bruno@clisp.org>
4361         strfmon_l: New module.
4362         * modules/strfmon_l: New file.
4363         * lib/strfmon_l.c: New file.
4364         * m4/strfmon_l.m4: New file.
4365         * doc/posix-functions/strfmon_l.texi: Mention the new module.
4366         * modules/strfmon_l-tests: New file.
4367         * tests/test-strfmon_l.c: New file.
4369         monetary: New module.
4370         * modules/monetary: New file.
4371         * lib/monetary.in.h: New file.
4372         * m4/monetary_h.m4: New file.
4373         * doc/posix-headers/monetary.texi: Mention the new module.
4374         * modules/monetary-tests: New file.
4375         * tests/test-monetary.c: New file.
4376         * modules/monetary-c++-tests: New file.
4377         * tests/test-monetary-c++.cc: New file.
4378         * modules/duplocale-tests (configure.ac): Use AC_CHECK_HEADERS_ONCE.
4380 2017-09-23  Bruno Haible  <bruno@clisp.org>
4382         duplocale tests: Fix test crash on Linux/x86.
4383         * tests/test-duplocale.c (test_with_uselocale): Disconnect the mixed2
4384         locale from the current thread before freeing it.
4386 2017-09-21  Paul Eggert  <eggert@cs.ucla.edu>
4388         mktime: port to OpenVMS
4389         Problem reported by John E. Malmberg in:
4390         https://lists.gnu.org/r/bug-gnulib/2017-09/msg00100.html
4391         * m4/mktime.m4 (TIME_T_IS_SIGNED): Default to 0.
4393 2017-09-16  Paul Eggert  <eggert@cs.ucla.edu>
4395         manywarnings: port to GCC on 64-bit MS-Windows
4396         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Work better if
4397         LONG_MAX < PTRDIFF_MAX.  Problem reported by Richard Copley in:
4398         https://lists.gnu.org/r/emacs-devel/2017-09/msg00392.html
4400 2017-09-13  Bruno Haible  <bruno@clisp.org>
4402         all: Replace many more http URLs by https URLs. Update stale URLs.
4403         * users.txt: Remove mention of 'newts'.
4404         * lib/localename.c: Update comment about LANG_SOTHO.
4406 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
4408         all: Replace many http URLs by https URLs.
4410 2017-09-12  Bruno Haible  <bruno@clisp.org>
4412         doc: Prefer https URLs where possible.
4413         * doc/**/*.texi: Use https URLs instead of http URLs where possible.
4414         * doc/ld-output-def.texi: Remove unavailable URL.
4416 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
4418         maintainer-makefile: FTP -> HTTPS
4419         * top/maint.mk (url_dir_list, ftp-gnu): Use HTTPS protocol instead
4420         of FTP, which is planned to be decommissioned on 2017-11-01.
4422 2017-09-12  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
4424         libc-config: Fix __GNUC_PREREQ macro.
4425         * lib/libc-config.h (__GNUC_PREREQ): Use __GNUC_MINOR__, not
4426         __GNUC_MINOR.
4428 2017-09-09  Bruno Haible  <bruno@clisp.org>
4430         gnulib-tool: Simplify commit from 2015-08-20.
4431         * gnulib-tool (func_add_or_update): Remove local variable
4432         is_binary_file.
4434 2017-09-08  Bruno Haible  <bruno@clisp.org>
4436         stddef: Avoid conflict with system-defined max_align_t.
4437         The configure-determined HAVE_MAX_ALIGN_T may not always be accurate.
4438         Reported by Werner Lemberg <wl@gnu.org> in
4439         <https://lists.gnu.org/r/bug-gnulib/2017-08/msg00185.html>.
4440         * lib/stddef.in.h (rpl_max_align_t): Renamed from max_align_t.
4441         (max_align_t): Define as a macro.
4442         (GNULIB_defined_max_align_t): New macro. Guards against multiple
4443         definitions of rpl_max_align_t in different copies of gnulib-generated
4444         <stddef.h>.
4446 2017-09-05  Paul Eggert  <eggert@cs.ucla.edu>
4448         libc-config: port to MSVC
4449         Problems reported by Gisle Vanem in:
4450         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00016.html
4451         * lib/libc-config.h (__inline): Don't define if HAVE___INLINE.
4452         (libc_hidden_proto): Stick to Standard C syntax for varargs macro.
4453         * m4/__inline.m4: New file.
4454         * modules/libc-config (Files): Add it.
4455         (Depends-on): Use it.
4457         glob: Use enum for __glob_pattern_type result
4458         From a patch proposed by Adhemerval Zanella in:
4459         https://sourceware.org/ml/libc-alpha/2017-09/msg00212.html
4460         * lib/glob_internal.h (GLOBPAT_NONE, GLOBPAT_SPECIAL)
4461         (GLOBPAT_BACKSLASH, GLOBPAT_BRACKET): New constants.
4462         * lib/glob_internal.h (__glob_pattern_type):
4463         * lib/glob.c (glob):
4464         * lib/glob_pattern_p.c (__glob_pattern_p):
4465         Use them.
4467         glob: fix for use in glibc
4468         Problem reported by Adhemerval Zanella in:
4469         https://sourceware.org/ml/libc-alpha/2017-09/msg00213.html
4470         * lib/glob.c (DT_UNKNOWN, DT_DIR, DT_LINK):
4471         Do not redefine if _LIBC.
4473 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
4475         glob: fix bugs with long login names
4476         Problem reported by Adhemerval Zanella in:
4477         https://sourceware.org/ml/libc-alpha/2017-08/msg00455.html
4478         * lib/glob.c (GET_LOGIN_NAME_MAX): Remove.
4479         (glob): Use the same scratch buffer for both getlogin_r and
4480         getpwnam_r.  Don’t require preallocation of the login name.  This
4481         simplifies storage allocation, and corrects the handling of
4482         long login names.
4484 2017-09-02  Bruno Haible  <bruno@clisp.org>
4486         dirent: Update doc.
4487         * doc/posix-headers/dirent.texi: More concrete list of platforms.
4489 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
4491         glob: fix getpwnam_r errno typo
4492         * lib/glob.c (glob): Fix longstanding misuse of errno after
4493         getpwnam_r, which returns an error number rather than setting
4494         errno.
4496         glob: fix typo in recent change
4497         * lib/glob.c (glob) [!HAVE_GETPWNAM_R && !_LIBC]:
4498         Fix recently-introduced typo.
4500 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
4502         glob: don't save and restore errno unnecessarily
4503         * lib/glob.c (glob): Don't save and restore errno
4504         merely because we have getpwnam_r.
4506         glob: don't assume getpwnam_r
4507         * lib/glob.c (glob): Port recent patches to platforms
4508         lacking getpwnam_r.
4510         scratch_buffer: don’t use private glibc API
4511         Suggested by Florian Weimer in:
4512         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00004.html
4513         * lib/scratch_buffer.h: Rename to lib/malloc/scratch_buffer.h.
4514         * lib/scratch_buffer_grow.c: Rename to
4515         lib/malloc/scratch_buffer_grow.c.
4516         * lib/scratch_buffer_grow_preserve.c: Rename to
4517         lib/malloc/scratch_buffer_grow_preserve.c.
4518         * lib/scratch_buffer_set_array_size.c: Rename to
4519         lib/malloc/scratch_buffer_set_array_size.c.
4520         * lib/scratch_buffer.h: New file.
4521         * modules/scratch_buffer (Files, Makefile.am):
4522         Adjust to source-file renaming.
4524 2017-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4526         glob: use scratch_buffer instead of extend_alloca
4527         Much of the lib/glob.c part of this patch comes from a glibc patch
4528         proposed by Adhemerval Zanella in:
4529         https://sourceware.org/ml/libc-alpha/2017-08/msg00456.html
4530         * lib/glob.c: Do not include <config.h>, since <libc-config.h>,
4531         included via glob.h, does this for us now.
4532         (__set_errno): Remove, as libc-config does this for us now.
4533         Include <scratch_buffer.h>.
4534         (GETPW_R_SIZE_MAX): Remove.
4535         (glob): Use struct scratch_buffer instead of extend_alloca.
4536         * lib/glob.in.h: Include libc-config.h rather than
4537         including <sys/cdefs.h> conditionally.
4538         (__BEGIN_DECLS, __END_DECLS, __THROW, __THROWNL, attribute_hidden)
4539         (__glibc_unlikely, __restrict, weak_alias):
4540         Remove, as libc-config does this for us now.
4541         * m4/glob.m4 (gl_PREREQ_GLOB):
4542         Remove sys/cdefs.h tests; no longer needed.
4543         * modules/glob (Depends-on): Add libc-config, scratch_buffer.
4544         (glob.h): Do not replace HAVE_SYS_CDEFS_H.
4546         scratch_buffer: new module
4547         * lib/scratch_buffer.h, lib/scratch_buffer_grow.c:
4548         * lib/scratch_buffer_grow_preserve.c:
4549         * lib/scratch_buffer_set_array_size.c:
4550         New files, copied from glibc with very minor changes that can be
4551         copied back.
4552         * modules/scratch_buffer: New file.
4554         libc-config: new module
4555         * MODULES.html.sh: Add libc-config.
4556         * lib/cdefs.h: New file, copied from the GNU C Library with very
4557         minor changes that can be copied back.
4558         * lib/libc-config.h, modules/libc-config: New files.
4560 2017-08-31  Paul Eggert  <eggert@cs.ucla.edu>
4562         glob: match dangling symlinks
4563         This fixes a bug I inadvertently introduced to Gnulib when I
4564         merged glibc glob back into gnulib on 2007-10-16.  This fix is
4565         inspired by a patch proposed for glibc by Adhemerval Zanella in:
4566         https://sourceware.org/ml/libc-alpha/2017-08/msg00446.html
4567         * doc/posix-functions/glob.texi: Update list of affected platforms.
4568         * lib/glob.c (__lstat64): New macro.
4569         (is_dir): New function.
4570         (glob, glob_in_dir): Match symlinks even if they are dangling.
4571         (link_stat, link_exists_p): Remove.  All uses removed.
4572         * lib/glob.in.h (__attribute_noinline__): Remove; no longer used.
4573         * m4/glob.m4 (gl_PREREQ_GLOB): Do not check for fstatat.
4574         * modules/glob-tests (Depends-on): Add symlink.
4575         * tests/test-glob.c: Include errno.h, unistd.h.
4576         (BASE): New macro.
4577         (main): Test dangling symlinks, if symlinks are supported.
4579         glob, backupfile: inode 0 is a valid inode number
4580         * doc/posix-functions/readdir.texi (readdir):
4581         * doc/posix-headers/dirent.texi (dirent.h):
4582         Document more readdir portability issues.
4583         * lib/backupfile.c (REAL_DIR_ENTRY): Remove.
4584         (numbered_backup): Don’t treat inode 0 any differently from
4585         other inode values.
4586         * lib/glob.c (struct readdir_result): Remove skip_entry member.
4587         (readdir_result_skip_entry, D_INO_TO_RESULT): Remove.
4588         All uses removed.
4589         * modules/glob (Depends-on): Remove d-ino.
4591         glob: simplify symlink detection
4592         * lib/glob.c (dirent_type): New type.  Use uint_fast8_t not
4593         uint8_t, as C99 does not require uint8_t.
4594         (struct readdir_result): Use it.  Do not define skip_entry unless
4595         it is needed; this saves a byte on platforms lacking d_ino.
4596         (readdir_result_type, readdir_result_skip_entry):
4597         New functions, replacing ...
4598         (readdir_result_might_be_symlink, readdir_result_might_be_dir):
4599         ... these functions, which were removed.  This makes the callers
4600         easier to read.  All callers changed.
4601         (D_INO_TO_RESULT): Now empty if there is no d_ino.
4603 2017-08-30  Pádraig Brady  <P@draigBrady.com>
4605         fts-tests: tag as a longrunning-test so not included by default
4606         * modules/fts-tests: This test takes about 20s on current systems,
4607         and uses about 285M of space on ext4.
4609 2017-08-30  Pádraig Brady  <P@draigBrady.com>
4611         renameat2: fix compilation on alpine linux
4612         * m4/renameat.m4: Check for <linux/fs.h> presence.
4613         * lib/renameat2.h: Only include <linux/fs.h> if present.
4614         Reported by Assaf Gordon on Alpine Linux.
4616 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
4618         glob: try to port recent changes to MS-Windows
4619         Problem reported by Bruno Haible in:
4620         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00170.html
4621         * lib/glob.c (__glob_pattern_p) [!_LIBC]: Move from here ...
4622         * lib/glob.in.h (__glob_pattern_p): ... to here.
4624 2017-08-24  Eric Blake  <eblake@redhat.com>
4626         warnings: fix compilation with old autoconf
4627         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C))
4628         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): Use m4_defun rather than
4629         AC_DEFUN.
4630         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C))
4631         (gl_MANYWARN_ALL_GCC(C++)): Likewise.
4633 2017-08-24  Bruno Haible  <bruno@clisp.org>
4635         glob: Fix compilation error on NetBSD 7.0 and OpenBSD 6.0.
4636         * modules/glob (Depends-on): Add c99.
4638 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
4640         glob: fix typo that broke platforms lacking d_ino
4641         This typo also hurt performance on GNU/Linux and similar hosts.
4642         * lib/glob.c (D_INO_TO_RESULT): Fix typo (reversed ifdef)
4643         in previous change.
4645 2017-08-23  Paul Eggert  <eggert@cs.ucla.edu>
4647         glob: merge from glibc with Zanella glob changes
4648         Merge glob from glibc, with changes for glob proposed
4649         by Adhemerval Zanella in the thread starting here:
4650         https://sourceware.org/ml/libc-alpha/2017-08/msg01079.html
4651         plus some fixes for this merge.
4652         * lib/glob_internal.h, lib/glob_pattern_p.c, lib/globfree.c:
4653         New files, ported from glibc.
4654         * lib/glob-libc.h (_Restrict_): Remove.  All uses replaced
4655         with __restrict.
4656         (__size_t): Remove.  All uses replaced by size_t.
4657         (size_t): Define by defining __need_size_t and including <stddef.h>.
4658         This should work even in non-glibc platforms, where any name
4659         pollution is OK.
4660         Use __USE_MISC instead of __USE_BSD || __USE_GNU.
4661         (struct stat64): Don’t worry about __GLOB_GNULIB.
4662         (glob, globfree, glob_pattern_p): Remove macros for
4663         __USE_FILE_OFFSET64 && __GNUC__ < 2 && !defined __GLOB_GNULIB
4664         case.  Remove _GL_ARG_NONNULL as GNU behavior is to accept NULL
4665         but set errno.
4666         * lib/glob.c (_GL_ARG_NONNULL) [!_LIBC]: Remove.  All uses
4667         removed since the glibc behavior works on null pointers.
4668         Do not include stdio.h; old SunOS is irrelevant now.
4669         Do not worry about GLOB_ONLY_P as we now mimic glibc here.
4670         Include glob_internal.h.
4671         (D_INO_TO_RESULT): Depend on (_LIBC || D_INO_IN_DIRENT), not
4672         ((POSIX || WINDOWS32) && !__GNU_LIBRARY__).  The latter probably
4673         worked only coincidentally.
4674         (attribute_hidden, __attribute_noinline__, __glibc_unlikely):
4675         Remove macros; now done in glob.in.h.
4676         (size_add_wrapv): Do not use __builtin_add_overflow if __ICC.
4677         (glob): Properly initialize glob structure with
4678         GLOB_BRACE|GLOB_DOOFFS (bug 20707).
4679         Remove old code using SHELL since Bash no longer
4680         uses this.
4681         (glob, prefix_array): Separate MS code better.
4682         (glob, glob_in_dir): Use C99 decls before statements when glibc
4683         does.
4684         (glob_in_dir): Remove old Amiga and VMS code.
4685         (globfree, __glob_pattern_type, __glob_pattern_p): Move to
4686         separate files.
4687         * lib/glob.in.h (attribute_hidden, __attribute_noinline__)
4688         (__glibc_unlikely):
4689         Move here from glob.c.
4690         (__restrict): New macro here, replacing the _Restrict_ in glob.c.
4691         (weak_alias): New macro.
4692         (__size_t): Remove.  All uses replaced by size_t.
4693         * modules/d-ino (License): Now LGPLv2+, for compatibility with glob.
4694         * modules/glob (Files): Add +lib/glob_internal.h,
4695         lib/glob_pattern_p.c, lib/globfree.c.
4696         (Depends-on): Remove snippet/arg-nonnull.
4698 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
4700         glob: port to clang's Undefined Sanitizer
4701         Problem reported by Tim Rühsen in:
4702         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00144.html
4703         * lib/glob.c (FLEXIBLE_ARRAY_MEMBER) [_LIBC]: Define to empty.
4704         (glob_in_dir): Do not rely on undefined behavior in accessing
4705         struct members beyond their bounds.  Use a flexible array member
4706         instead.
4708 2017-08-21  Paul Eggert  <eggert@cs.ucla.edu>
4710         vc-list-files: port to Solaris 10
4711         * build-aux/vc-list-files: Don't assume test -e works.
4713 2017-08-21  Karl Berry  <karl@freefriends.org>
4715         * doc/posix-functions/srandom.texi (srandom): typo }.
4717 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
4719         git-version-gen: port to Solaris 10
4720         Problem reported by Dagobert Michelsen in:
4721         http://lists.gnu.org/r/grep-devel/2017-08/msg00002.html
4722         * build-aux/git-version-gen (v_from_git):
4723         Use expr instead of shell substitution.
4725 2017-08-19  Bruno Haible  <bruno@clisp.org>
4727         host-cpu-c-abi: Improve detection of MIPS ABI.
4728         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, test the value of
4729         _MIPS_SIM.
4731 2017-08-17  Bruno Haible  <bruno@clisp.org>
4733         hypot tests: Fix test failure on FreeBSD 11.0/x86.
4734         * tests/test-hypot.h (test_function): Declare z as 'volatile'.
4736 2017-08-17  Bruno Haible  <bruno@clisp.org>
4738         float: Fix LDBL_MIN value on FreeBSD/x86.
4739         * lib/float.in.h (LDBL_MIN) [__FreeBSD__]: Add more precision.
4741 2017-08-17  Bruno Haible  <bruno@clisp.org>
4743         random: Fix test compilation failure on Cygwin 1.5.25.
4744         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_INITSTATE,
4745         HAVE_DECL_SETSTATE.
4746         * m4/random.m4 (gl_FUNC_RANDOM): Test whether initstate and setstate are
4747         declared.
4748         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_INITSTATE,
4749         HAVE_DECL_SETSTATE.
4750         * lib/stdlib.in.h (initstate): Declare also if HAVE_DECL_INITSTATE is 0.
4751         (setstate): Declare also if HAVE_DECL_SETSTATE is 0.
4752         * doc/posix-functions/initstate.texi: Mention the Cygwin 1.5.x problem.
4753         * doc/posix-functions/random.texi: Likewise.
4754         * doc/posix-functions/setstate.texi: Likewise.
4755         * doc/posix-functions/srandom.texi: Likewise.
4757 2017-08-16  Bruno Haible  <bruno@clisp.org>
4759         stdnoreturn: Fix test compilation failure on Cygwin.
4760         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On Cygwin, use gnulib's
4761         <stdnoreturn.h> replacement.
4762         * lib/stdnoreturn.in.h (noreturn): Treat Cygwin like MSVC.
4763         * doc/posix-headers/stdnoreturn.texi: Mention the Cygwin problem.
4765 2017-08-16  Bruno Haible  <bruno@clisp.org>
4767         thread: Fix conflict with pthread_sigmask module.
4768         * lib/glthread/thread.h (pthread_sigmask): Don't declare it weak if
4769         it's defined as a macro.
4770         * modules/thread (Depends-on): Add pthread_sigmask.
4772 2017-08-16  Paul Eggert  <eggert@cs.ucla.edu>
4774         rename: port better to NetBSD
4775         * doc/posix-functions/rename.texi (rename): NetBSD 7
4776         does not have the link-count bug.
4777         * m4/rename.m4 (gl_FUNC_RENAME): Don’t consider NetBSD to be
4778         broken merely because rename ("a", "b") removes "a" when the two
4779         names are hard links to the same file.
4781 2017-08-16  Bruno Haible  <bruno@clisp.org>
4783         iconv_open, uni*: Add support for VPATH builds with OpenBSD 'make'.
4784         * modules/iconv_open (Makefile.am): In the rules that use gperf, prefix
4785         the target file names with '$(srcdir)/'.
4786         * modules/unicase/locale-language (Makefile.am): Likewise.
4787         * modules/unicase/special-casing (Makefile.am): Likewise.
4788         * modules/unictype/bidiclass-byname (Makefile.am): Likewise.
4789         * modules/unictype/category-byname (Makefile.am): Likewise.
4790         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
4791         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
4792         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
4793         * modules/unictype/property-byname (Makefile.am): Likewise.
4794         * modules/unictype/scripts (Makefile.am): Likewise.
4795         * modules/uninorm/composition (Makefile.am): Likewise.
4797 2017-08-16  Bruno Haible  <bruno@clisp.org>
4799         nonblocking-socket tests: Fix failure on OpenBSD 6.0.
4800         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE): Increase
4801         value for OpenBSD.
4803 2017-08-16  Bruno Haible  <bruno@clisp.org>
4805         rename, renameat: Update doc regarding NetBSD.
4806         * doc/posix-functions/rename.texi: Clarify that when using
4807         -D_XOPEN_SOURCE=500 on NetBSD 7.0, the hard link bug is gone.
4808         * doc/posix-functions/renameat.texi: Be more precise about NetBSD
4809         version.
4811 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
4813         renameat2: port better to macOS
4814         * lib/renameat2.c (renameat2): Use renameatx_np if available.
4816         futimens: don’t assume struct timespec layout
4817         * m4/futimens.m4 (gl_FUNC_FUTIMENS):
4818         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT):
4819         * tests/test-fdutimensat.c (main):
4820         * tests/test-futimens.h (test_futimens):
4821         * tests/test-lutimens.h (test_lutimens):
4822         * tests/test-utimens.h (test_utimens):
4823         * tests/test-utimensat.c (main):
4824         Don’t assume that struct timespec is a two-member structure in
4825         tv_sec, tv_nsec order.  Although this is true on all platforms we
4826         know about, POSIX does not guarantee it.
4828         rename: document+test NetBSD rename
4829         Test failure reported by Bruno Haible in:
4830         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00104.html
4831         This is an area where NetBSD is better-behaved than POSIX,
4832         so allow the NetBSD behavior in tests.
4833         * doc/posix-functions/rename.texi:
4834         * doc/posix-functions/renameat.texi: Document NetBSD behavior.
4835         * tests/test-rename.h (test_rename): Allow NetBSD behavior.
4837 2017-08-15  Bruno Haible  <bruno@clisp.org>
4839         renameat: Ensure declaration in <stdio.h> on NetBSD.
4840         * lib/stdio.in.h: Include <unistd,h> also on NetBSD.
4841         * doc/posix-functions/renameat.texi: Mention this problem.
4843 2017-08-15  Bruno Haible  <bruno@clisp.org>
4845         duplocale: Work around NetBSD 7.0 bug.
4846         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Test against the NetBSD 7.0 bug.
4847         * lib/duplocale.c: Add comment about NetBSD problem.
4848         * doc/posix-functions/duplocale.texi: Mention the NetBSD problem.
4850 2017-08-15  Bruno Haible  <bruno@clisp.org>
4852         duplocale tests: Verify use with *_l functions.
4853         * modules/duplocale-tests (configure.ac): Test for uselocale and
4854         some *_l functions.
4855         * tests/test-duplocale.c (test_with_uselocale): New function, extracted
4856         from main.
4857         (get_locale_dependent_values_from, test_with_locale_parameter): New
4858         functions.
4859         (main): Test both test_with_uselocale and test_with_locale_parameter.
4861 2017-08-15  Bruno Haible  <bruno@clisp.org>
4863         extensions: Enable NetBSD specific extensions.
4864         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _NETBSD_SOURCE.
4866 2017-08-14  Bruno Haible  <bruno@clisp.org>
4868         open, openat: Update doc about O_CLOEXEC.
4869         * doc/posix-functions/open.texi: More concrete list of platforms.
4870         * doc/posix-functions/openat.texi: Likewise.
4872 2017-08-14  Paul Eggert  <eggert@cs.ucla.edu>
4874         open: support O_CLOEXEC
4875         * NEWS, doc/posix-functions/open.texi:
4876         * doc/posix-functions/openat.texi: Document this.
4877         * lib/fcntl.in.h (O_CLOEXEC): Default to a nonzero value.
4878         (GNULIB_defined_O_CLOEXEC): New symbol.
4879         * lib/open.c: Include cloexec.h.
4880         (open): Support O_CLOEXEC.
4881         * lib/openat.c: Include cloexec.h.
4882         (rpl_openat): Support O_CLOEXEC.
4883         * lib/popen-safer.c: Do not include cloexec.h.
4884         (open_noinherit): Remove.
4885         (popen_safer): Use O_CLOEXEC instead of set_cloexec_flag.
4886         * lib/save-cwd.c: Do not include cloexec.h.
4887         (save_cwd): Use O_CLOEXEC instead of set_cloexec_flag.
4888         * m4/open-cloexec.m4: New file.
4889         * m4/open.m4 (gl_FUNC_OPEN): Require gl_PREPROC_O_CLOEXEC.
4890         Replace 'open' if O_CLOEXEC is not present.
4891         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_PREPROC_O_CLOEXEC.
4892         Replace 'openat' if O_CLOEXEC is not present.
4893         * modules/freopen (Depends-on): Depend on 'open' if replacing freopen.
4894         * modules/open (Files): Add m4/open-cloexec.m4.
4895         (Depends-on): Depend on cloexec if replacing 'open'.
4896         * modules/openat (Files): Add m4/open-cloexec.m4.
4897         (Depends-on): Depend on cloexec if replacing openat.
4898         * modules/popen-safer (Depends-on): Remove cloexec.
4899         * modules/save-cwd (Depends-on): Remove cloexec, and add
4900         fd-safer-flag and 'open'.
4902 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
4904         reallocarray: minor fixes
4905         * doc/glibc-functions/reallocarray.texi: Update version numbers.
4906         * m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Don't trust _cv_ contents.
4907         * modules/reallocarray (License): Change from GPL to LGPL.
4908         * tests/test-reallocarray.c (main): Fix ENOMEM typo.
4909         Indent properly and don't use tabs.
4911 2017-08-13  Darshit Shah  <darnir@gnu.org>
4913         reallocarray: New module
4914         reallocarray is a new function in glibc 2.26 to safely allocate an array
4915         of memory locations with integer overflow protection.
4916         * MODULES.html.sh: Add reallocarray.
4917         * doc/glibc-functions/reallocarray.texi: Documentation for reallocarray.
4918         * lib/reallocarray.c: New file to implement module reallocarray.
4919         * lib/stdlib.in.h: Add function declarations for reallocarray.
4920         * m4/reallocarray.m4: New file.
4921         * m4/stdlib_h.m4: Declare reallocarray.
4922         * modules/reallocarray: New file.
4923         * modules/reallocarray-test: New file.
4924         * modules/stdlib: Coerce stdlib.h to export reallocarray.
4925         * tests/test-reallocarray.c: New test.
4927 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
4929         dirent-safer: fix cloexec race
4930         * lib/opendir-safer.c: Include fcntl.h instead of unistd-safer.h.
4931         (opendir_safer): Use F_DUPFD_CLOEXEC.
4932         * modules/dirent-safer (Depends-on): Add fcntl.  Remove unistd-safer.
4933         * tests/test-dirent-safer.c: Do not include unistd-safer.h,
4934         as it is no longer a prerequisite.  Use F_DUPFD_CLOEXEC
4935         instead of dup_safer.
4937         fts: fix cloexec races
4938         * lib/fts.c [!_LIBC]: Do not include dirent--.h, unistd--.h, cloexec.h.
4939         (opendirat, diropen): Use O_CLOEXEC instead of set_cloexec_flag.
4940         (fts_build): Use F_DUPD_CLOEXEC rinstad of set_cloexec_flag.
4941         (fd_ring_check): Set cloexec flag on new file descriptors.
4942         (fts_build, fd_ring_check): While we’re at it, make sure the
4943         resulting file descriptor is not 0, 1, or 2, since that is easy.
4945 2017-08-11  Bruno Haible  <bruno@clisp.org>
4947         fts tests: Fix link error.
4948         Reported by Tom G. Christensen in
4949         https://lists.gnu.org/r/bug-gnulib/2017-08/msg00078.html
4950         * modules/fts-tests (Makefile.am): Link test-fts against LIBINTL.
4952 2017-08-10  Paul Eggert  <eggert@cs.ucla.edu>
4954         fts: port recent changes to CentOS 6
4955         Problem reported by Tom G. Christensen in:
4956         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00064.html
4957         * lib/fts.c (fsword): New type.
4958         (struct dev_type, filesystem_type): Use it.
4959         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for __fsword_t.
4960         Also, check for f_type only if fstatfs and sys/vfs.h work.
4962 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
4964         tempname: do not depend on secure_getenv
4965         Excess dependency noted by Eli Zaretskii (Bug#28023#17).
4966         * lib/tempname.c (__secure_getenv) [!_LIBC]: Remove; unused.
4967         * modules/tempname (Depends-on): Remove secure_getenv.
4969 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
4971         extensions: add _OPENBSD_SOURCE
4972         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _OPENBSD_SOURCE.
4974 2017-08-06  Reuben Thomas  <rrt@sc3d.org>
4975             Bruno Haible  <bruno@clisp.org>
4977         manywarnings: Add support for C++.
4978         * build-aux/g++-warning.spec: New file.
4979         * m4/manywarnings-c++.m4: New file.
4980         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C++)): New macro, that
4981         redirects to manywarnings-c++.m4.
4982         * modules/manywarnings (Files): Add m4/manywarnings-c++.m4.
4984 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
4986         git-version-gen: another fix for tags with "-"
4987         * build-aux/git-version-gen: Improve fix for tags containing "-".
4988         Suggested by Markus Armbruster in:
4989         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00034.html
4991 2017-08-06  Bruno Haible  <bruno@clisp.org>
4993         warnings, manywarnings: Add support for multiple languages, not just C.
4994         * warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL): Renamed from
4995         gl_UNKNOWN_WARNINGS_ARE_ERRORS.
4996         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C)): New macro.
4997         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): New macro.
4998         (gl_UNKNOWN_WARNINGS_ARE_ERRORS): Dispatch to
4999         gl_UNKNOWN_WARNINGS_ARE_ERRORS(_AC_LANG).
5000         (gl_WARN_ADD): Require the gl_UNKNOWN_WARNINGS_ARE_ERRORS specialization
5001         of the current language. If C++ is the current language, modify
5002         WARN_CXXFLAGS instead of WARN_CFLAGS.
5003         * manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): New macro, extracted from
5004         gl_MANYWARN_ALL_GCC.
5005         (gl_MANYWARN_ALL_GCC): Dispatch to gl_MANYWARN_ALL_GCC(_AC_LANG).
5007 2017-08-06  Markus Armbruster  <armbru@pond.sub.org>
5009         git-version-gen: Fix for tags containing '-'
5011         Really old versions of git-describe (before v1.5.0, Feb 2007)
5012         don't have the number of commits in their long format output,
5013         i.e. where modern 'git describe --abbrev=4 --match="v*"' prints
5014         "v0.1-1494-g124b9", they print "v0.1-1494-g124b9".  git-version-gen
5015         recognizes both patterns, and normalizes the old format to the new one.
5017         Unfortunately, this normalization code gets confused when the tag
5018         contains '-'.  Reproducer:
5020             $ git-tag -m test v0.2-rc1
5021             $ build-aux/git-version-gen .tarball-version; echo
5022             build-aux/git-version-gen: WARNING: git rev-list failed
5023             UNKNOWN
5025         We take exact tag "v0.2-rc1" for the old format, extract the presumed
5026         tag "v0.2" from it, then run "git rev-list v0.2..HEAD" to count
5027         commits since tha tag.  Fails, because tag "v0.2" does not exist.
5029         * git-version-gen: We could perhaps drop support for versions from
5030         more than a decade ago.  But tightening the pattern match is easy
5031         enough, so do that.  Still breaks when you use version tags ending in
5032         something matching -g????, but you arguably get what you deserve then.
5034 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
5036         valgrind-tests: use ls, and cache
5037         * m4/valgrind-tests.m4: Test ls, not bash.
5038         Problem reported by Reuben Thomas.
5039         Also, cache the result so that it can be overridden.
5041 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
5043         manywarnings: port to 64-bit GCC builds of Emacs
5044         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Compute max safe
5045         object size rather than hardwiring 2147483647.  This is needed to
5046         build GNU Emacs, which has one conditional (and used
5047         only-in-theory) call to malloc with a literal greater than
5048         2147483647.
5050 2017-08-04  Bruno Haible  <bruno@clisp.org>
5052         Relax the license of some modules with no runtime code.
5053         * modules/std-gnu11 (License): Set to 'unlimited'.
5054         * modules/c99 (License): Likewise.
5055         Reported by Reuben Thomas <rrt@sc3d.org>.
5056         * modules/d-ino (License): Set to 'LGPL'.
5057         * modules/host-os (License): Likewise.
5058         * modules/longlong (License): Likewise.
5060 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
5062         renameat2: port to RHEL 7 + NFS
5063         * lib/renameat2.c (renameat2) [SYS_renameat2]:
5064         Port to RHEL 7 + NFS.  Problem reported by Ted Zlatanov in:
5065         http://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
5067 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
5069         renameat2: port to non-renameat platforms
5070         Problem reported for MSVC-2015 by Gisle Vanem in:
5071         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00001.html
5072         * lib/renameat2.c [!HAVE_RENAMEAT]: Include <sys/stat.h> here too.
5073         (renameat2) [!HAVE_RENAMEAT]: Fix typo in arg passing.
5075 2017-08-01  Paul Eggert  <eggert@cs.ucla.edu>
5077         manywarnings: port to 32-bit GCC bug
5078         Problem reported by Pino Toscano in:
5079         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00150.html
5080         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Use 2**31 - 1,
5081         not 2**63 - 1, to work around the following GCC bug:
5082         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81650
5084 2017-07-30  Paul Eggert  <eggert@cs.ucla.edu>
5086         backupfile: new function to validate backup suffix
5087         * lib/backupfile.c (set_simple_backup_suffix): New function.
5088         (backupfile_internal): Use it.
5090         canonicalize: fix EOVERFLOW commentary
5091         Problem reported by Bruno Haible in:
5092         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00147.html
5093         * lib/canonicalize.c (canonicalize_filename_mode):
5094         * lib/canonicalize-lgpl.c (__realpath): Fix comments.
5096         Don't interpret EOVERFLOW to mean nonexistence
5097         * lib/fts.c (fts_stat): If lstat fails, report its errno, which
5098         may be EOVERFLOW; this is likely more useful than reporting the
5099         stat errno.
5100         * lib/glob.c (link_stat): Rename from link_exists2_p and
5101         return -1/0 instead of 0/1.  Caller changed.
5102         * lib/glob.c (link_exists_p):
5103         * lib/renameat2.c (rename_noreplace, renameat2):
5104         * lib/tempname.c (try_nocreate):
5105         If errno == EOVERFLOW then the directory entry exists, so do not
5106         act as if it does not exist.
5108         backup-rename: new module
5109         It is like backupfile, except it avoids some race conditions,
5110         and it does not output to stderr or exit.
5111         * MODULES.html.sh: Add backup-rename.
5112         * lib/backup-find.c, lib/backup-internal.h, lib/backup-rename.c:
5113         * modules/backup-rename: New files.
5114         * lib/backupfile.c: Turn this into an internals file, which
5115         contains code common to backupfile and backup_rename.  Include
5116         backupfile-internal.h instead of backupfile.h.  Do not include
5117         argmatch.h or xalloc.h: include xalloc-oversized.h.  Include
5118         renameat2.h and fcntl.h.
5119         (BACKUP_NOMEM): New constant.
5120         (numbered_backup): New args BASE_OFFSET and *DIRPP.  Do not exit
5121         on memory exhaustion; just return BACKUP_NOMEM.  Caller changed.
5122         (backupfile_internal): Rename from find_backup_file_name.
5123         Support new arg RENAME.
5124         (backup_args, backup_types, get_version, xget_version):
5125         Move to lib/backup-find.c.
5126         * lib/backupfile.h (backup_file_rename): New decl.
5127         * modules/backupfile (Files): Add lib/backup-internal.h,
5128         lib/backup-find.c.
5129         (Depends-on): Add dirfd, fcntl, renameat2.
5130         (lib_SOURCES): Add backup-find.c.
5132         renameat2: port better to older Solaris
5133         * lib/renameat2.c (renameat2): Set ret_val properly on old Solaris.
5134         Add goto to use a label, to silence picky compilers.
5136         fts-tests: port to gcc -Wwrite-strings
5137         * tests/test-fts.c (base, base_d): New static vars.
5138         (argv, remove_tree, main): Use them.
5140 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
5142         relocatable-lib{,-lgpl}: improve documentation
5143         * doc/relocatable-maint.texi: Document use of relocatable-lib{,-lgpl}.
5144         Various other updates.
5146 2017-07-30  Reuben Thomas  <rrt@sc3d.org>
5147             Bruno Haible  <bruno@clisp.org>
5149         relocatable-lib{,-lgpl}: add Valgrind suppressions
5150         * lib/relocatable.valgrind: New file.
5151         * modules/relocatable-lib (Files): Add relocatable.valgrind.
5152         * modules/relocatable-lib-lgpl: Likewise.
5154 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
5156         relocatable: Make the license on the sources the GPL.
5157         * lib/relocatable.h, lib/relocatable.c: Change the copyright notice from
5158         LGPL, which was a special case so that the relocatable source files
5159         could be used without gnulib-tool, to GPL. They can still be used under
5160         the LGPL, using the --lgpl option to gnulib-tool.
5162 2017-07-30  Bruno Haible  <bruno@clisp.org>
5164         host-cpu-c-abi: Detect ILP32 ABI on IA-64 HP-UX.
5165         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Distinguish ia64-ilp32
5166         from ia64. For arm64, test only __aarch64__, as __ARM_64BIT_STATE and
5167         __ARM_PCS_AAPCS64 are not reliable indicators: they are not defined on
5168         Ubuntu 14.04 (gcc 4.8.4) and Debian 8 (gcc 4.9.2).
5170 2017-07-27  Paul Eggert  <eggert@cs.ucla.edu>
5172         faccessat: document AT_SYMLINK_NOFOLLOW issue
5173         * doc/posix-functions/faccessat.texi: Modernize platform list.
5174         Document AT_SYMLINK_NOFOLLOW limitation.
5176         renameat2: port to Solaris 10
5177         * lib/renameat2.c (rename_noreplace): Use lstat, not faccessat
5178         with AT_SYMLINK_NOFOLLOW (which is not portable).
5179         (renameat): Undef before using, to avoid endless recursion when
5180         the replacement renameat calls renameat2 which calls the
5181         replacement renameat.
5182         (renameat2): Use lstatat, not faccessat with AT_SYMLINK_NOFOLLOW.
5183         * modules/renameat2 (Depends-on): Remove faccessat.
5184         * modules/renameat-tests (test_renameat_LDADD):
5185         * modules/renameat2-tests (test_renameat2_LDADD):
5186         Remove $(LIB_EACCESS).
5188         renameat2: new module
5189         Although the Linux syscall renameat2 is not in glibc (yet?), it is
5190         useful to have access to its RENAME_NOREPLACE flag.
5191         * MODULES.html.sh (func_all_modules): Add renameat2.
5192         * lib/renameat2.c, lib/renameat2.h, modules/renameat2:
5193         * modules/renameat2-tests, tests/test-renameat2.c: New files.
5194         * lib/renameat.c (renameat): Move most of the implementation
5195         to renameat2, and just call renameat2.
5196         * modules/renameat (Files): Remove lib/at-func2.c.
5197         (Depends-on): Depend only on renameat2.
5198         (Include): Remove <fcntl.h>.
5199         * modules/renameat-tests (test_renameat_LDADD): Add $(LIB_EACCESS),
5200         since renameat (via renameat2) might use faccessat.
5202 2017-07-27  Erik Skultety <eskultet@redhat.com>  (tiny change)
5204         vc-list-files: Adjust the script to support git worktrees
5205         * build-aux/vc-list-files: Require existence, not directory.
5207 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
5209         doc: bring MODULES.html.sh up to date
5210         Somehow a few months ago we stopped updating MODULES.html.sh.
5211         I don’t recall explicitly deciding this, so I updated it now.
5212         Alternatively I suppose we could remove it.
5213         * MODULES.html.sh: Add builtin-expect, c99, ctime, explicit_bzero,
5214         localtime, localtime-buffer, noreturn, nstrftime, strftime-fixes,
5215         truncate, utime, utime-h, windows-stat-inodes,
5216         windows-stat-override, windows-stat-timespec, year2038.  Sort.
5218 2017-07-26  Jim Meyering  <meyering@fb.com>
5220         fprintftime: fix build-break caused by recent renaming
5221         * lib/fprintftime.c: Include "nstrftime.c", not the now-renamed
5222         "strftime.c".
5223         * modules/fprintftime: Depend directly on nstrftime.
5225 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
5227         regex: work with GCC7's -Werror=implicit-fallthrough=
5228         * lib/regex_internal.h (FALLTHROUGH): New macro.
5229         * lib/regcomp.c (peek_token_bracket, parse_expression):
5230         * lib/regexec.c (check_node_accept): Use it.
5232 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
5234         fts: simplify fts_build
5235         * lib/fts.c (fts_build): Simplify, and be lazier about
5236         calling leaf_optimization.
5238         fts: three levels of leaf optimization
5239         * lib/fts.c (enum leaf_optimization): New type with three values.
5240         (S_MAGIC_AFS): New macro.  Sort them.
5241         (leaf_optimization): Rename from leaf_optimization_applies, and
5242         return enum leaf_optimization instead of bool.  All uses changed.
5243         Add cases for unknown type and for AFS.
5244         (fts_build): Don’t rely on link counts if NO_LEAF_OPTIMIZATION.
5246         fts: cache dirent_inode_sort_may_be_useful too
5247         * lib/fts.c (struct dev_type): New struct.
5248         (DEV_TYPE_HT_INITIAL_SIZE): New constant.
5249         (dev_type_hash, dev_type_compare, filesystem_type): New functions.
5250         (dirent_inode_sort_may_be_useful, leaf_optimization_applies):
5251         Now takes FTSENT const *, not int.  All uses changed.  Use
5252         filesystem_type to cache.
5253         (link_count_optimize_ok): Remove.  Caller changed to use
5254         leaf_optimization_applies, which now uses shared cache.
5256         fts: introduce MIN_DIR_NLINK
5257         * lib/fts.c (MIN_DIR_NLINK): New constant.
5258         Use it instead of 2, whenever we are talking about link counts.
5260         fts: nlink_t signedness fixups
5261         * lib/fts.c (fts_open): Set rootparent n_dirs_remaining to -1
5262         so that root need not be a special case later.
5263         (fts_read): Remove now-redundant test for fts_level.
5264         Do not assume that nlink_t is signed.
5265         (fts_build): Remove useless decrement of nlinks.
5266         (fts_stat): Avoid unlikely signed integer overflow later, if
5267         nlink_t is signed.
5269         fts-tests: new module
5270         * modules/fts-tests, tests/test-fts.c: New files.
5272 2017-07-23  Bruno Haible  <bruno@clisp.org>
5274         Rename module 'strftime' to 'nstrftime'.
5275         * m4/nstrftime.m4: Renamed from m4/strftime.m4.
5276         * lib/nstrftime.c: Renamed from lib/strftime.c.
5277         * modules/nstrftime: Renamed from modules/strftime.
5278         (Files, Makefile.am): Update.
5279         * tests/test-nstrftime.c: Renamed from tests/test-strftime.c.
5280         Fix comment.
5281         * modules/nstrftime-tests: Renamed from modules/strftime-tests.
5282         (Files, Makefile.am): Update.
5283         * modules/strftime: New file, an obsolete indirection.
5284         * doc/posix-functions/strftime.texi: Update reference.
5285         * config/srclist.txt: Update info.
5286         * NEWS: Mention the change.
5288 2017-07-21  Tim Rühsen  <tim.ruehsen@gmx.de>
5290         malloca: Silence a warning from clang's memory sanitizer.
5291         * lib/malloca.c (NO_SANITIZE_MEMORY): New macro.
5292         (freea): Use it.
5294 2017-07-18  Bruno Haible  <bruno@clisp.org>
5296         host-cpu-c-abi: Fix detection of MIPS ABI.
5297         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, really test the
5298         ABI, not the CPU instruction set.
5300 2017-07-16  Paul Eggert  <eggert@cs.ucla.edu>
5302         explicit_bzero: new module
5303         The explicit_bzero function has been added to glibc.
5304         This module is intended to supports its use in GNU programs.
5305         * doc/glibc-functions/explicit_bzero.texi, lib/explicit_bzero.c:
5306         * m4/explicit_bzero.m4, modules/explicit_bzero:
5307         New files.
5308         * doc/gnulib.texi (Glibc string.h): Link to new doc.
5309         * lib/string.in.h (explicit_bzero): Declare.
5310         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add defaults for it.
5311         * modules/string (string.h): Substitute its vars.
5313 2017-07-16  Bruno Haible  <bruno@clisp.org>
5315         threadlib: Support static linking.
5316         * m4/threadlib.m4 (gl_THREADLIB_BODY): When static linking is in use,
5317         set gl_cv_have_weak to 'no'.
5319 2017-07-16  Bruno Haible  <bruno@clisp.org>
5321         unicase/locale-language: Fix link dependencies.
5322         * modules/unicase/locale-language (Link): New section.
5323         * modules/unicase/locale-language-tests (Makefile.am): Link
5324         test-locale-language program with $(LIBTHREAD).
5326 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
5328         sys_socket: Add support for OpenVMS.
5329         * lib/sys_socket.in.h [__VMS]: Define CMSG_SPACE, CMSG_LEN.
5330         * doc/posix-headers/sys_socket.texi: Mention OpenVMS issues.
5332 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
5334         sys_resource: Add support for OpenVMS.
5335         * lib/resource.in.h [__VMS]: Define RUSAGE_SELF, RUSAGE_CHILDREN.
5336         * doc/posix-headers/sys_resource.texi: Mention OpenVMS issues.
5338 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
5339             Bruno Haible  <bruno@clisp.org>
5341         math: Add support for OpenVMS.
5342         * lib/math.in.h [__VMS]: Include <fp.h>.
5343         * doc/posix-headers/math.texi: Mention OpenVMS issues.
5345 2017-07-15  Bruno Haible  <bruno@clisp.org>
5347         getdtablesize: Add minimal support for OpenVMS.
5348         Reported by John E. Malmberg <wb8tyw@qsl.net>.
5349         * modules/getdtablesize (Description): Fix.
5350         * lib/getdtablesize.c: Fix comment.
5351         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Don't replace the
5352         getdtablesize() function, even though the test fails.
5353         * doc/glibc-functions/getdtablesize.texi: Reference SUSv2. Describe
5354         limitation on OpenVMS.
5356 2017-07-13  Bruno Haible  <bruno@clisp.org>
5358         Revisit cross-compilation guesses.
5359         * m4/wctype_h.m4 (gl_WCTYPE_H): Add comment.
5361 2017-07-13  Bruno Haible  <bruno@clisp.org>
5363         Improve cross-compilation guesses for native Windows.
5364         * m4/btowc.m4 (gl_FUNC_BTOWC): Add cross-compilation guess for native
5365         Windows.
5366         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Likewise.
5367         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Likewise.
5368         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
5369         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): Likewise.
5370         * m4/cbrtl.m4 (gl_FUNC_CBRTL, gl_FUNC_CBRTL_WORKS): Likewise.
5371         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
5372         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
5373         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
5374         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
5375         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
5376         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
5377         * m4/exp2.m4 (gl_FUNC_EXP2_WORKS): Likewise.
5378         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
5379         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
5380         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): Likewise.
5381         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
5382         * m4/fabsl.m4 (gl_FUNC_FABSL_WORKS): Likewise.
5383         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
5384         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
5385         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
5386         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
5387         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
5388         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Likewise.
5389         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Likewise.
5390         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Likewise.
5391         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
5392         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
5393         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
5394         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
5395         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): Likewise.
5396         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
5397         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
5398         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
5399         * m4/hypotf.m4 (gl_FUNC_HYPOTF, gl_FUNC_HYPOTF_WORKS): Likewise.
5400         * m4/hypotl.m4 (gl_FUNC_HYPOTL, gl_FUNC_HYPOTL_WORKS): Likewise.
5401         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
5402         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
5403         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
5404         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
5405         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
5406         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
5407         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
5408         * m4/log.m4 (gl_FUNC_LOG, gl_FUNC_LOG_WORKS): Likewise.
5409         * m4/logf.m4 (gl_FUNC_LOGF, gl_FUNC_LOGF_WORKS): Likewise.
5410         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
5411         * m4/log10.m4 (gl_FUNC_LOG10, gl_FUNC_LOG10_WORKS): Likewise.
5412         * m4/log10f.m4 (gl_FUNC_LOG10F, gl_FUNC_LOG10F_WORKS): Likewise.
5413         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Likewise.
5414         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
5415         * m4/log1pf.m4 (gl_FUNC_LOG1PF, gl_FUNC_LOG1PF_WORKS): Likewise.
5416         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
5417         * m4/log2.m4 (gl_FUNC_LOG2, gl_FUNC_LOG2_WORKS): Likewise.
5418         * m4/log2f.m4 (gl_FUNC_LOG2F, gl_FUNC_LOG2F_WORKS): Likewise.
5419         * m4/log2l.m4 (gl_FUNC_LOG2L_WORKS): Likewise.
5420         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): Likewise.
5421         * m4/logbf.m4 (gl_FUNC_LOGBF_WORKS): Likewise.
5422         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Likewise.
5423         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
5424         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT, gl_MBRTOWC_C_LOCALE): Likewise.
5425         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
5426         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
5427         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
5428         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
5429         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
5430         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
5431         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
5432         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
5433         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
5434         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE,
5435         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2,
5436         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
5437         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
5438         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
5439         * m4/regex.m4 (gl_REGEX): Likewise.
5440         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
5441         * m4/remainderf.m4 (gl_FUNC_REMAINDERF,
5442         gl_FUNC_REMAINDERF_WORKS): Likewise.
5443         * m4/remainderl.m4 (gl_FUNC_REMAINDERL,
5444         gl_FUNC_REMAINDERL_WORKS): Likewise.
5445         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
5446         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
5447         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
5448         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
5449         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
5450         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
5451         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
5452         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
5453         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): Likewise.
5454         * m4/stdint.m4 (gl_STDINT_H): Likewise.
5455         * m4/strerror.m4 (gl_FUNC_STRERROR_0): Likewise.
5456         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
5457         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
5458         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
5459         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
5460         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
5461         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
5462         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
5463         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
5464         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
5465         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
5466         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
5467         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
5468         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
5469         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
5470         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
5471         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
5472         Likewise.
5473         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
5474         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for native
5475         Windows. Enable also on Autoconf 2.70.
5476         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
5477         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
5478         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
5479         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO,
5480         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
5481         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): Add cross-compilation guess
5482         for native Windows.
5483         (gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
5484         gl_VSNPRINTF_ZEROSIZE_C99): Add comment.
5486 2017-07-13  Bruno Haible  <bruno@clisp.org>
5488         Improve cross-compilation guesses for native Windows.
5489         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add cross-compilation guess for native
5490         Windows.
5491         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Don't use internals of
5492         memchr.m4.
5493         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
5495 2017-07-13  Bruno Haible  <bruno@clisp.org>
5497         Improve cross-compilation guesses for native Windows.
5498         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Add cross-compilation guess for
5499         native Windows.
5500         (gl_FUNC_FFLUSH): Update accordingly.
5501         * m4/fclose.m4 (gl_FUNC_FCLOSE): Likewise.
5502         * m4/fseeko.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
5504 2017-07-11  Bruno Haible  <bruno@clisp.org>
5506         More systematic m4 quoting and indentation.
5507         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Quote systematically.
5508         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
5509         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
5510         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
5511         * m4/host-os.m4 (gl_HOST_OS): Likewise.
5512         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H,
5513         gl_WINSIZE_IN_PTEM): Likewise.
5514         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Likewise.
5515         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
5516         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
5517         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Quote systematically.
5518         Correct indentation.
5519         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
5520         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
5521         * m4/jm-winsz2.m4 (gl_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Likewise.
5522         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
5523         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
5524         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
5526 2017-07-10  Bruno Haible  <bruno@clisp.org>
5528         round, roundf: Avoid compiler warning in configure test.
5529         * m4/round.m4 (gl_FUNC_ROUND): Use 'return' instead of exit().
5530         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
5532 2017-07-10  Bruno Haible  <bruno@clisp.org>
5534         getlogin tests: Avoid #ifdefs when sharing code between modules.
5535         * modules/getlogin_r-tests (Files): Add tests/test-getlogin.h.
5536         * modules/getlogin-tests (Files): Likewise. Remove
5537         tests/test-getlogin_r.c.
5538         * tests/test-getlogin.h: Extracted from tests/test-getlogin_r.c.
5539         * tests/test-getlogin.c: Extracted from tests/test-getlogin_r.c.
5540         * tests/test-getlogin_r.c: Include test-getlogin.h. Omit code that tests
5541         getlogin().
5543 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
5545         getlogin: don’t assume one name per uid
5546         Problem reported by Wolfgang F. Muthmann (Bug#27640).
5547         * modules/getlogin-tests (Files): Add tests/test-getlogin_r.c.
5548         (ttyname): Remove test.
5549         * modules/getlogin_r-tests (ttyname): Remove test.
5550         * tests/test-getlogin.c: Replace this near-clone of test-getlogin_r.c
5551         with ‘#define TEST_LOGIN’ followed by ‘#include "test-getlogin_r.c"’.
5552         * tests/test-getlogin_r.c: If TEST_GETLOGIN is defined, test
5553         getlogin rather than getlogin_r.  This avoids code duplication.
5554         (main): Use isatty and fstat rather than ttyname and stat.
5555         Use getpwnam instead of getpwuid, to be portable to test platforms
5556         that have multiple login names for the same uid.
5558 2017-07-10  Tim Rühsen  <tim.ruehsen@gmx.de>
5559             Bruno Haible  <bruno@clisp.org>
5561         glob: Fix more memory leaks.
5562         * lib/glob.c (glob): Use 'goto out' in order to free dirname before
5563         returning.
5564         Reported by Tim Rühsen.
5566 2017-07-10  Bruno Haible  <bruno@clisp.org>
5568         Make sure $host and $host_os are defined when used.
5569         * m4/argz.m4 (gl_FUNC_ARGZ): Require AC_CANONICAL_HOST.
5570         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Likewise.
5571         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
5572         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
5573         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
5574         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
5575         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
5576         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
5577         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
5578         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
5579         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
5580         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
5581         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
5582         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST outside the
5583         m4_ifdef block.
5585 2017-07-09  Bruno Haible  <bruno@clisp.org>
5587         *printf: Fix cross-compilation guess for Solaris.
5588         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): Fix copy-and-paste mistake from
5589         2010-12-21.
5591 2017-07-07  Paul Eggert  <eggert@cs.ucla.edu>
5592             Bruno Haible  <bruno@clisp.org>
5594         vasnprintf: port to macOS 10.13
5595         Problem reported by comex in:
5596         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00056.html
5597         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on macOS.
5599 2017-07-06  Bruno Haible  <bruno@clisp.org>
5601         imaxdiv tests: Fix logic.
5602         * tests/test-imaxdiv.c (main): Use == instead of =.
5603         Reported by Coverity.
5605 2017-07-06  Bruno Haible  <bruno@clisp.org>
5607         uninorm/filter: Fix use-after-free bug.
5608         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Maintain
5609         sortbuf == filter->sortbuf invariant.
5610         Reported by Coverity.
5612 2017-07-06  Bruno Haible  <bruno@clisp.org>
5614         glob: Fix more memory leaks.
5615         * lib/glob.c (glob): Free dirname before returning.
5616         Reported by Coverity and Tim Rühsen.
5618 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5620         parse-datetime: fix uninit var bug
5621         Reported by Bruno Haible in:
5622         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00038.html
5623         * lib/parse-datetime.y (parse_datetime2): Do not use
5624         uninitialized.
5626 2017-07-05  Bruno Haible  <bruno@clisp.org>
5628         doc: Update for MSVC 14.
5629         * doc/posix-headers/*.texi: Add info about MSVC 14.
5630         * doc/posix-functions/*.texi: Likewise.
5631         * doc/pastposix-functions/*.texi: Likewise.
5632         * doc/glibc-headers/*.texi: Likewise.
5633         * doc/glibc-functions/*.texi: Likewise.
5635 2017-07-05  Bruno Haible  <bruno@clisp.org>
5637         sched: Fix build failure on native Windows (regression from 2017-06-19).
5638         * m4/sched_h.m4 (gl_SCHED_H): Set HAVE_STRUCT_SCHED_PARAM always.
5640 2017-07-03  John E. Malmberg  <wb8tyw@gmail.com>
5642         stdioext: Port to OpenVMS.
5643         * lib/stdio-impl.h: OpenVMS uses struct _iobuf for FILE information.
5644         * lib/fpending.c (fpending): Remove non-working VMS specific code.
5645         * lib/fbufmode.c (fbufmode): Fix _IOLBF test to use fp_ macro.
5646         * lib/fflush.c (clear_ungetc_buffer): Add OpenVMS to comments.
5647         * lib/fpurge.c (fpurge): Likewise.
5648         * lib/freadable.c (freadable): Likewise.
5649         * lib/freadahead.c (freadahead): Likewise.
5650         * lib/freading.c (freading): Likewise.
5651         * lib/freadptr.c (freadptr): Likewise.
5652         * lib/freadseek.c (freadseek): Likewise.
5653         * lib/fseeko.c (fseeko): Likewise.
5654         * lib/fseterr.c (fseterr): Likewise.
5655         * lib/fwritable.c (fwriteable): Likewise.
5656         * lib/fwriting.c (fwriting): Likewise.
5658 2017-07-01  Benno Schulenberg  <bensberg@telfort.nl>
5660         glob: Declare variables at the very start of their scope.
5661         * lib/glob.c (convert_dirent, convert_dirent64): Give each fragment
5662         its separate scope, so the functions will compile on Haiku.
5664 2017-07-01  Bruno Haible  <bruno@clisp.org>
5666         logbl: Work around a glibc bug on PowerPC64LE.
5667         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Test also negative subnormal
5668         numbers.
5669         * doc/posix-functions/logbl.texi: Update.
5671 2017-06-29  Bruno Haible  <bruno@clisp.org>
5673         stat, fstat: Compile stat-w32.c only on platforms that need it.
5674         Suggested by Paul Eggert.
5675         * modules/stat (configure.ac): Request stat-w32.o only on native
5676         Windows.
5677         * modules/fstat (configure.ac): Likewise.
5679 2017-06-25  Bruno Haible  <bruno@clisp.org>
5681         stat: Improve last change.
5682         * lib/stat-w32.c: Revert last change. Use generic idiom instead.
5684 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
5686         stat: port to xlc 12.01
5687         * lib/stat-w32.c: Always include <sys/types.h>.  Otherwise, xlc
5688         12.01 complains "Compilation unit is empty."
5690 2017-06-24  Paul Eggert  <eggert@cs.ucla.edu>
5692         xalloc-oversized: port to icc
5693         * lib/xalloc-oversized.h (xalloc_oversized): Do not use
5694         __builtin_mul_overflow if ICC is defined, as this results in
5695         "undefined reference to `__builtin_mul_overflow'" with icc 17.0.2
5696         20170213.
5698 2017-06-19  Bruno Haible  <bruno@clisp.org>
5700         classpath: Avoid including config.h twice, as it produces warnings.
5701         Reported by John E. Malmberg <wb8tyw@gmail.com>.
5702         * lib/classpath.h: Conditionalize the include of config.h.
5704 2017-06-19  Bruno Haible  <bruno@clisp.org>
5705             John E. Malmberg  <wb8tyw@gmail.com>  (tiny change)
5707         sched: Fix compilation failure on OpenVMS.
5708         * m4/sched_h.m4 (gl_SCHED_H): Require AC_CANONICAL_HOST. On OpenVMS,
5709         test whether <pthread.h> exists and defines struct sched_param.
5710         * lib/sched.in.h: On OpenVMS, include <pthread.h>.
5712 2017-06-17  Paul Eggert  <eggert@cs.ucla.edu>
5714         diffseq: port to GCC 7 with --enable-gcc-warnings
5715         * lib/diffseq.h (diag): Use an if, not an ifdef, for most of the
5716         heuristic check.  This way, GCC 7 with --enable-gcc-warnings does
5717         not complain about big_snake being defined but not used.
5719 2017-06-15  Bruno Haible  <bruno@clisp.org>
5721         gettext-h: Update theoretical condition for use of variable size arrays.
5722         Reported by Paul Eggert.
5723         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Extend comment
5724         to include the theoretical condition for availability of variable size
5725         arrays, if we could trust the value of __STDC_VERSION__.
5727 2017-06-12  Bruno Haible  <bruno@clisp.org>
5729         Relicense some modules under LGPLv2+.
5730         Daiki Ueno's approval is in
5731         https://lists.gnu.org/r/bug-gnulib/2017-06/msg00058.html.
5732         * modules/uniwidth/base (License): Change to LGPLv2+.
5733         * modules/uniwidth/width (License): Likewise.
5735 2017-06-11  Bruno Haible  <bruno@clisp.org>
5737         localename: Fix test failure on DragonFly BSD.
5738         * lib/localename.c (gl_locale_name_thread_unsafe): Treat DragonFly BSD
5739         like FreeBSD.
5741 2017-06-11  Bruno Haible  <bruno@clisp.org>
5743         float: Fix 'float' and 'isinf' failures on DragonFly BSD.
5744         * m4/float_h.m4 (gl_FLOAT_H): Treat DragonFly BSD like FreeBSD.
5745         * lib/float.in.h: Likewise.
5746         * m4/fmal.m4, m4/frexpl.m4, m4/logbl.m4: Update accordingly.
5748 2017-06-11  Bruno Haible  <bruno@clisp.org>
5750         gnulib-tool: Clean up after autotools.
5751         * gnulib-tool (func_create_testdir, func_create_megatestdir): Remove
5752         useless directory left over by the Autotools.
5754 2017-06-11  Paul Eggert  <eggert@cs.ucla.edu>
5756         getopt-posix: port to glibc 2.25.90
5757         Problem reported by Daniel P. Berrange in:
5758         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00003.html
5759         * lib/getopt-pfx-core.h (_GETOPT_CORE_H):
5760         * lib/getopt-pfx-ext.h (_GETOPT_EXT_H):
5761         #undef if __GETOPT_PREFIX is defined.
5763 2017-06-11  Bruno Haible  <bruno@clisp.org>
5765         strtod-obsolete: Fix license.
5766         * modules/strtod-obsolete (License): Change to LGPL.
5768 2017-06-10  Jim Meyering  <meyering@fb.com>
5770         maint: update to work with GCC7's -Werror=implicit-fallthrough=
5771         * lib/savewd.c (FALLTHROUGH): Define.
5772         (savewd_save, savewd_restore): Use this, rather than a comment,
5773         whenever one switch case falls through into the next.
5775 2017-06-08  Bruno Haible  <bruno@clisp.org>
5777         host-cpu-c-abi: Support for aarch64 ILP32 ABI.
5778         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the aarch64 ILP32
5779         ABI. Set HOST_CPU_C_ABI=arm64-ilp32 and define __arm64_ilp32__ in this
5780         case.
5782 2017-06-08  Paul Eggert  <eggert@cs.ucla.edu>
5784         doc: remove robots, add prereqs
5785         * doc/build-automation.texi, doc/gnulib.texi: Mention prereqs for
5786         builds.  Simon's robot site does not seem to be up, so remove
5787         mentions of it for now.
5789 2017-06-08  Bruno Haible  <bruno@clisp.org>
5791         gnulib-tool: Fix bug in func_symlink_if_changed, from 2006-11-13.
5792         * gnulib-tool (func_symlink_target): New function, extracted from
5793         func_symlink.
5794         (func_symlink, func_symlink_if_changed): Use it.
5796 2017-06-08  Bruno Haible  <bruno@clisp.org>
5798         gnulib-tool: Fix bug in func_ln_s, from 2016-01-15.
5799         * gnulib-tool (func_ln_s): Determine cp_src correctly.
5801 2017-06-07  Bruno Haible  <bruno@clisp.org>
5803         canonicalize-lgpl: Avoid conflict with gnulib 'getcwd' module on VMS.
5804         Reported by John E. Malmberg <wb8tyw@gmail.com> in
5805         <https://lists.gnu.org/r/bug-gnulib/2017-06/msg00029.html>.
5806         * lib/canonicalize-lgpl.c (__getcwd): On VMS, when using gnulib's getcwd
5807         override, pass 2 arguments to getcwd, not 3.
5809 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
5811         same-inode: port better to VMS 8.2 and later
5812         Problem reported by John E. Malmberg in:
5813         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00005.html
5814         * lib/same-inode.h (SAME_INODE) [__VMS && 80200000 <= __CRTL_VER]:
5815         Use the usual POSIX definition.
5816         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define _USE_STD_STAT.
5818 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
5820         error: fix POSIX violation for va_end
5821         Problem reported by Bruno Haible in:
5822         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00001.html
5823         * lib/error.c (error_tail): Do not call va_end here.
5824         (error, error_at_line): Call it here instead.
5826 2017-05-28  Bruno Haible  <bruno@clisp.org>
5828         c-strtod: Make it usable in C++ mode.
5829         * lib/c-strtod.h: Add 'extern "C"' marker for C++.
5831 2017-05-25  Jim Meyering  <meyering@fb.com>
5833         quotearg: fix compilation failure due to FALLTHROUGH misuse
5834         * lib/quotearg.c (quotearg_buffer_restyled): Revert one FALLTHROUGH
5835         macro back to /* fall through */ comment.  The macro can apply only
5836         to a following case statement.  Reported by Assaf Gordon.
5838 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
5840         intprops: port to recent icc
5841         Port to icc (ICC) 17.0.4 20170411, which defines __GNUC__ to be 5
5842         but does not support __builtin_add_overflow etc.
5843         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW) [__ICC]:
5844         Define to 0.
5846 2017-05-23  Karl Berry  <karl@freefriends.org>
5848         * config/srclist.txt (iconv.m4): sync broken, comment out
5849         until (hopefully) the next gettext release.
5851 2017-05-22  Bjarni Ingi Gislason  <bjarniig@rhi.hi.is>
5853         Remove repeated words in comments.
5855 2017-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
5857         fallthrough: reinstate a FALLTHROUGH instance in quotearg
5858         quotearg.c: Reinstate this instance which is significant
5859         when the if branch is not taken.
5861 2017-05-21  Bruno Haible  <bruno@clisp.org>
5863         gnulib-tool: Add options to create hard links.
5864         * gnulib-tool (func_usage): Document options --hardlink,
5865         --local-hardlink, --more-hardlinks.
5866         (func_symlink): Renamed from func_ln.
5867         (func_symlink_if_changed): Renamed from func_ln_if_changed.
5868         (func_hardlink): New function.
5869         (copymode, lcopymode): New variables.
5870         (symbolic, lsymbolic): Remove variables.
5871         (Options): Implement options --hardlink, --local-hardlink,
5872         --more-hardlinks.
5873         (func_should_link): Renamed from func_should_symlink. Set copyaction.
5874         (func_add_file, func_update_file): Update invocation of
5875         func_should_link. Invoke func_hardlink when appropriate.
5876         (func_import): Update comments.
5877         (func_create_testdir): Update invocation of func_should_link. Invoke
5878         func_hardlink when appropriate.
5879         Finally, invoke 'git update-index --refresh' to mitigate the effects of
5880         the hard links on git.
5882 2017-05-20  Bruno Haible  <bruno@clisp.org>
5884         argp: Simplify bit manipulation.
5885         * lib/argp-parse.c (parser_parse_opt): Use &, |, ~ instead of shifts
5886         on a signed integer type.
5888 2017-05-20  Bruno Haible  <bruno@clisp.org>
5890         Avoid wrong configure results with gcc -fsanitize=address.
5891         This completes the work done on 2016-02-06 on this topic.
5892         * m4/memmem.m4 (gl_FUNC_MEMMEM): Free allocated memory before returning.
5893         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
5894         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
5895         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
5896         * m4/fopen.m4 (gl_FUNC_FOPEN): Close allocated FILE streams before
5897         returning.
5898         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
5899         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
5900         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
5901         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
5902         * m4/signbit.m4 (gl_FLOATTYPE_SIGN_LOCATION): Likewise.
5903         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
5904         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Close allocated FILE streams and
5905         free allocated memory before returning.
5906         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
5907         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Close allocated DIR
5908         objects before returning.
5909         * m4/iconv.m4 (AM_ICONV_LINK): Close allocated iconv_t handles before
5910         returning.
5912 2017-05-20  Bruno Haible  <bruno@clisp.org>
5914         gnulib-tool: Don't create hard links between gnulib and its testdirs.
5915         * gnulib-tool (func_create_testdir): Don't invoke 'ln'.
5917 2017-05-20  Bruno Haible  <bruno@clisp.org>
5919         argp, tsearch tests: Fix file list.
5920         * modules/argp-tests (Files): Add tests/macros.h.
5921         * modules/tsearch-tests (Files): Likewise.
5923 2017-05-20  Bruno Haible  <bruno@clisp.org>
5925         getopt-posix tests: Remove redundant include.
5926         * tests/test-getopt.h: Don't include "macros.h". It's already included
5927         by tests/test-getopt-main.h.
5929 2017-05-19  Jim Meyering  <meyering@fb.com>
5931         dfa: two small simplifications
5932         * lib/dfa.c (build_state): Avoid repeating longer expressions.
5934 2017-05-18  Jim Meyering  <meyering@fb.com>
5936         fallthrough: update for GCC 7/8
5937         * lib/quotearg.c (FALLTHROUGH): New macro.
5938         Use it whenever one switch case falls through into the next,
5939         replacing "/* Fall through */" comments.  This exposed one
5940         instance of an unwarranted "fall through" comment: unwarranted
5941         because it preceded a "goto" label not a case statement.
5942         * lib/freopen-safer.c (freopen_safer): Likewise.
5943         * lib/fts.c (leaf_optimization_applies): Likewise.
5944         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
5945         * tests/test-getopt_long.h (getopt_long_loop): Likewise.
5946         * tests/test-tsearch.c (mangle_tree): Likewise.  Also include
5947         tests/macros.h for the definition.
5948         * tests/test-argp.c (group1_parser): Likewise.
5949         * tests/test-getopt.h (getopt_loop): Likewise.
5951 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
5953         argp: fix shift bug
5954         * lib/argp-parse.c (parser_parse_opt): Rework to avoid undefined
5955         behavior on shift overflow, caught by gcc -fsanitize=undefined.
5957         argp: fix pointer-subtraction bug
5958         * lib/argp-help.c (hol_append): Don’t subtract pointers to
5959         different arrays, as this can run afoul of -fcheck-pointer-bounds.
5960         See the thread containing Bruno Haible’s report in:
5961         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00171.html
5963 2017-05-19  Bruno Haible  <bruno@clisp.org>
5965         printf-posix tests: Avoid test failure with "gcc --coverage".
5966         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
5967         * tests/test-printf-posix2.c (main): Test a width of 10000000 rather
5968         than 5000000.
5969         * tests/test-fprintf-posix2.c (main): Likewise.
5971 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
5973         closeout: don’t close stderr when sanitizing
5974         * NEWS: Document this.
5975         * lib/closeout.c (__has_feature): New macro, if not already defined.
5976         (SANITIZE_ADDRESS): New constant.
5977         (close_stdout): Don’t close stderr if sanitizing addresses.
5979 2017-05-19  Bruno Haible  <bruno@clisp.org>
5981         get-rusage-data tests: Avoid failure on Linux/glibc.
5982         * tests/test-get-rusage-data.c (main): Don't expect a strict increase
5983         on glibc systems.
5985 2017-05-18  Bruno Haible  <bruno@clisp.org>
5987         localename: Include necessary header files on Cygwin.
5988         * lib/localename.c [__CYGWIN__]: Include <langinfo.h>, since this is
5989         where NL_LOCALE_NAME is defined.
5991 2017-05-18  Bruno Haible  <bruno@clisp.org>
5993         gettext: Update macros from gettext git.
5994         * m4/intldir.m4: Require Autoconf >= 2.60.
5995         * m4/progtest.m4: Fix typos in copyright notice.
5997 2017-05-18  Bruno Haible  <bruno@clisp.org>
5999         copy-file tests: Fix link error (regression from 2017-05-01).
6000         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6001         * modules/copy-file-tests (Makefile.am): Link test-copy-file with
6002         $(LIB_CLOCK_GETTIME).
6004 2017-05-18  Bruno Haible  <bruno@clisp.org>
6006         unicase/special-casing: Fix incompatibility with gperf-3.0.4
6007         (regression from 2017-02-13).
6008         * lib/unicase/special-casing.in.h: Renamed from
6009         lib/unicase/special-casing.h.
6010         * modules/unicase/special-casing (Files): Add
6011         lib/unicase/special-casing.in.h. Remove lib/unicase/special-casing.h.
6012         (Makefile.am): Add rule for generating unicase/special-casing.h.
6013         Update BUILT_SOURCES and MOSTLYCLEANFILES accordingly.
6014         * lib/unicase/special-casing.c: Include "unicase/special-casing.h",
6015         not "special-casing.h".
6016         * lib/unicase/u*.c: Likewise.
6018 2017-05-17  Bruno Haible  <bruno@clisp.org>
6020         README: Don't ask people to read a TeXinfo file.
6021         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
6022         * README: Tell people how to read the HTML formatted manual.
6024 2017-05-16  Tim Rühsen  <tim.ruehsen@gmx.de>
6026         parse-datetime: Fix memleak
6027         * lib/parse-datetime.y (parse_datetime2): Cleanup on
6028         localtime_rz() failure.
6030 2017-05-16  Bruno Haible  <bruno@clisp.org>
6032         javacomp: Fix handle leak.
6033         Found by Coverity.
6034         * lib/javacomp.c (get_classfile_version): Close fd before returning.
6036 2017-05-16  Bruno Haible  <bruno@clisp.org>
6038         relocate: Make it easier to reclaim allocated memory.
6039         * lib/relocatable.h (relocate2): New declaration/macro.
6040         * lib/relocatable.c (relocate2): New function.
6041         * doc/relocatable-maint.texi (Supporting Relocation): Mention the
6042         relocate2 function.
6043         * lib/localcharset.c (relocate2): Define fallback.
6044         (get_charset_aliases): Invoke relocate2 instead of relocate. Free the
6045         allocated memory.
6046         * lib/javaversion.c (relocate2): Define fallback.
6047         (javaexec_version): Invoke relocate2 instead of relocate. Free the
6048         allocated memory.
6050 2017-05-16  Bruno Haible  <bruno@clisp.org>
6052         relocate: Simplify EMX specific code.
6053         * lib/relocatable.c (relocate): Assume pathname is non-NULL. Use
6054         ISSLASH macro consistently. Avoid dangerous string concatenation idiom.
6056 2017-05-16  Bruno Haible  <bruno@clisp.org>
6058         sigpipe tests: Fix file list.
6059         * modules/sigpipe-tests (Files): Add tests/macros.h.
6061 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
6063         manywarnings: update for GCC 7
6064         * build-aux/gcc-warning.spec:
6065         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
6066         Add GCC 7 warnings, notably -Wimplicit-fallthrough=5, which
6067         requires a non-comment fallthrough attribute.  This is a bit
6068         cleaner than the comment versions.
6069         * lib/strftime.c, lib/dfa.c, lib/fnmatch.c, lib/mbrtowc.c:
6070         * lib/vasnprintf.c, tests/macros.h (FALLTHROUGH): New macro.
6071         Use it whenever one switch case falls through into the next.
6072         * lib/fnmatch_loop.c, tests/test-mbrtowc.c, tests/test-sigpipe.c:
6073         Use FALLTHROUGH macro.
6075 2017-05-15  Bruno Haible  <bruno@clisp.org>
6077         gnulib-tool: Fix generated code when libtests contains module 'alloca'.
6078         * gnulib-tool (func_emit_tests_Makefile_am): For libtests.a, use
6079         @ALLOCA@, not @LTALLOCA@.
6081 2017-05-15  Bruno Haible  <bruno@clisp.org>
6083         sys_select: Avoid "was expanded before it was required" warning.
6084         * modules/sys_select (configure.ac): Require, not invoke,
6085         gl_HEADER_SYS_SELECT.
6087 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
6089         gnulib-tool: improve GNU Make debugging
6090         * gnulib-tool (func_emit_lib_Makefile_am): Omit unnecessary echo.
6091         Report autoconf diagnostics when it fails, in the output makefile.
6093 2017-05-14  Bruno Haible  <bruno@clisp.org>
6095         stat-time tests: Improve comment.
6096         * tests/test-stat-time.c: Add hyperlink, from Paul Eggert.
6098 2017-05-14  Bruno Haible  <bruno@clisp.org>
6100         same-inode: Adapt for windows-stat-inodes.
6101         * lib/same-inode.h: Include <sys/types.h>.
6102         (SAME_INODE) [_GL_WINDOWS_STAT_INODES]: Define specifically.
6103         * modules/same-inode (Depends-on): Add sys_types.
6105 2017-05-14  Bruno Haible  <bruno@clisp.org>
6107         windows-stat-inodes: New module.
6108         * m4/windows-stat-inodes.m4: New file.
6109         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_STAT_INODES.
6110         * modules/sys_types (Makefile.am): Substitute WINDOWS_STAT_INODES.
6111         * lib/sys_types.in.h [WINDOWS_STAT_INODES]: Override dev_t and ino_t.
6112         (_GL_WINDOWS_STAT_INODES): New macro.
6113         * lib/stat-w32.c: Set _WIN32_WINNT. Include <string.h>, verify.h.
6114         (GetFileInformationByHandleExFunc): New variable.
6115         (initialize): Initialize it.
6116         (_gl_fstat_by_handle) [_GL_WINDOWS_STAT_INODES]: Initialize st_dev and
6117         st_ino appropriately.
6118         * lib/stat.c (rpl_stat): Use the directory entry based approach only as
6119         a fallback, because it does not provide st_dev and st_ino values.
6120         * modules/fstat (Depends-on): Add 'verify'.
6121         * modules/windows-stat-inodes: New file.
6122         * doc/windows-stat-inodes.texi: New file.
6123         * doc/gnulib.texi: Include it.
6124         * doc/posix-headers/sys_stat.texi: Mention the new module.
6126 2017-05-14  Bruno Haible  <bruno@clisp.org>
6128         stat-time tests: Workaround for native Windows.
6129         * tests/test-stat-time.c: Include <stdio.h>, <time.h>.
6130         (filename_stamp1, filename_testfile, filename_stamp2, filename_stamp3):
6131         New variables.
6132         (initialize_filenames): New function.
6133         (main): Invoke it.
6134         (cleanup, prepare_test): Update.
6136 2017-05-14  Bruno Haible  <bruno@clisp.org>
6138         stat-time: Adapt for windows-stat-timespec.
6139         * lib/stat-time.h (get_stat_birthtime) [_GL_WINDOWS_STAT_TIMESPEC]: Use
6140         entire st_ctim field.
6142 2017-05-13  Jim Meyering  <meyering@fb.com>
6144         maint.mk: update regex to reflect 2013 addition of "assume" to verify.h
6145         * top/maint.mk (sc_prohibit_verify_without_use): Don't reject a source
6146         file that uses the assume macro, claiming that verify.h is unused.
6148 2017-05-13  Bruno Haible  <bruno@clisp.org>
6150         Use symbolic values for _WIN32_WINNT.
6151         * lib/ftruncate.c (_WIN32_WINNT): Use symbolic value _WIN32_WINNT_WIN2K.
6152         * lib/sethostname.c (_WIN32_WINNT): Likewise.
6154 2017-05-13  Bruno Haible  <bruno@clisp.org>
6156         year2038: New module.
6157         * m4/year2038.m4: New file.
6158         * modules/year2038: New file.
6159         * doc/year2038.texi: New file.
6160         * doc/gnulib.texi: Include it.
6162 2017-05-13  Bruno Haible  <bruno@clisp.org>
6164         largefile: Simplify.
6165         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Remove unused definition
6166         of _GL_WINDOWS_64_BIT_ST_SIZE.
6168 2017-05-13  Bruno Haible  <bruno@clisp.org>
6170         largefile: Improve and document.
6171         * m4/largefile.m4 (gl_LARGEFILE): Set WINDOWS_64_BIT_ST_SIZE to 0 if
6172         the mingw headers already define 'stat' appropriately.
6173         * modules/largefile (Description): Clarify.
6174         * doc/largefile.texi: New file.
6175         * doc/gnulib.texi: Include it.
6176         * doc/posix-headers/sys_types.texi: Update.
6178 2017-05-13  Bruno Haible  <bruno@clisp.org>
6180         truncate: New module.
6181         * lib/unistd.in.h (truncate): New declaration.
6182         * lib/truncate.c: New file.
6183         * m4/truncate.m4: New file.
6184         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'truncate' is declared.
6185         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TRUNCATE, HAVE_TRUNCATE,
6186         REPLACE_TRUNCATE.
6187         * modules/unistd (Makefile.am): Substitute GNULIB_TRUNCATE,
6188         HAVE_TRUNCATE, REPLACE_TRUNCATE.
6189         * modules/truncate: New file.
6190         * tests/test-unistd-c++.cc (truncate): Test signature.
6191         * doc/posix-functions/truncate.texi: Mention the new module.
6193         * tests/test-truncate.c: New file.
6194         * modules/truncate-tests: New file.
6196 2017-05-13  Bruno Haible  <bruno@clisp.org>
6198         windows-stat-timespec: New module.
6199         * modules/windows-stat-timespec: New file.
6200         * m4/windows-stat-timespec.m4: New file.
6201         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_STAT_TIMESPEC.
6202         * modules/sys_stat (Makefile.am): Substitute WINDOWS_STAT_TIMESPEC.
6203         * lib/sys_stat.in.h (struct stat) [WINDOWS_STAT_TIMESPEC]: Declare with
6204         fields st_atim, st_mtim, st_ctim.
6205         (st_atime, st_mtime, st_ctime): Define as macros.
6206         (_GL_WINDOWS_STAT_TIMESPEC): New macro.
6207         * lib/stat-w32.h (_gl_convert_FILETIME_to_timespec)
6208         [_GL_WINDOWS_STAT_TIMESPEC]: New declaration.
6209         * lib/stat-w32.c (_gl_convert_FILETIME_to_timespec)
6210         [_GL_WINDOWS_STAT_TIMESPEC]: New function.
6211         (_gl_convert_FILETIME_to_POSIX): Adjust coding style.
6212         (_gl_fstat_by_handle): If _GL_WINDOWS_STAT_TIMESPEC, convert the
6213         FILETIME to 'struct timespec', not 'time_t'.
6214         * lib/stat.c (rpl_stat): If _GL_WINDOWS_STAT_TIMESPEC, convert the
6215         FILETIME to 'struct timespec', not 'time_t'.
6216         * lib/stat-time.h (STAT_TIMESPEC): Define also if
6217         _GL_WINDOWS_STAT_TIMESPEC.
6218         * doc/windows-stat-timespec.texi: New file.
6219         * doc/gnulib.texi: Include it.
6221 2017-05-13  Bruno Haible  <bruno@clisp.org>
6223         windows-stat-override: New module.
6224         * lib/sys_stat.in.h (stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provide own
6225         definition. Define GNULIB_defined_struct_stat.
6226         (fstat, fstatat, lstat, stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provoke
6227         link error if this symbol is used and the corresponding module is not
6228         in use.
6229         (_stat64, _stat32i64, _stati64, _stat32, _stat64i32): Don't redefine if
6230         GNULIB_OVERRIDES_STRUCT_STAT.
6231         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
6232         GNULIB_OVERRIDES_STRUCT_STAT.
6233         * modules/sys_stat (Makefile.am): Substitute
6234         GNULIB_OVERRIDES_STRUCT_STAT.
6235         * modules/windows-stat-override: New file.
6237 2017-05-13  Bruno Haible  <bruno@clisp.org>
6239         fstat: Fix module dependency conditions.
6240         * modules/fstat (Depends-on): Fix typo.
6242 2017-05-13  Bruno Haible  <bruno@clisp.org>
6244         stat, fstat: Complete removal of old native Windows code.
6245         * lib/stat.c: Remove old macrology for WINDOWS_NATIVE.
6246         * lib/fstat.c: Likewise.
6247         * lib/stat-w32.c: Likewise.
6249 2017-05-13  Bruno Haible  <bruno@clisp.org>
6251         stat: Complete removal of REPLACE_FUNC_STAT_DIR code.
6252         * lib/stat.c: Remove all REPLACE_FUNC_STAT_DIR code.
6254 2017-05-11  Paul Eggert  <eggert@cs.ucla.edu>
6256         getopt-posix: port to mingw
6257         * lib/getopt.c (flockfile, funlockfile): Define on mingw.
6258         Problem reported by Daniel P. Berrage in:
6259         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00086.html
6261 2017-05-11  Bruno Haible  <bruno@clisp.org>
6263         gettimeofday: Increase precision on mingw.
6264         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Require AC_CANONICAL_HOST.
6265         Set REPLACE_GETTIMEOFDAY to 1 on mingw.
6266         * lib/gettimeofday.c (gettimeofday): On native Windows, use the
6267         GetSystemTimePreciseAsFileTime based implementation always.
6268         * doc/posix-functions/gettimeofday.texi: Mention precision problem on
6269         mingw.
6271 2017-05-11  Bruno Haible  <bruno@clisp.org>
6273         poll: Fix confusion between SOCKETs and FDs on native Windows.
6274         Fix proposed by Daniel P. Berrange <berrange@redhat.com>.
6275         * lib/poll.c [WINDOWS_NATIVE]: Undefine select.
6277 2017-05-11  Bruno Haible  <bruno@clisp.org>
6279         doc: Clarify doc about socket functions on native Windows.
6280         This reworks doc that was added on 2008-09-29.
6281         * doc/posix-functions/select.texi: Fix copy-and-paste mistake and use
6282         clearer wording.
6283         * doc/posix-functions/accept.texi: Use clearer wording.
6284         * doc/posix-functions/bind.texi: Likewise.
6285         * doc/posix-functions/connect.texi: Likewise.
6286         * doc/posix-functions/getpeername.texi: Likewise.
6287         * doc/posix-functions/getsockname.texi: Likewise.
6288         * doc/posix-functions/getsockopt.texi: Likewise.
6289         * doc/posix-functions/ioctl.texi: Likewise.
6290         * doc/posix-functions/listen.texi: Likewise.
6291         * doc/posix-functions/recv.texi: Likewise.
6292         * doc/posix-functions/recvfrom.texi: Likewise.
6293         * doc/posix-functions/send.texi: Likewise.
6294         * doc/posix-functions/sendto.texi: Likewise.
6295         * doc/posix-functions/setsockopt.texi: Likewise.
6296         * doc/posix-functions/shutdown.texi: Likewise.
6297         * doc/posix-functions/socket.texi: Likewise.
6299 2017-05-10  Bruno Haible  <bruno@clisp.org>
6301         poll: Fix link error on native Windows.
6302         * lib/poll.c [WINDOWS_NATIVE]: Undefine recv.
6304 2017-05-10  Bruno Haible  <bruno@clisp.org>
6306         time: Fix missing initialization of HAVE_TIMEZONE_T.
6307         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEZONE_T
6308         here...
6309         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): ... not here.
6310         * m4/time_rz.m4 (gl_TIME_RZ): Require gl_HEADER_TIME_H_DEFAULTS, not
6311         gl_HEADER_SYS_TIME_H_DEFAULTS.
6312         * modules/time_rz (Depends-on): Add 'time'. Remove useless quoting.
6313         (configure.ac): Remove useless quoting.
6315 2017-05-10  Bruno Haible  <bruno@clisp.org>
6317         Implement a way to opt out from MSVC support, part 2.
6318         * modules/msvc-inval (Include): Document recommended idiom.
6319         * modules/msvc-nothrow (Include): Likewise.
6321         Implement a way to opt out from MSVC support.
6322         This is useful for Emacs.
6323         * modules/msvc-nothrow (configure.ac): Invoke gl_MODULE_INDICATOR.
6324         * lib/accept4.c: Include <io.h> as an alternative to msvc-nothrow.h.
6325         * lib/error.c: Likewise.
6326         * lib/fcntl.c: Likewise.
6327         * lib/flock.c: Likewise.
6328         * lib/fstat.c: Likewise.
6329         * lib/fsync.c: Likewise.
6330         * lib/ioctl.c: Likewise.
6331         * lib/isapipe.c: Likewise.
6332         * lib/lseek.c: Likewise.
6333         * lib/nonblocking.c: Likewise.
6334         * lib/poll.c: Likewise.
6335         * lib/select.c: Likewise.
6336         * lib/sockets.h: Likewise.
6337         * lib/sockets.c: Likewise.
6338         * lib/stdio-read.c: Likewise.
6339         * lib/stdio-write.c: Likewise.
6340         * lib/utimens.c: Likewise.
6341         * lib/w32sock.h: Likewise.
6342         * lib/w32spawn.h: Likewise.
6343         * tests/test-cloexec.c: Likewise.
6344         * tests/test-dup-safer.c: Likewise.
6345         * tests/test-dup2.c: Likewise.
6346         * tests/test-dup3.c: Likewise.
6347         * tests/test-fcntl.c: Likewise.
6348         * tests/test-pipe.c: Likewise.
6349         * tests/test-pipe2.c: Likewise.
6350         * lib/ftruncate.c: Likewise.
6351         (chsize_nothrow): Renamed from chsize.
6352         * lib/msvc-nothrow.c: Don't include msvc-inval.h if
6353         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
6354         * lib/close.c: Likewise.
6355         * lib/dup.c: Likewise.
6356         * lib/fclose.c: Likewise.
6357         * lib/raise.c: Likewise.
6358         * tests/test-fgetc.c: Likewise.
6359         * tests/test-fputc.c: Likewise.
6360         * tests/test-fread.c: Likewise.
6361         * tests/test-fwrite.c: Likewise.
6362         * lib/getdtablesize.c: Likewise.
6363         (_setmaxstdio_nothrow): Renamed from _setmaxstdio.
6364         * lib/isatty.c: Don't include msvc-inval.h if
6365         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
6366         Include <io.h> as an alternative to msvc-nothrow.h.
6367         * lib/read.c: Likewise.
6368         * lib/write.c: Likewise.
6369         * lib/dup2.c: Likewise.
6370         (dup2_nothrow): New function.
6371         (ms_windows_dup2): Use it.
6372         * m4/close.m4 (gl_FUNC_CLOSE): Invoke gl_MSVC_INVAL and test
6373         HAVE_MSVC_INVALID_PARAMETER_HANDLER only if gl_MSVC_INVAL is defined.
6374         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
6375         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
6376         * m4/raise.m4 (gl_FUNC_RAISE): Likewise.
6377         * m4/read.m4 (gl_FUNC_READ): Likewise.
6378         * m4/write.m4 (gl_FUNC_WRITE): Likewise.
6379         * doc/windows-without-msvc.texi: New file.
6380         * doc/gnulib.texi (Native Windows Support without MSVC Support): New
6381         section.
6383 2017-05-10  Bruno Haible  <bruno@clisp.org>
6385         wait-process: Adjust native Windows support.
6386         * lib/wait-process.c: Use the usual condition for recognizing a native
6387         Windows platform.
6389 2017-05-10  Bruno Haible  <bruno@clisp.org>
6391         doc: New chapter "Native Windows Support".
6392         * doc/gnulib.texi (Native Windows Support): New chapter.
6393         * doc/windows-libtool.texi: Small wording changes.
6394         * doc/windows-sockets.texi: Small wording and formatting changes.
6396 2017-05-10  Bruno Haible  <bruno@clisp.org>
6398         doc: Move section "Library version handling".
6399         * doc/gnulib.texi: Move section "Library version handling"
6400         from chapter "Miscellaneous Notes" to chapter "Particular Modules".
6402 2017-05-10  Bruno Haible  <bruno@clisp.org>
6404         doc: Move section "Running self-tests under valgrind".
6405         * doc/gnulib.texi: Move section "Running self-tests under valgrind"
6406         from chapter "Particular Modules" to chapter "Miscellaneous Notes".
6408 2017-05-10  Bruno Haible  <bruno@clisp.org>
6410         doc: New chapter "Build Infrastructure Modules".
6411         * doc/gnulib.texi (Build Infrastructure Modules): New chapter.
6413 2017-05-10  Bruno Haible  <bruno@clisp.org>
6415         Prepare for reordering sections in the manual.
6416         * doc/gnulib.texi: Move several sections to separate files. Include
6417         these files.
6418         * doc/out-of-memory.texi: New file, extracted from doc/gnulib.texi.
6419         * doc/obsolete.texi: Likewise.
6420         * doc/extra-tests.texi: Likewise.
6421         * doc/transversal.texi: Likewise.
6422         * doc/namespace.texi: Likewise.
6423         * doc/check-version.texi: Likewise.
6424         * doc/windows-sockets.texi: Likewise.
6425         * doc/windows-libtool.texi: Likewise.
6426         * doc/licenses-texi.texi: Likewise.
6427         * doc/build-automation.texi: Likewise.
6428         * doc/c-locale.texi: Likewise.
6430 2017-05-10  Bruno Haible  <bruno@clisp.org>
6432         Fix instructions how to update manual on www.gnu.org.
6433         * doc/README: Add -I option, so that texi2dvi finds texinfo.tex.
6435 2017-05-09  Bruno Haible  <bruno@clisp.org>
6437         tzset: Expand comment about TZ problem on native Windows.
6438         * lib/tzset.c (tzset): Elaborate comment, based on explanations by
6439         Paul Eggert.
6440         * lib/ctime.c (rpl_ctime): Likewise.
6441         * lib/localtime.c (rpl_localtime): Likewise.
6442         * lib/mktime.c (mktime): Likewise.
6443         * lib/strftime-fixes.c (rpl_strftime): Likewise.
6444         * lib/wcsftime.c (rpl_wcsftime): Likewise.
6446 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
6448         intprops: don’t depend on ‘verify’
6449         Problem reported by Ævar Arnfjörð Bjarmason in:
6450         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00054.html
6451         * lib/intprops.h: Do not include verify.h, and move compile-time
6452         checks from here ...
6453         * tests/test-intprops.c (main): ... to here, if they’re not here
6454         already.  Check widths of other standard integer types.
6455         * modules/intprops (Depends-on): Remove ‘verify’.
6457 2017-05-07  Bruno Haible  <bruno@clisp.org>
6459         utimens: On native Windows, support 100ns resolution also if fd < 0.
6460         * lib/utime.in.h: Include <time.h>.
6461         (_gl_utimens_windows): New declaration.
6462         * lib/utime.c (_gl_utimens_windows): New function, based on utime.
6463         (utime): Invoke it.
6464         * lib/utimens.c (fdutimens): On native Windows, call _gl_utimens_windows
6465         instead of utime.
6466         * modules/utime (Depends-on): Add 'time'.
6468 2017-05-07  Bruno Haible  <bruno@clisp.org>
6470         utimens: Improve error code on native Windows.
6471         * lib/utimens.c (fdutimens): If fd was not opened with O_RDWR, fail with
6472         error code EACCES, not EINVAL.
6474 2017-05-07  Bruno Haible  <bruno@clisp.org>
6476         utime: Handle more Windows error codes.
6477         * lib/utime.c (utime): Handle ERROR_BAD_NETPATH.
6478         Based on explanations by Billy O'Neal.
6480 2017-05-05  Bruno Haible  <bruno@clisp.org>
6482         crypto/rijndael: Fix "strict-aliasing rules" warnings, alignment issues.
6483         * lib/rijndael-api-fst.c (rijndaelBlockEncrypt): Declare 'block' as a
6484         union.
6485         (rijndaelPadEncrypt, rijndaelBlockDecrypt): Likewise.
6486         (rijndaelPadDecrypt): Likewise. Use local variable 'iv' to cache the
6487         value of cipher->IV.
6489 2017-05-05  Bruno Haible  <bruno@clisp.org>
6491         wctype-h-c++-tests: Update.
6492         * tests/test-wctype-h-c++.cc: Reorder to match lib/wchar.in.h.
6494 2017-05-05  Bruno Haible  <bruno@clisp.org>
6496         wchar-c++-tests: Update.
6497         * tests/test-wchar-c++.cc (wcsftime): Declare, missing since 2017-04-30.
6499 2017-05-05  Bruno Haible  <bruno@clisp.org>
6501         utime-h-c++-tests: New module.
6502         * tests/test-utime-h-c++.cc: New file.
6503         (utime): Declare, missing since 2017-04-30.
6504         * modules/utime-h-c++-tests: New file.
6506 2017-05-05  Bruno Haible  <bruno@clisp.org>
6508         unistd-c++-tests: Update.
6509         * tests/test-unistd-c++.cc (isatty): Declare, missing since 2012-01-03.
6510         (read): Declare, missing since 2011-04-15.
6511         (sethostname): Declare, missing since 2011-12-03.
6513 2017-05-05  Bruno Haible  <bruno@clisp.org>
6515         time-c++-tests: Update.
6516         * tests/test-time-c++.cc (tzset): Declare, missing since 2017-05-01.
6517         (localtime, gmtime): Declare, missing since 2017-04-30.
6518         (ctime): Declare, missing since 2017-04-30.
6519         (strftime): Declare, missing since 2017-04-30.
6520         (tzalloc, tzfree, localtime_rz, mktime_z): Declare, missing since
6521         2015-07-24.
6523 2017-05-05  Bruno Haible  <bruno@clisp.org>
6525         sys_resource-c++-tests: New module.
6526         * tests/test-sys_resource-c++.cc: New file.
6527         (getrusage): Declare, missing since 2012-04-13.
6528         * modules/sys_resource-c++-tests: New file.
6530 2017-05-05  Bruno Haible  <bruno@clisp.org>
6532         strings-c++-tests: New module.
6533         * tests/test-strings-c++.cc: New file.
6534         (ffs): Declare, missing since 2011-07-12.
6535         * modules/strings-c++-tests: New file.
6537 2017-05-05  Bruno Haible  <bruno@clisp.org>
6539         string-c++-tests: Update.
6540         * tests/test-string-c++.cc (ffsl): Declare, missing since 2011-07-15.
6541         (ffsll): Declare, missing since 2011-07-15.
6543 2017-05-05  Bruno Haible  <bruno@clisp.org>
6545         stdlib-c++-tests: Update.
6546         * tests/test-stdlib-c++.cc (posix_openpt): Declare, missing since
6547         2011-10-18.
6548         (ptsname_r): Declare, missing since 2011-11-07.
6549         (qsort_r): Declare, missing since 2014-08-29.
6550         (random, srandom, initstate, setstate): Declare, missing since
6551         2012-01-14.
6552         (secure_getenv): Declare, missing since 2013-02-05.
6554 2017-05-05  Bruno Haible  <bruno@clisp.org>
6556         stdio-c++-tests: Update.
6557         * tests/test-stdio-c++.cc (pclose): Declare, missing since 2011-09-18.
6559 2017-05-05  Bruno Haible  <bruno@clisp.org>
6561         signal-h-c++-tests: Update.
6562         * tests/test-signal-h-c++.cc (raise): Remove redundant declaration.
6564 2017-05-05  Bruno Haible  <bruno@clisp.org>
6566         math-c++-tests: Update.
6567         * tests/test-math-c++.cc (fmaf): Declare, missing since 2011-10-17.
6568         (fma): Declare, missing since 2011-10-17.
6569         (fmal): Declare, missing since 2011-10-17.
6571 2017-05-05  Bruno Haible  <bruno@clisp.org>
6573         locale-c++-tests: Update.
6574         * tests/test-locale-c++.cc (localeconv): Declare, missing since
6575         2012-03-25.
6577 2017-05-05  Bruno Haible  <bruno@clisp.org>
6579         inttypes-c++-tests: New module.
6580         * tests/test-inttypes-c++.cc: New file.
6581         (strtoimax): Declare, missing since 2012-01-05.
6582         (strtoumax): Declare, missing since 2012-01-05.
6583         * modules/inttypes-c++-tests: New file.
6585 2017-05-05  Bruno Haible  <bruno@clisp.org>
6587         dirent-c++-tests: Update.
6588         * tests/test-dirent-c++.cc (readdir): Declare, missing since 2011-09-13.
6589         (rewinddir): Declare, missing since 2011-09-13.
6590         (dirfd): Declare, missing since 2010-03-08.
6592 2017-05-04  Bruno Haible  <bruno@clisp.org>
6594         argp: Fix mistake in 2017-04-23 commit.
6595         * lib/argp-help.c (__argp_failure): If GNULIB_STRERROR_R_POSIX is set,
6596         assume that strerror_r returns 'int', not 'char *'.
6598 2017-05-04  Reuben Thomas  <rrt@sc3d.org>
6600         argp: Fix typo.
6601         * lib/argp-help.c (argp_doc): Fix spelling mistake in comment.
6603 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
6605         utimens: port to Emacs + MS-Windows
6606         Skip the new MS-Windows-specific code if Emacs.
6607         * lib/utimens.c [EMACS_CONFIGUATION]:
6608         Avoid new MS-Windows-specific code.
6609         (USE_SETFILETIME): New macro.
6610         (fdutimens): Use it.
6612 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
6614         tzset: update doc for TZ problems on MS-Windows
6615         * doc/posix-functions/ctime.texi,  doc/posix-functions/daylight.texi:
6616         * doc/posix-functions/localtime.texi, doc/posix-functions/mktime.texi:
6617         * doc/posix-functions/strftime.texi, doc/posix-functions/timezone.texi:
6618         * doc/posix-functions/tzname.texi, doc/posix-functions/tzset.texi:
6619         * doc/posix-functions/wcsftime.texi:
6620         Mention some issues with TZ under MS-Windows.
6622 2017-05-01  Bruno Haible  <bruno@clisp.org>
6624         copy-file: Fix build error on mingw.
6625         * modules/copy-file (Depends-on): Add 'close'.
6627 2017-05-01  Bruno Haible  <bruno@clisp.org>
6629         tzset: Work around TZ problem on native Windows.
6630         * m4/tzset.m4 (gl_FUNC_TZSET): Require AC_CANONICAL_HOST. On native
6631         Windows, set REPLACE_TZSET to 1.
6632         * lib/tzset.c (tzset): On native Windows, fix TZ if necessary, and
6633         invoke '_tzset' instead of 'tzset'.
6634         * doc/posix-functions/tzset.texi: Mention the native Windows workaround.
6636         * modules/time_rz (Depends-on): Add tzset.
6637         * lib/time_rz.c (tzset): Remove fallback definition.
6638         * m4/time_rz.m4 (gl_TIME_RZ): Don't test for tzset.
6640 2017-05-01  Bruno Haible  <bruno@clisp.org>
6642         mktime: Fix dependencies.
6643         * modules/mktime (Depends-on): Add 'time'.
6645 2017-05-01  Bruno Haible  <bruno@clisp.org>
6647         New module 'localtime-buffer', split off from module 'gettimeofday'.
6648         * lib/localtime-buffer.h: New file.
6649         * lib/localtime-buffer.c: New file, extracted from lib/gettimeofday.c.
6650         * lib/time.in.h (tzset): New declaration.
6651         (localtime, gmtime): Don't test GNULIB_GETTIMEOFDAY.
6652         * lib/tzset.c: New file, extracted from lib/gettimeofday.c.
6653         * lib/gettimeofday.c: Include localtime-buffer.h. Remove code that was
6654         moved to lib/localtime-buffer.c or lib/tzset.c.
6655         * m4/localtime-buffer.m4: New file.
6656         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TZSET,
6657         HAVE_TZSET, REPLACE_TZSET.
6658         * m4/tzset.m4 (gl_FUNC_TZSET): Move code from m4/gettimeofday.m4 to
6659         here, with modifications. Set HAVE_TZSET, REPLACE_TZSET. Invoke
6660         gl_LOCALTIME_BUFFER_NEEDED.
6661         (gl_FUNC_TZSET_CLOBBER): Don't require gl_HEADER_SYS_TIME_H; not needed
6662         since 2007-01-18.
6663         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Remove code that deals with
6664         tzset.
6665         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require gl_LOCALTIME_BUFFER_DEFAULTS.
6666         Invoke gl_LOCALTIME_BUFFER_NEEDED instead of
6667         gl_GETTIMEOFDAY_REPLACE_LOCALTIME.
6668         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Remove macro.
6669         * modules/localtime-buffer: New file.
6670         * modules/time (Depends-on): Remove 'gettimeofday'.
6671         (Makefile.am): Substitute GNULIB_TZSET, HAVE_TZSET,
6672         REPLACE_TZSET. Don't substitute GNULIB_GETTIMEOFDAY.
6673         * modules/tzset (Description): Enable hyperlink to POSIX spec.
6674         (Files): Add lib/tzset.c.
6675         (Depends-on): Remove gettimeofday. Add localtime-buffer, time.
6676         (configure.ac): Arrange to conditionally compile lib/tzset.c. Invoke
6677         gl_TIME_MODULE_INDICATOR.
6678         * modules/gettimeofday (Depends-on): Add localtime-buffer.
6680 2017-05-01  Bruno Haible  <bruno@clisp.org>
6682         copy-file: Preserve sub-second time stamps.
6683         * lib/copy-file.c: Include stat-time.h, utimens.h instead of <utime.h>.
6684         (qcopy_file_preserving): Use 'struct timespec' and utimens() to
6685         transport the time stamps from the original file to the destination
6686         file.
6687         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for utime, utimes.
6688         * modules/copy-file (Depends-on): Add stat-time, utimns instead of
6689         utime-h.
6691 2017-05-01  Bruno Haible  <bruno@clisp.org>
6693         wctype-t: Fix problems if <wchar.h> gets included after <wctype.h>.
6694         * lib/wctype.in.h: Include not only <ctype.h> but also <wchar.h>. Do so
6695         also on MSVC.
6696         Reported by Eli Zaretskii <eliz@gnu.org>.
6698 2017-05-01  Bruno Haible  <bruno@clisp.org>
6700         wchar: Fix compilation error with the original mingw.org mingw.
6701         * lib/wchar.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
6702         <stddef.h> instead.
6703         * m4/wint_t.m4 (gl_TYPE_WINT_T_PREREQ): New macro, extracted from
6704         gl_WCTYPE_H.
6705         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set HAVE_CRTDEFS_H here; require
6706         gl_TYPE_WINT_T_PREREQ instead.
6707         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_TYPE_WINT_T_PREREQ.
6708         * modules/wchar (Makefile.am): Substitute HAVE_CRTDEFS_H.
6709         Reported by Eli Zaretskii <eliz@gnu.org>.
6711 2017-04-30  Bruno Haible  <bruno@clisp.org>
6713         utimecmp: Add support for native Windows.
6714         * lib/utimecmp.c (SYSCALL_RESOLUTION): Set to 100 on native Windows.
6716 2017-04-30  Bruno Haible  <bruno@clisp.org>
6718         utimens: Add support for native Windows.
6719         * lib/utimens.c: Include <windows.h>, msvc-nothrow.h.
6720         (fdutimens): Provide a native Windows implementation, like utime.c with
6721         added tv_nsec support.
6722         * modules/utimens (Depends-on): Add msvc-nothrow, utime.
6723         Suggested by Tim Rühsen <tim.ruehsen@gmx.de>.
6725 2017-04-30  Bruno Haible  <bruno@clisp.org>
6727         wcsftime: New module.
6728         * lib/wchar.in.h (wcsftime): New declaration.
6729         * lib/wcsftime.c: New file.
6730         * m4/wcsftime.m4: New file.
6731         * m4/wchar_h.m4 (gl_WCHAR_H): Test for wcsftime declaration.
6732         (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_WCSFTIME,
6733         HAVE_WCSFTIME, REPLACE_WCSFTIME.
6734         * modules/wchar (Makefile.am): Substitute GNULIB_WCSFTIME,
6735         HAVE_WCSFTIME, REPLACE_WCSFTIME.
6736         * modules/wcsftime: New file.
6737         * doc/posix-functions/wcsftime.texi: Mention the new module.
6739 2017-04-30  Bruno Haible  <bruno@clisp.org>
6741         strftime-fixes: New module.
6742         * lib/time.in.h (strftime): New declaration.
6743         * lib/strftime-fixes.c: New file.
6744         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Inline gl_FUNC_STRFTIME macro.
6745         (gl_FUNC_STRFTIME): Remove macro.
6746         * m4/strftime-fixes.m4: New file.
6747         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_STRFTIME,
6748         REPLACE_STRFTIME.
6749         * modules/time (Makefile.am): Substitute GNULIB_STRFTIME,
6750         REPLACE_STRFTIME.
6751         * modules/strftime-fixes: New file.
6752         * doc/posix-functions/strftime.texi: Mention the new module.
6754 2017-04-30  Bruno Haible  <bruno@clisp.org>
6756         mktime: Work around TZ problem on native Windows.
6757         * lib/mktime.c: Add #ifs to make the algorithmic workaround independent
6758         from the native Windows workaround.
6759         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): New macro, extracted from
6760         gl_FUNC_MKTIME. If guessing, set gl_cv_func_working_mktime to
6761         'guessing no'.
6762         (gl_FUNC_MKTIME): Require it. Require AC_CANONICAL_HOST.
6763         Set REPLACE_MKTIME to 1 on native Windows. Define NEED_MKTIME_WORKING,
6764         NEED_MKTIME_WINDOWS.
6765         (gl_FUNC_MKTIME_INTERNAL): Require gl_FUNC_MKTIME_WORKS, not
6766         gl_FUNC_MKTIME. Set WANT_MKTIME_INTERNAL, not REPLACE_MKTIME. Define
6767         NEED_MKTIME_INTERNAL.
6768         * m4/timegm.m4 (gl_FUNC_TIMEGM): Require gl_FUNC_MKTIME_WORKS, not
6769         gl_FUNC_MKTIME. Cope with 'guessing yes' value.
6770         * modules/mktime-internal (configure.ac): Test WANT_MKTIME_INTERNAL,
6771         not REPLACE_MKTIME.
6772         * doc/posix-functions/mktime.texi: Mention the native Windows
6773         workaround.
6775 2017-04-30  Bruno Haible  <bruno@clisp.org>
6777         localtime: New module.
6778         * lib/time.in.h (localtime): Declare also if requested by module
6779         'localtime'.
6780         * lib/localtime.c: New file.
6781         * m4/localtime.m4: New file.
6782         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_LOCALTIME.
6783         * modules/time (Makefile.am): Substitute GNULIB_LOCALTIME.
6784         * modules/localtime: New file.
6785         * doc/posix-functions/localtime.texi: Mention the new module.
6787 2017-04-30  Bruno Haible  <bruno@clisp.org>
6789         ctime: New module.
6790         * lib/time.in.h (ctime): New declaration.
6791         * lib/ctime.c: New file.
6792         * m4/ctime.m4: New file.
6793         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_CTIME,
6794         REPLACE_CTIME.
6795         * modules/time (Makefile.am): Substitute GNULIB_CTIME, REPLACE_CTIME.
6796         * modules/ctime: New file.
6797         * doc/posix-functions/ctime.texi: Mention the new module.
6799 2017-04-30  Bruno Haible  <bruno@clisp.org>
6801         gettimeofday: Provide higher resolution on native Windows.
6802         * lib/gettimeofday.c: Don't include <sys/timeb.h>.
6803         (GetSystemTimePreciseAsFileTimeFuncType): New variable.
6804         (initialize): Initialize it.
6805         (gettimeofday) [WINDOWS_NATIVE]: Use it, and convert from FILETIME to
6806         'struct timeval'. Don't use _ftime().
6807         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): Don't test for
6808         <sys/timeb.h> and _ftime.
6810 2017-04-30  Bruno Haible  <bruno@clisp.org>
6812         Document the problem with the Cygwin environment variable TZ.
6813         * doc/posix-functions/tzset.texi: Add note about TZ.
6814         * doc/posix-functions/ctime.texi: Likewise.
6815         * doc/posix-functions/localtime.texi: Likewise.
6816         * doc/posix-functions/mktime.texi: Likewise.
6817         * doc/posix-functions/strftime.texi: Likewise.
6818         * doc/posix-functions/wcsftime.texi: Likewise.
6819         * doc/pastposix-functions/ftime.texi: Likewise.
6821 2017-04-30  Bruno Haible  <bruno@clisp.org>
6823         utime-tests: New module.
6824         * tests/test-utime.c: New file, based on tests/test-utimens.h.
6825         * tests/test-utimens-common.h: Include <sys/stat.h>.
6826         * modules/utime-tests: New file.
6828 2017-04-29  Bruno Haible  <bruno@clisp.org>
6830         utime: New module.
6831         * lib/utime.in.h: Add comment for snippets.
6832         (utime): New declaration.
6833         * lib/utime.c: New file.
6834         * m4/utime.m4: New file.
6835         * m4/utime_h.m4 (gl_UTIME_H): Test for utime declaration.
6836         (gl_UTIME_H_DEFAULTS): Initialize GNULIB_UTIME, HAVE_UTIME,
6837         REPLACE_UTIME.
6838         * modules/utime-h (Depends-on): Add snippets.
6839         (Makefile.am): Substitute GNULIB_UTIME, HAVE_UTIME, REPLACE_UTIME.
6840         Insert snippets.
6841         * modules/utime: New file.
6842         * doc/posix-functions/utime.texi: Mention the new module.
6844 2017-04-29  Bruno Haible  <bruno@clisp.org>
6846         utime-h: Modernize handling of 'struct utimbuf'.
6847         * lib/utime.in.h: Include next <utime.h> if it exists.
6848         (utimbuf): Define to _utimbuf on native Windows.
6849         * m4/utime_h.m4 (gl_UTIME_H): Check for prerequisites of include_next.
6850         Set UTIME_H on native Windows.
6851         (gl_UTIME_MODULE_INDICATOR, gl_HEADER_UTIME_H_DEFAULTS): New macros.
6852         * modules/utime-h (Depends-on): Add include_next.
6853         (Makefile.am): Substitute also HAVE_UTIME_H, INCLUDE_NEXT,
6854         PRAGMA_SYSTEM_HEADER, PRAGMA_COLUMNS, NEXT_UTIME_H.
6856         * lib/utimens.c (utimbuf): Remove fallback definition.
6857         * m4/utimens.m4 (gl_UTIMENS): Don't require
6858         gl_CHECK_TYPE_STRUCT_UTIMBUF.
6859         * m4/utimbuf.m4: Remove file.
6860         * modules/utimens (Files): Remove m4/utimbuf.m4.
6862 2017-04-29  Bruno Haible  <bruno@clisp.org>
6864         Make use of module 'utime-h'.
6865         * modules/copy-file (Depends-on): Add utime-h.
6866         * lib/copy-file.c: Assume that <utime.h> exists.
6867         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for <utime.h>.
6869         * modules/utimens (Depends-on): Add utime-h.
6870         * lib/utimens.c: Assume that <utime.h> exists.
6872 2017-04-29  Bruno Haible  <bruno@clisp.org>
6874         utime-h: New module.
6875         * m4/utime_h.m4: New file.
6876         * lib/utime.in.h: New file.
6877         * modules/utime-h: New file.
6878         * doc/posix-headers/utime.texi: Mention the new module.
6880         * tests/test-utime-h.c: New file.
6881         * modules/utime-h-tests: New file.
6883 2017-04-30  Bruno Haible  <bruno@clisp.org>
6885         Fix a few typos.
6886         * m4/fstat.m4 (gl_FUNC_FSTAT): Require AC_CANONICAL_HOST.
6887         * m4/stat.m4 (gl_FUNC_STAT): Fix comment.
6888         * doc/posix-functions/fstat.texi: Fix a plural typo.
6889         * doc/posix-functions/stat.texi: Likewise.
6890         * m4/include_next.m4: Update comments.
6892 2017-04-29  Bruno Haible  <bruno@clisp.org>
6894         error: Fix mistake in 2017-04-23 commit.
6895         * lib/error.c (print_errno_message): If GNULIB_STRERROR_R_POSIX is set,
6896         assume that strerror_r returns 'int', not 'char *'.
6898 2017-04-29  Bruno Haible  <bruno@clisp.org>
6900         stat: Fix time_t values and other problems on native Windows platforms.
6901         * doc/posix-functions/stat.texi: Mention the problem with the Microsoft
6902         implementations of stat().
6903         * lib/stat.c: Include filename.h instead of dosname.h. Include
6904         malloca.h, stat-w32.h.
6905         (is_unc_root): New function.
6906         (rpl_stat): New implementation for native Windows. Remove
6907         REPLACE_FUNC_STAT_DIR code.
6908         * m4/stat.m4 (gl_FUNC_STAT): On native Windows, set REPLACE_STAT always.
6909         Don't define REPLACE_FUNC_STAT_DIR.
6910         (gl_PREREQ_STAT): Require gl_HEADER_SYS_STAT_H.
6911         * modules/stat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
6912         (Depends-on): Remove dosname. Add filename, malloca.
6913         (configure.ac): Also compile lib/stat-w32.c.
6915 2017-04-29  Bruno Haible  <bruno@clisp.org>
6917         fstat: Fix time_t values on native Windows platforms.
6918         * doc/posix-functions/fstat.texi: Mention the problem with st_*time.
6919         * lib/stat-w32.h: New file.
6920         * lib/stat-w32.c: New file.
6921         * lib/fstat.c: Don't include msvc-inval.h. Include msvc-nothrow.h,
6922         stat-w32.h instead.
6923         (fstat_nothrow): Remove function.
6924         (rpl_fstat): Implement by means of _gl_fstat_by_handle.
6925         * m4/fstat.m4 (gl_FUNC_FSTAT): On native Windows, set REPLACE_FSTAT
6926         always.
6927         (gl_PREREQ_FSTAT): Require gl_HEADER_SYS_STAT_H.
6928         * modules/fstat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
6929         (Depends-on): Remove msvc-inval. Add pathmax, msvc-nothrow.
6930         (configure.ac): Also compile lib/stat-w32.c.
6932 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
6934         getopt: port to Solaris 10 with circa-1997 glibc getopt.h
6935         Problem reported by Assaf Gordon and Gavin Smith in:
6936         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00157.html
6937         * lib/getopt-pfx-ext.h (_getopt_internal) [__GETOPT_PREFIX]:
6938         #define this, too.
6940 2017-04-29  Bruno Haible  <bruno@clisp.org>
6942         strerror_r-posix: Fixes for MSVC 14.
6943         * lib/strerror_r.c: Include <stdarg.h>.
6944         (strerror_r): Provide error messages for errno values 100...140.
6945         * doc/posix-functions/strerror_r.texi: Mention the MSVC 14 problem.
6947 2017-04-28  Bruno Haible  <bruno@clisp.org>
6949         noreturn: New module.
6950         * lib/noreturn.h: New file.
6951         * modules/noreturn: New file.
6952         * tests/test-noreturn.c: New file.
6953         * modules/noreturn-tests: New file.
6954         * tests/test-noreturn-c++.cc: New file.
6955         * modules/noreturn-c++-tests: New file.
6957 2017-04-27  Bruno Haible  <bruno@clisp.org>
6959         wctype-h: Fix compilation error with the original mingw.org mingw.
6960         * m4/wctype_h.m4 (gl_WCTYPE_H): Test for <crtdefs.h>. Set
6961         HAVE_CRTDEFS_H.
6962         * modules/wctype-h (Makefile.am): Substitute HAVE_CRTDEFS_H.
6963         * lib/wctype.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
6964         <stddef.h> instead.
6965         Reported and proposed by Eli Zaretskii <eliz@gnu.org>.
6967 2017-04-26  Pádraig Brady  <P@draigBrady.com>
6969         nap.h: Fix compilation on non windows platforms
6970         * tests/nap.h: Move misplaced endif.
6972 2017-04-26  Pádraig Brady  <P@draigBrady.com>
6973         and Paul Eggert  <eggert@cs.ucla.edu>
6975         time_rz: fix heap buffer overflow vulnerability
6976         Reported and analyzed at https://bugzilla.redhat.com/CVE-2017-7476
6977         * lib/time_rz.c (save_abbr): Rearrange the calculation determining
6978         whether there is enough buffer space available, thus avoiding
6979         the problematic promotion of signed to unsigned causing an invalid
6980         comparison when zone_copy is more than ABBR_SIZE_MIN bytes beyond
6981         the start of the buffer.
6982         * tests/test-parse-datetime.c (main): Add a test case written by
6983         Paul Eggert, which overwrites enough of the heap so that
6984         standard glibc will fail with "free(): invalid pointer"
6985         without the patch applied.
6987 2017-04-26  Paul Eggert  <eggert@cs.ucla.edu>
6989         xalloc: add missing integer overflow check
6990         * lib/xalloc.h (x2nrealloc): Also check for multiplication
6991         overflow when P is null.
6993 2017-04-25  Paul Eggert  <eggert@cs.ucla.edu>
6995         parse-datetime: make it standalone
6996         * lib/parse-datetime.y: Include <stdarg.h>, for va_start etc.
6997         (_GL_ATTRIBUTE_FORMAT): New macro.
6998         These are needed to get './gnulib-tool --test parse-datetime' to work.
7000 2017-04-23  Bruno Haible  <bruno@clisp.org>
7002         nap.h: Port to native Windows.
7003         * tests/nap.h (nap_get_stat): Renamed from get_stat. Remove argument fd;
7004         use nap_fd instead. On native Windows, close and reopen nap_fd.
7005         (nap_works): Don't compare the ctimes, because on native Windows, these
7006         are the creation times.
7007         (nap): Update.
7009 2017-04-23  Bruno Haible  <bruno@clisp.org>
7011         nap.h: Fix logic.
7012         * tests/nap.h (nap): Avoid signed integer overflow in loop.
7014 2017-04-23  Bruno Haible  <bruno@clisp.org>
7016         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
7017         * modules/strerror_r-posix (configure.ac): Invoke gl_MODULE_INDICATOR.
7018         * lib/error.c: Test GNULIB_STRERROR_R_POSIX before testing
7019         HAVE_DECL_STRERROR_R, HAVE_STRERROR_R, or STRERROR_R_CHAR_P.
7020         * lib/argp-help.c (__argp_failure): Likewise.
7022 2017-04-23  Bruno Haible  <bruno@clisp.org>
7024         strerror_r-posix: Revert commits from 2016-10-16,2016-11-04,2016-11-14.
7025         * m4/strerror_r.m4: Revert changes since 2016-10-16.
7026         * lib/strerror_r.c: Likewise.
7028 2017-04-23  Paul Eggert  <eggert@cs.ucla.edu>
7030         Target a C99 subset, not a C89 subset
7031         For many years Gnulib has targeted C89 and has resisted using C99
7032         features, as some Gnulib-using programs still wanted to target
7033         C89.  As this no longer seems to be the case, relax the porting
7034         requirements to allow some C99 features.  This is merely a change
7035         to the documentation, to give other Gnulib developers a chance to
7036         weigh in on the topic.
7037         * doc/extern-inline.texi (extern inline):
7038         * doc/gnulib-readme.texi (Portability guidelines):
7039         * doc/gnulib-tool.texi (Initial import):
7040         * doc/gnulib.texi (Header files):
7041         Modernize to talk about C99 and C11 instead of C89 and C99.
7042         * doc/gnulib-readme.texi (Portability guidelines):
7043         Now a section, not merely a subsection, so that it
7044         can be split up.  Modernize a bit.
7045         (C language versions, C99 features assumed)
7046         (C99 features avoided):
7047         New sections.
7049 2017-04-23  Bruno Haible  <bruno@clisp.org>
7051         doc: New section "Modules that modify the way other modules work".
7052         * doc/gnulib.texi (Modules that modify the way other modules work): New
7053         section.
7055 2017-04-23  Bruno Haible  <bruno@clisp.org>
7057         stat-time: Update comments.
7058         * lib/stat-time.h: Fix reference regarding st_ctime on Windows.
7059         * tests/test-utimens-common.h: Add reference regarding st_ctime on
7060         Windows.
7062 2017-04-01  Bruno Haible  <bruno@clisp.org>
7064         glob: Fix more memory leaks.
7065         * lib/glob.c (glob): Free allocated memory before returning.
7066         Reported by Coverity via Tim Rühsen.
7068 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7070         poll: improve fast check for out-of-range NFD
7071         * lib/poll.c: Do not include intprops.h.
7072         (poll): Compare NFD to INT_MAX, not to TYPE_MAXIMUM (nfds_t) / 2.
7073         * modules/poll (Depends-on): Remove intprops.
7075         ftoastr: cite a newer paper
7076         * lib/ftoastr.c (FTOASTR): In comment, cite Andrysco et al. 2016
7077         instead of Loitsch 2010.
7079 2017-04-22  Bruno Haible  <bruno@clisp.org>
7081         poll: Enable argument check also in the Windows implementation.
7082         * lib/poll.c (poll) [WINDOWS_NATIVE]: Check value of nfd correctly.
7083         Reported by Paul Eggert.
7085 2017-04-22  Bruno Haible  <bruno@clisp.org>
7087         getlogin_r: Work around bug in Mac OS X 10.12.
7088         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test also against the Mac OS X
7089         bug.
7090         * lib/getlogin_r.c (getlogin_r): When getlogin_r returns a string of the
7091         given size minus 1, call getlogin_r a second time, on a larger buffer.
7092         * modules/getlogin_r (Depends-on): Add malloca.
7093         * doc/posix-functions/getlogin_r.texi: Mention the Mac OS X bug.
7095 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7097         parse-datetime: fix %z and prefer signed int
7098         %z problem reported by Pádraig Brady in:
7099         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00103.html
7100         While fixing it, I decided to prefer signed ints to size_t, as
7101         they are less error-prone (e.g., ubsan catches overflow).
7102         * lib/parse-datetime.y (textint, parser_control, lookup_word, yylex)
7103         (parse_datetime2): Prefer ptrdiff_t to size_t for sizes and object
7104         counts, since signed integers make for better debugging.
7105         (date): Don’t assume %z works in printf formats.
7106         (debug_strfdatetime, debug_strfdate, debug_strftime): Use int for
7107         sizes of buffers known to be small, e.g., because we’re using snprintf.
7108         (parse_datetime2): Simplify call to debug_mktime_not_ok.
7110 2017-04-22  Bruno Haible  <bruno@clisp.org>
7112         *printf: Work around rounding bug on Mac OS X.
7113         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Test for Mac OS X 10.12 bug.
7114         * doc/posix-functions/*printf.texi: Mention the rounding bugs of
7115         Mac OS X and FreeBSD.
7116         * doc/glibc-functions/*printf.texi: Likewise.
7118 2017-04-22  Bruno Haible  <bruno@clisp.org>
7120         vasnprintf tests: Avoid warnings.
7121         * tests/test-vasnprintf-posix3.c (test_function, my_asnprintf,
7122         test_vasnprintf, test_asnprintf): Don't define if there's nothing to
7123         test.
7125 2017-04-22  Bruno Haible  <bruno@clisp.org>
7127         sys_file tests: Avoid warning.
7128         * tests/test-sys_file.c (main): Add a default clause to the switch
7129         statement.
7131 2017-04-22  Bruno Haible  <bruno@clisp.org>
7133         sethostname: Update doc.
7134         * doc/glibc-functions/sethostname.texi: Mention differing prototype on
7135         Mac OS X.
7137 2017-04-22  Bruno Haible  <bruno@clisp.org>
7139         quotearg tests: Avoid warnings.
7140         * tests/test-quotearg.c: Don't include test-quotearg.h if ENABLE_NLS is
7141         false.
7143 2017-04-22  Bruno Haible  <bruno@clisp.org>
7145         poll: Enable argument check.
7146         * lib/poll.c: Include intprops.h.
7147         (poll): Check value of nfd correctly.
7148         * modules/poll (Depends-on): Add intprops.
7150 2017-04-22  Bruno Haible  <bruno@clisp.org>
7152         get-rusage-data: Avoid warnings on Mac OS X.
7153         * lib/get-rusage-data.c: On Mac OS X, don't define
7154         get_rusage_data_via_setrlimit nor get_rusage_data_via_iterator.
7155         (get_rusage_data) [Mac OS X]: Just return 0.
7157 2017-04-22  Bruno Haible  <bruno@clisp.org>
7159         xbinary-io: Fix build error.
7160         * modules/xbinary-io (Depends-on): Add gettext-h.
7161         * lib/xbinary-io.c: Include gettext.h and define _().
7162         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
7163         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00089.html>.
7165 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7167         parse-datetime: overflow and debug cleanups
7168         This long patch was triggered by this bug report from Ruediger Meier:
7169         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00028.html
7170         I fixed the bug he noted, then found some others nearby, and then
7171         still others.  Oh my goodness, there were a lot of bugs.  I cleaned
7172         up some of the code to follow GNU standards while I was at it.
7173         * lib/parse-datetime.y (ISDIGIT): Remove; all callers changed to
7174         use c_isdigit.
7175         (EPOCH_YEAR): Remove; unused.
7176         (TM_YEAR_BASE): Now an enum rather than a macro.
7177         (HOUR, debug_strfdatetime): Multiply hour by 3600, not 60, to get
7178         time zone offset, since timezones now are in terms of seconds and
7179         not minutes.
7180         (long_time_t): Remove.  All uses replaced by time_t or intmax_t as
7181         appropriate.  Verify that intmax_t is wide enough.
7182         (time_overflow, time_zone_str): New functions, used to deal
7183         more reliably with overflow.
7184         (dbg_printf): Add printf attribute, to help catch integer width errors.
7185         (textint, relative_time, parser_control, time_zone_hhmm, set_hhmmss)
7186         (%union, to_hour, yylex, parse_datetime2):
7187         Use intmax_t instead of long int and/or long_time_t.
7188         All uses changed.
7189         (DBGBUFSIZE): Move earlier.
7190         (relative_time, set_hhmmss, parser_control):
7191         Just use int for nanoseconds and for time zones; that’s wide enough.
7192         (parser_control): Use bool for members like year_seen that can
7193         be booleans instead of counters.  All uses changed.
7194         Remove debug_default_input_timezone; no longer needed.
7195         All uses removed.
7196         (apply_relative_time): Return a bool overflow flag.
7197         All uses changed to check for overflow.
7198         (apply_relative_time, zone, date, relunit, relunit_snumber)
7199         (signed_seconds, unsigned_seconds, yylex, parse_datetime2):
7200         Check for integer overflow portably.
7201         (str_days): Use just int for N, as it’s wide enough.
7202         Prefer 2D char arrays to arrays of char * when it looks like
7203         2D is a win on typical platforms.
7204         Prefer snprintf to strncpy/strncat, for simplicity;
7205         all buffers are smaller than INT_MAX so this is safe.
7206         (TIME_ZONE_BUFSiZE, TM_YEAR_BUFSIZE): New constants.
7207         (debug_print_current_time): Don’t assume tv_nsec is of type long,
7208         as this is not true on x32.  Output "." before any nanoseconds.
7209         (debug_print_current_time, parse_datetime2):
7210         Output local zones using a more-consistent format.
7211         (debug_print_current_time, date, parse_datetime2):
7212         (main) [TEST]:
7213         Don’t assume time_t is the same width as long.
7214         (print_rel_part): New function, replacing ...
7215         (PRINT_REL_PART): ... this macro, which was removed.  All uses changed.
7216         (debug_print_relative_time): Use bool for boolean.
7217         (local_zone): dsts_seen now counts only tDST instances.
7218         (date): Fix printf of size_t to use %z.  Do not assume numeric
7219         tokens have negative values merely because the context suggests
7220         a syntax with "-" separating tokens.
7221         (time_zone_hhmm): Return bool success indicator, which checks for
7222         overflow.  Store result into PC->time_zone instead.  All callers
7223         changed.
7224         (tm_year_str): New function.  Return a bool success indicator and
7225         store the result into a buffer.  All callers changed.  Output the
7226         numerically correct string even if adding 1900 to the year would
7227         overflow.
7228         (to_tm_year): New function, replacing the old to_year.  All
7229         callers changed.
7230         (tm_diff): Sync with glibc.
7231         (lookup_word): Use to_uchar instead of doing it by hand.
7232         (TZBUFSIZE): Now local to the only function that needs it.
7233         (debug_strfdatetime): Simplify now that time zones are int seconds.
7234         (debug_strfdate): Work even if tm_year + 1900 would overflow.
7235         (get_effective_timezone): Remove.  All uses removed.
7236         (parse_datetime2): Use fprintf in pieces instead of snprintfing
7237         to a fixed-size buffer.  Don’t assume that gmtime succeeds iff
7238         localtime succeeds.  Use tm_gmtoff if available.  Simplify how
7239         ‘goto fail;’ works in conjunction with the ‘ok’ flag.
7240         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Don’t define
7241         TIME_T_FITS_IN_LONG_INT, as it is no longer needed.
7242         * modules/parse-datetime (Depends-on): Add inttypes.
7244 2017-04-21  Bruno Haible  <bruno@clisp.org>
7246         gettext-h: Avoid -Wundef warning.
7247         * lib/gettext.h: Test the value of ENABLE_NLS only if it is defined.
7248         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
7249         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00022.html>.
7251 2017-04-05  Tim Rühsen  <tim.ruehsen@gmx.de>
7253         error: Avoid "function declaration isn't a prototype" warning.
7254         * lib/error.c (strerror_r): Turn K&R C prototype to an ANSI C prototype.
7256 2017-04-21  Bruno Haible  <bruno@clisp.org>
7258         vasnprintf: Fix for MSVC 14.
7259         * lib/vasnprintf.c (USE_MSVC__SNPRINTF): New macro.
7260         Everywhere, use !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF instead
7261         of !HAVE_SNPRINTF_RETVAL_C99.
7263 2017-04-21  Bruno Haible  <bruno@clisp.org>
7265         mbrtowc tests: Fix test failures on MSVC 14.
7266         * tests/test-mbrtowc-w32.c (test_one_locale): Accept MSVC's conversion
7267         behaviour for invalid input.
7269 2017-04-21  Bruno Haible  <bruno@clisp.org>
7271         mbsinit: Fix for MSVC 14.
7272         * lib/mbsinit.c (mbsinit): If GNULIB_defined_mbstate_t, provide an
7273         implementation that is in sync with mbrtowc.c. On other platforms, use
7274         an adequate ad-hoc implementation.
7276 2017-04-21  Bruno Haible  <bruno@clisp.org>
7278         Fix test-mbrtowc5.sh failure on native Windows.
7279         * lib/setlocale.c (setlocale_unixlike): Accept "POSIX" as an alias for
7280         "C".
7282 2017-04-21  Bruno Haible  <bruno@clisp.org>
7284         Avoid accidental use of native Windows APIs on Cygwin.
7285         * lib/getaddrinfo.c (WINDOWS_NATIVE): Don't define on Cygwin.
7286         * lib/localcharset.c (WINDOWS_NATIVE): Likewise.
7287         * lib/localename.c (WINDOWS_NATIVE): Likewise.
7289 2017-04-20  Bruno Haible  <bruno@clisp.org>
7291         Remove red warnings from the generated MODULES.html.
7292         * modules/fcntl (Description): Disambiguate function references.
7293         * modules/getcwd-lgpl (Description): Likewise.
7294         * modules/hostent (Description): Likewise.
7295         * modules/servent (Description): Likewise.
7296         * modules/tempname (Description): Likewise.
7298 2017-04-20  Bruno Haible  <bruno@clisp.org>
7300         verify tests: Fix spurious failure with parallel make.
7301         * gnulib-tool (func_emit_tests_Makefile_am): Emit initialization of
7302         EXTRA_PROGRAMS.
7303         * tests/test-verify.sh: Build test-verify-try.o, not test-verify.o.
7304         * tests/test-verify-try.c: New file.
7305         * modules/verify-tests (Files): Add it.
7306         (EXTRA_PROGRAMS): Add test-verify-try.
7307         (MOSTLYCLEANFILES): Update accordingly.
7308         Reported by Adam James Stewart <ajstewart@anl.gov>.
7310 2017-04-18  Bruno Haible  <bruno@clisp.org>
7312         vma-iter: Fix compilation error on Solaris 7.
7313         * lib/vma-iter.c (vma_iterate): Treat missing MAP_ANONYMOUS on Solaris
7314         like on IRIX, OSF/1.
7315         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7317 2017-04-18  Bruno Haible  <bruno@clisp.org>
7319         vma-iter: Fix conflict with module 'largefile' on 32-bit Solaris 9.
7320         * modules/vma-iter (configure.ac): Test whether <sys/procfs.h> can be
7321         included.
7322         * lib/vma-iter.c: On Solaris, test HAVE_SYS_PROCFS_H before including
7323         <sys/procfs.h>.
7324         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't define on Solaris when
7325         <sys/procfs.h> cannot be included.
7326         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7328 2017-04-18  Bruno Haible  <bruno@clisp.org>
7330         getopt-gnu: Add comments.
7331         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Add comments.
7332         * modules/getopt-gnu (configure.ac): Likewise.
7334 2017-04-16  Paul Eggert  <eggert@cs.ucla.edu>
7336         regex: port better to Solaris 10
7337         Solaris 10 <locale.h> includes <libintl.h>, which #defines
7338         gettext, and this causes a double #define.
7339         Problem reported by Gavin Smith in:
7340         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00056.html
7341         * lib/regex_internal.h (gettext): #undef before #defining.
7343 2017-04-15  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
7345         intprops: improve comments
7346         * lib/intprops.h: Improve and shorten commentary.
7347         For the record, if we ever run into a pedantic compiler that
7348         behaves differently from GCC when converting an out-of-range value
7349         to a signed integer, we can work around the problem with something
7350         like the following code, where UCT is the signed counterpart of T
7351         (UCT is sometimes narrower than UT) and all callers are changed
7352         accordingly:
7353         #if __SUNPRO_C <= 0x5120
7354         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
7355            ((t) ((ut) (a) op (ut) (b)))
7356         #else
7357         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
7358            (TYPE_MINIMUM (t) <= (uct) ((ut) (a) op (ut) (b)) \
7359             ? ((t) (uct) (((ut) (a) op (ut) (b)) - TYPE_MINIMUM (t)) \
7360                + TYPE_MINIMUM (t)) \
7361             : (t) (uct) ((ut) (a) op (ut) (b)))
7362         #endif
7364 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
7366         intprops: try to avoid tickling similar bugs
7367         * lib/intprops.h (_GL_INT_OP_CALC): Document that UT no longer
7368         needs to be the same width as T; it can be wider.
7369         Change callers so that UT is at least as wide as unsigned int,
7370         as I suspect that this is less likely to run into compiler bugs.
7372         intprops: port to Oracle Studio 12.3 x86
7373         Problem reported by Gavin Smith in:
7374         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00049.html
7375         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
7376         Convert unsigned to signed via the usual rather than the standard way,
7377         to avoid a compiler bug in Oracle Studio 12.3 x86.
7379 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
7381         getopt: prefer - to _ in new file names
7382         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
7383         * lib/getopt-core.h: Rename from lib/getopt_core.h.
7384         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
7385         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
7386         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
7387         All uses changed.
7389         getopt: port recent getopt changes to macOS
7390         Problem reported by Harald Maier (Bug#26398).
7391         The macOS C compiler uses __nonnull for its own purposes and that
7392         clashes with glibc's __nonnull.
7393         * lib/getopt.in.h: Add comment for _GL_ARG_NONNULL snippet.
7394         * lib/getopt_cdefs.in.h (__nonnull): Remove.
7395         * lib/getopt_core.h (getopt):
7396         * lib/getopt_ext.h (getopt_long, getopt_long_only):
7397         Use _GL_ARG_NONNULL, not __nonnull.
7398         * lib/unistd.in.h: Move snippet hooks to before where the getopt
7399         .h files are included, so that _GL_ARG_NONNULL is defined in time.
7400         * modules/getopt-posix (Depends-on): Add snippet/arg-nonnull.
7401         (getopt.h): Interpolate _GL_ARG_NONNULL snippet.
7403 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
7405         getopt-gnu: omit some duplicate code
7406         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Don’t require
7407         gl_FUNC_GETOPT_POSIX, as the configure.ac code generated by
7408         gnulib-tool already does this.
7409         * modules/getopt-gnu (configure.ac): Omit code duplicated from
7410         getopt-posix, which we depend on.
7412         getopt-posix: use angle-bracket include
7413         * lib/getopt1.c: Include <config.h>, not "config.h".
7415 2017-04-06  Zack Weinberg  <zackw@panix.com>
7417         getopt: annotate files with relationship to glibc
7419         As the final act in this patchset, adjust the message at the top of
7420         each file to indicate which files are synced with glibc.  (This has
7421         already been done for most of the headers.)
7423         * lib/getopt.c, lib/getopt1.c, lib/getopt_int.h:
7424         Mention in top-of-file boilerplate that these files are shared
7425         between glibc and gnulib.
7428         getopt: split up getopt.in.h and eliminate __need_getopt
7430         Over in glibc, all of the __need macros are being phased out in favor
7431         of small headers that declare only the necessary components, as this
7432         is much simpler and less prone to bugs.  As getopt is shared with
7433         glibc, gnulib needs to do the same for __need_getopt.
7435         __need_getopt is misnamed; what it really means is "we want only the
7436         getopt features specified in POSIX, not the GNU extensions".  glibc
7437         placed the "meat" of getopt.h into getopt_core.h and getopt_ext.h;
7438         these files can be shared verbatim with gnulib.  The portability
7439         wrapper, on the other hand, they have renounced altogether; glibc's
7440         getopt.h will no longer be shared with gnulib at all.  In exchange,
7441         certain glibc-specific quirks (having to do with __posix_getopt) no
7442         longer need appear in gnulib's headers at all.
7444         This patch merges getopt_core.h and getopt_ext.h from glibc, and
7445         splits up the current gnulib-side portability wrapper into three
7446         additional headers: getopt_pfx_core.h and getopt_pfx_ext.h handle
7447         __GETOPT_PREFIX for their respective headers, getopt_cdefs.in.h
7448         handles things like __BEGIN_DECLS and __THROW, and getopt.in.h and
7449         unistd.in.h just use them.  All new files are clearly marked with
7450         whether they are shared with glibc.
7452         * lib/getopt.in.h: Eliminate __need_getopt.  Break up into ...
7453         * lib/getopt_core.h, lib/getopt_ext.h: ... these new files shared
7454         with glibc, and ...
7455         * lib/getopt_cdefs.in.h, lib/getopt_pfx_core.h
7456         * lib/getopt_pfx_ext.h: ... these new files not shared with glibc.
7457         * lib/unistd.in.h: Include getopt_cdefs.h and getopt_pfx_core.h,
7458         instead of defining __need_getopt and including the full getopt.h.
7460         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): Check for sys/cdefs.h.
7461         Define substitution variables GETOPT_CDEFS_H and HAVE_SYS_CDEFS_H.
7462         * modules/getopt-posix (Files): Add new headers and sort list.
7463         (Depends-on): No longer need snippet/arg-nonnull.
7464         (Makefile.am): Generate getopt_cdefs.h.
7467         getopt: better handling of ambiguous options
7469         glibc's getopt uses alloca to construct a linked list of possibilities
7470         for an "ambiguous" long option.  In gnulib, malloc should be used
7471         instead.  Providing for both cases complicates things a fair bit.
7473         This patch rewrites ambiguous-option handling to use a boolean vector
7474         instead of a linked list.  There is then only one allocation that
7475         might need freeing; in glibc it can honor __libc_use_alloca as usual,
7476         and in gnulib we define __libc_use_alloca to always be false, so we
7477         don't need ifdefs in the middle of the function.  This should also be
7478         slightly more efficient in the normal case of long options being fully
7479         spelled out -- I think most people aren't even aware they _can_
7480         sometimes abbreviate long options.
7482         One interesting consequence is that the list of possibilities is now
7483         printed in exactly the order they appear in the list of long options,
7484         instead of the first possibility being shuffled to the end.
7486         (The patch looks bigger than it really is because there's a fair bit
7487         of reindentation and code rearrangement.)
7489         * lib/getopt.c: When used standalone, define __libc_use_alloca
7490         as always false and alloca to abort if called.
7491         (process_long_option): Rewrite handling of ambiguous long options
7492         to use a single boolean vector, not a linked list; use
7493         __libc_use_alloca to decide whether to allocate this using alloca.
7496         getopt: refactor long-option handling
7498         There were two copies of the bulk of the code to handle long options.
7499         Now there is only one.
7501         This change temporarily removes the logic to avoid using alloca when
7502         standalone; the next patch in the series will restore it.
7504         * lib/getopt.c (process_long_option): New function split out
7505         from _getopt_internal_r.
7506         (_getopt_internal_r): Replace both copies of the long-option
7507         processing code with calls to process_long_option.
7510         getopt: tidy up _getopt_initialize a bit
7512         _getopt_data.__posixly_correct is completely redundant to
7513         _getopt_data.__ordering, and some work that logically belongs in
7514         _getopt_initialize was being done by _getopt_internal_r, making the
7515         code harder to understand.
7517         As a side effect, getenv will no longer be called if the first
7518         character of the options string is '+' or '-', which is probably a
7519         Good Thing.  (Perhaps we should have a flag character that
7520         specifically asks for the permutation behavior?)
7522         * lib/getopt_int.h (_getopt_data): Remove __posixly_correct field.
7523         * lib/getopt.c (_getopt_internal_r): Move some initialization code...
7524         (_getopt_initialize): ...here. Don't set d->__posixly_correct.
7527         getopt: merge from glibc: repetition reduction
7529         The definitions of the entry point functions 'getopt' and
7530         '__posix_getopt' can be made substantially less repetitive with a
7531         helper macro.
7533         While I was merging the const-correctness changes from gnulib into
7534         glibc I noticed there are still some unnecessary casts in
7535         _getopt_internal_r.
7537         * lib/getopt.c (getopt, __posix_getopt): Eliminate repetition with
7538         a macro.  Consistently cast 'argv' to 'char **' when calling
7539         _getopt_internal.
7540         (_getopt_internal_r): Remove unnecessary casts when calling exchange.
7543         getopt: clean up error reporting
7545         getopt can print a whole bunch of error messages, and when used
7546         standalone (from gnulib) it uses fprintf to do that.  But fprintf is a
7547         cancellation point and getopt isn't, and also applying fprintf to a
7548         stream in wide-character mode is not allowed.  So every single error
7549         reporting case has an #ifdef _LIBC block in which it calls internal
7550         libc functions instead.  The counterpart patch series in glibc makes
7551         it possible to simplify all of that down to a set of #defines at the
7552         top of the file; core code is written as if it is safe to just call
7553         fprintf, flockfile, and funlockfile.  (One caveat: it's *not* safe to
7554         call any *other* stdio functions.)
7556         * lib/getopt.c: When _LIBC is defined, define fprintf to
7557         __fxprintf_nocancel, flockfile to _IO_flockfile, and funlockfile
7558         to _IO_funlockfile.  When neither _LIBC nor
7559         _POSIX_THREAD_SAFE_FUNCTIONS is defined, define flockfile and
7560         funlockfile as no-ops.
7561         (_getopt_internal_r): Remove all internal #ifdef _LIBC blocks; the
7562         standalone error-printing code can now be used for libc as well.
7563         Add an flockfile/funlockfile pair around one case where the error
7564         message is printed in several chunks.  Don't use fputc.
7567         getopt: fix fencepost error in ambiguous-W-option handling
7569         getopt_long contains an undocumented (AFAICT) feature in which, if you
7570         put "W;" in the short-options list, then '-W foo' and '-Wfoo' are
7571         treated as equivalent to '--foo'.  This is implemented with a partial
7572         second copy of the code for handling long options, and that code
7573         increments optind one too many times when recovering from an ambiguous
7574         abbreviated option, which can cause the main loop to walk past the end
7575         of argv and crash.
7577         I discovered this while writing a test case that tries to exercise all
7578         of getopt's error reporting paths; I wouldn't be surprised to learn
7579         that this feature is never used by real applications.
7581         * lib/getopt.c (_getopt_internal_r): Don't increment
7582         d->optind a second time when reporting ambiguous -W options.
7585         getopt: clean up getopt.c and getopt1.c file headers
7587         In getopt.c, there is no need to include wchar.h at all, and it is
7588         safe nowadays to assume that stdlib.h does declare getenv (several
7589         other gnulib modules make this assumption).
7591         In getopt1.c, the #ifdef _LIBC block at the top can be simplified
7592         by using "" inclusions consistently, and there is no actual need to
7593         include stdlib.h (except in the #ifdef TEST block, where it should be
7594         unconditional), nor to provide a backup definition of NULL at all.
7596         * lib/getopt1.c: Simplify #ifdeffage at top of file.
7597         Move inclusion of stdlib.h to #ifdef TEST block and make
7598         unconditional.  Do not define NULL.
7599         * lib/getopt.c: Don't include wchar.h. No need to declare getenv.
7600         * m4/getopt.m4 (gl_PREREQ_GETENV): Delete.
7601         * modules/getopt-gnu, modules/getopt-posix: Don't call
7602         gl_PREREQ_GETENV.
7605         getopt: harmonize comments with glibc
7607         The comments explaining how the behavior of 'getopt' varies depending
7608         on whether it's the standalone version and whether there are special
7609         characters at the beginning of the options string were inconsistent
7610         between gnulib and glibc, and also out of sync with the code.
7612         * lib/getopt.c, lib/getopt_int.h: Harmonize comments with glibc.
7615         getopt: remove USE_NONOPTION_FLAGS
7617         getopt includes code to parse an environment variable named
7618         _XXX_GNU_nonoption_argv_flags_ (where XXX is the current process's PID
7619         in decimal); but all of it has been #ifdefed out since 2001, with no
7620         official way to turn it back on.
7622         According to commentary in glibc's config.h.in, bash version 2.0
7623         set this environment variable to indicate argv elements that were
7624         the result of glob expansion and therefore should not be treated
7625         as options, but the feature was "disabled later" because "it
7626         caused problems".  According to bash's CHANGES file, "later" was
7627         release 2.01; it gives no more detail about what the problems
7628         were.
7630         Version 2.0 of bash was released on the last day of 1996, and version
7631         2.01 in June of 1997.  Twenty years later, I think it is safe to
7632         assume that this environment variable isn't coming back.
7634         * lib/getopt_int.h: Remove all #ifdef USE_NONOPTION_FLAGS blocks.
7635         * lib/getopt.c: Likewise. Also remove SWAP_FLAGS and the
7636         __libc_argc and __libc_argv externs, which were only used by
7637         #ifdef USE_NONOPTION_FLAGS blocks.
7640         getopt: tabify, in preparation for merge with glibc
7642         glibc sticks to the GNU default of indenting with a mix of
7643         8-column tabs and spaces; make the gnulib copy match.
7645         getopt.h is not included because it is *not* going to be merged in its
7646         present form.
7648         * getopt.c, getopt1.c, getopt_int.h: Tabify.
7650 2017-04-02  Bruno Haible  <bruno@clisp.org>
7652         relocatable-lib-lgpl: Fix link error (regression from 2011-06-16).
7653         * modules/relocatable-lib-lgpl (configure.ac): Add AC_LIBOBJ invocation,
7654         like it was done in modules/relocatable-lib on 2011-05-21 and in
7655         modules/relocatable-prog on 2011-08-15.
7656         Reported by Reuben Thomas <rrt@sc3d.org>.
7658 2017-03-31  Bruno Haible  <bruno@clisp.org>
7660         glob: Fix invalid free() call.
7661         * lib/glob.c (glob): Reset malloc_home_dir when assigning a pointer to
7662         static storage to home_dir.
7663         Reported by Coverity via Tim Rühsen.
7665 2017-03-31  Bruno Haible  <bruno@clisp.org>
7667         glob: Fix memory leaks.
7668         * lib/glob.c (glob): Free allocated memory before returning.
7669         Reported by Coverity via Tim Rühsen.
7671 2017-03-31  Bruno Haible  <bruno@clisp.org>
7673         md5, sha1, sha256, sha512: Add comments regarding correctness.
7674         * lib/md5.h (buflen): Add comments regarding range.
7675         * lib/sha1.h (buflen): Likewise.
7676         * lib/sha256.h (buflen): Likewise.
7677         * lib/sha512.h (buflen): Likewise.
7678         * lib/md5.c (md5_process_bytes): Add comment why memmove is not needed.
7679         * lib/sha1.c (sha1_process_bytes): Likewise.
7680         * lib/sha256.c (sha256_process_bytes): Likewise.
7681         * lib/sha512.c (sha512_process_bytes): Likewise.
7682         Reported by Coverity via Tim Rühsen.
7684 2017-03-22  Paul Eggert  <eggert@cs.ucla.edu>
7686         getopt: merge from glibc
7687         This does not change anything substantial; it merely simplifies
7688         hypothetical merges back to glibc.
7689         * lib/getopt.c, lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h:
7690         Change copyright notice to match what is in glibc.
7691         * lib/getopt.c: Reorder includes to match glibc.  Remove uses of
7692         USE_IN_LIBIO.  Remove 'register'.  In __LIBC code, use
7693         __open_memstream rather than open_memstream and __glibc_likely
7694         instead of __builtin_expect.
7695         * lib/getopt.in.h (__posix_getopt) [!__GETOPT_PREFIX]: New decl.
7697 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
7699         dfa: make [0-9] faster in non-C locales
7700         Problem reported by John P. Linderman (Bug#26193).
7701         * lib/dfa.c (parse_bracket_exp): Remove redundant assignment.
7702         If both ends of the range are ASCII digits, do not worry about
7703         multi-character collating sequences and the like.  Be consistent
7704         about using isalpha as a precondition for setbit_case_fold_c.
7706 2017-03-19  Bruno Haible  <bruno@clisp.org>
7708         lock: Fix compilation error with HP-UX IA64 cc.
7709         * lib/glthread/lock.h (pthread_rwlockattr_setkind_np): Don't declare
7710         weak on non-glibc platforms.
7712 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
7714         stdalign: tweak version# and test for HP-UX IA64
7715         Problems reported by Bruno Haible in:
7716         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00078.html
7717         * lib/stdalign.in.h (_Alignas):
7718         * m4/stdalign.m4 (gl_STDALIGN_H):
7719         Use octal, not decimal, for __HP_cc version.  Perhaps HP formerly
7720         used octal (as that is how they document it), but it is decimal in
7721         practice now and the ancient implementations no longer matter.
7722         * tests/test-stdalign.c (main) [__HP_cc && __ia64]: Skip test.
7724 2017-03-19  Bruno Haible  <bruno@clisp.org>
7726         vma-iter: Add support for Solaris.
7727         * lib/vma-iter.c (vma_iterate): On Solaris, use the /proc filesystem
7728         approach.
7729         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on Solaris.
7730         * lib/get-rusage-as.c: Update comment about Solaris.
7731         * lib/get-rusage-data.c: Likewise.
7733 2017-03-19  Bruno Haible  <bruno@clisp.org>
7735         vma-iter: Prefer HP-UX specific API on HP-UX.
7736         * lib/vma-iter.c (vma_iterate): Move HP-UX specific implementation up.
7737         * lib/vma-iter.h: Update.
7738         Just in case HP-UX ever implements mquery().
7740 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
7742         stdalign: restore previous behavior for HP-UX IA64
7743         See Bruno Haible's email in:
7744         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
7745         which cites p 150 of a manual saying that 'aligned' works on Itanium.
7746         * lib/stdalign.in.h (_Alignas):
7747         Assume the '061200' applies to Itanium, not to PA-RISC.
7748         * m4/stdalign.m4 (gl_STDALIGN_H): Adjust to match stdalign.in.h.
7750 2017-03-17  Bruno Haible  <bruno@clisp.org>
7752         stat-time, timespec: Support use of the header files in C++ mode.
7753         * lib/stat-time.h: Add "C" linkage declaration.
7754         * lib/timespec.h: Likewise.
7756 2017-03-17  Bruno Haible  <bruno@clisp.org>
7758         stdalign: Make it work with HP-UX cc.
7759         * lib/stdalign.in.h (_Alignas): Don't define for HP-UX cc.
7760         * m4/stdalign.m4 (gl_STDALIGN_H): No need to enable the extra test
7761         for HP-UX cc.
7763 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
7765         flexmember: try to detect HP-UX 11.31 cc bug
7766         Problem reported by Bruno Haible in:
7767         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
7768         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
7769         Attempt to detect bug in HP-UX 11.31 cc.
7771 2017-03-16  Bruno Haible  <bruno@clisp.org>
7773         stdint: Fix test compilation failure with HP-UX 11 cc.
7774         * lib/stdint.in.h (_STDINT_MIN): Remove macro.
7775         (_STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN): New macros.
7776         (PTRDIFF_MIN, SIG_ATOMIC_MIN, WCHAR_MIN, WINT_MIN): Define using
7777         _STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN.
7779 2017-03-14  Bruno Haible  <bruno@clisp.org>
7781         gnulib-tool: Don't produce a tests directory with only snippet .h files.
7782         * gnulib-tool (func_modules_transitive_closure_separately): If
7783         testsrelated_modules ends up with no "real" modules, aside from
7784         modules with applicability 'all', set it to empty.
7786 2017-03-14  Bruno Haible  <bruno@clisp.org>
7788         vma-iter: Add support for HP-UX.
7789         * modules/vma-iter (configure.ac): Check for 'pstat_getprocvm'.
7790         * lib/vma-iter.c (vma_iterate): On HP-UX, use pstat_getprocvm().
7791         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on HP-UX.
7792         * lib/get-rusage-as.c: Update comment about HP-UX.
7793         * lib/get-rusage-data.c: Likewise.
7794         (get_rusage_data): Use get_rusage_data_via_setrlimit.
7796 2017-03-14  Bruno Haible  <bruno@clisp.org>
7798         limits-h: Make it work with HP-UX cc.
7799         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define if not
7800         defined.
7802 2017-03-14  Bruno Haible  <bruno@clisp.org>
7804         Fix test failures on DragonFlyBSD.
7805         * tests/test-localeconv.c (main): Treat DragonFlyBSD like FreeBSD.
7806         * tests/test-select.h (test_bad_fd): Likewise.
7807         * tests/test-get-rusage-data.c (main): Treat DragonFlyBSD like OpenBSD.
7809 2017-03-14  Bruno Haible  <bruno@clisp.org>
7811         freadahead: Silence warning on DragonFlyBSD.
7812         * lib/freadahead.c (__sreadahead): Declare ourselves.
7814 2017-03-14  Bruno Haible  <bruno@clisp.org>
7816         vma-iter: Add comment about AIX.
7817         * lib/vma-iter.c: Add comment about why this module is not implemented
7818         on AIX.
7820 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
7822         snippets: move unadjusted snippet sources to lib
7823         Problem reported by Michal Privoznik in:
7824         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00039.html
7825         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
7826         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
7827         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
7828         * lib/unused-parameter.h: Rename from
7829         build-aux/snippet/unused-parameter.h.
7830         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
7831         * modules/snippet/_Noreturn (Files:, _NORETURN_H):
7832         * modules/snippet/arg-nonnull (Files:, ARG_NONNULL_H):
7833         * modules/snippet/c++defs (Files:, CXXDEFS_H):
7834         * modules/snippet/unused-parameter (Files:, UNUSED_PARAMETER_H):
7835         * modules/snippet/warn-on-use (Files: WARN_ON_USE_H):
7836         Adjust to file renamings.
7838 2017-03-14  Mathieu Lirzin  <mthl@gnu.org>
7840         gnulib-tool: don't automatically distribute files from top/
7841         * gnulib-tool (func_get_automake_snippet_unconditional): To be able to
7842         not distribute top/README-release by default, don't distribute files
7843         from top/ unconditionally.
7844         * modules/gnumakefile (Makefile.am): Distribute top/GNUmakefile.
7845         * modules/maintainer-makefile (Makefile.am): Distribute top/maint.mk.
7847 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
7849         gnulib-tool: fix typo in comment output
7850         * gnulib-tool (func_import): Fix typo with previous change.
7852         snippets: work around GNU Make 3.82 VPATH
7853         When using 'gnulib-tool --gnu-make' on Emacs, and building
7854         the resulting tarball on Solaris 10 which bundles GNU Make 3.82,
7855         an out-of-source (VPATH) build failed because the sans-copyright
7856         snippet file was not built before the file that used it.
7857         Presumably this is some sort of VPATH thing.  Work around the
7858         problem by using the original snippet, i.e., don’t bother to
7859         remove its copyright notice.
7860         * modules/snippet/_Noreturn, modules/snippet/link-warning:
7861         Don’t assume Automake in comments.  Omit long-incorrect comment.
7862         * modules/snippet/arg-nonnull (BUILT_SOURCES, arg-nonnull.h)
7863         (MOSTLYCLEANFILES):
7864         * modules/snippet/c++defs (BUILT_SOURCES, c++defs.h)
7865         (MOSTLYCLEANFILES):
7866         * modules/snippet/unused-parameter (BUILT_SOURCES, unused-parameter.h)
7867         (MOSTLYCLEANFILES):
7868         * modules/snippet/warn-on-use (BUILT_SOURCES, warn-on-use.h)
7869         (MOSTLYCLEANFILES):
7870         Remove.
7871         * modules/snippet/arg-nonnull (ARG_NONNULL_H):
7872         * modules/snippet/c++defs (CXXDEFS_H):
7873         * modules/snippet/unused-parameter (UNUSED_PARAMETER_H):
7874         * modules/snippet/warn-on-use (WARN_ON_USE_H):
7875         Don’t bother to remove the copyright notice; just use the
7876         original snippet as-is.
7878 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
7880         gnulib-tool: minor --gnu-make fixups
7881         * gnulib-tool (func_emit_lib_Makefile_am):
7882         Remove useless code that was a blind alley during implementation.
7883         Problem reported by Thien-Thi Nguyen in:
7884         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00029.html
7885         (func_import): Note the "--gnu-make" option in the output comment.
7887 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
7889         gnulib-tool: new option --gnu-make
7890         This is for applications like GNU Emacs that use GNU Make
7891         features instead of Automake.
7892         * doc/gnulib-tool.texi (Initial import): Mention --gnu-make.
7893         * doc/gnulib.texi (Unit test modules, Build robot for gnulib):
7894         Do not assume Automake.
7895         * gnulib-tool (func_determine_path_separator)
7896         (func_modules_transitive_closure, func_update_file)
7897         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
7898         (func_import): Add support for --gnu-make.
7900 2017-03-11  Paul Eggert  <eggert@cs.ucla.edu>
7902         gnulib-common.m4: avoid aclocal.m4 bloat
7903         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB):
7904         Hide AM_PROG_AR from aclocal, so that aclocal does not
7905         install irrelevant macro definitions into aclocal.m4.
7907 2017-03-10  Bruno Haible  <bruno@clisp.org>
7909         vma-iter: Let callers know about error.
7910         * lib/vma-iter.h (vma_iterate): Return 'int', not 'void'.
7911         * lib/vma-iter.c (vma_iterate): Return -1 in case of error.
7913 2017-03-05  Bruno Haible  <bruno@clisp.org>
7915         Fix value of LD for 64-bit compilers on AIX.
7916         * m4/lib-ld.m4 (AC_LIB_PROG_LD): For 64-bit compilers on AIX
7917         ("gcc -maix64" and "xlc -q64"), add option -b64 to $LD.
7919 2017-03-04  Paul Eggert  <eggert@cs.ucla.edu>
7921         dtotimespec: simplify
7922         * lib/dtotimespec.c (dtotimespec): Simplify.
7924 2017-03-04  Bruno Haible  <bruno@clisp.org>
7926         test-calloc-gnu: Reenable test also for GCC 7.
7927         * tests/test-calloc-gnu.c (eight): New function.
7928         (main): Don't skip test; use eight() instead.
7930 2017-03-04  Jim Meyering  <meyering@fb.com>
7932         test-calloc-gnu: port to GCC7
7933         * tests/test-calloc-gnu.c (main) [__GNUC__ >= 7]: Skip a test
7934         that attempts to calloc more than SIZE_MAX bytes, because GCC7
7935         and newer would detect that at compilation time.
7937 2017-03-04  Bruno Haible  <bruno@clisp.org>
7939         tests: Avoid compiler warning about uses of null_ptr.
7940         * tests/null-ptr.h: New file.
7941         * tests/test-canonicalize.c: Include null-ptr.h.
7942         (null_ptr): Remove function.
7943         * tests/test-canonicalize-lgpl.c: Likewise.
7944         * tests/test-memmem.c: Likewise.
7945         * tests/test-ptsname_r.c: Likewise.
7946         * modules/canonicalize-tests (Files): Add tests/null-ptr.h.
7947         * modules/canonicalize-lgpl-tests: Likewise.
7948         * modules/memmem-tests: Likewise.
7949         * modules/ptsname_r-tests: Likewise.
7950         Reported by Jim Meyering.
7952 2017-03-03  Bruno Haible  <bruno@clisp.org>
7954         doc: Mention Mac OS X deficiencies regarding semaphores.
7955         * doc/posix-functions/sem_init.texi: Mention status on Mac OS X.
7956         * doc/posix-functions/sem_destroy.texi: Likewise.
7957         * doc/posix-functions/sem_getvalue.texi: Likewise.
7959 2017-03-03  Bruno Haible  <bruno@clisp.org>
7961         lock tests: Fix test failure on Mac OS X (regression from 2017-01-05).
7962         Reported by Assaf Gordon <assafgordon@gmail.com> via
7963         Pádraig Brady <P@draigBrady.com>.
7964         * tests/test-lock.c: On Mac OS X, use named semaphores, not unnamed
7965         semaphores.
7966         (USE_NAMED_SEMAPHORE, USE_UNNAMED_SEMAPHORE): New macros.
7967         (atomic_int_semaphore): New macro.
7969 2017-02-28  Bruno Haible  <bruno@clisp.org>
7971         perror tests: Tweak for z/OS.
7972         Reported by Daniel Richard G. <skunk@iskunk.org>.
7973         * tests/test-perror.sh: Don't fail z/OS style perror output.
7975 2017-02-26  Bruno Haible  <bruno@clisp.org>
7977         nproc: Refactor large function.
7978         * lib/nproc.c (num_processors_ignoring_omp): New function, extracted
7979         from num_processors.
7980         (num_processors): In this function, only deal with OMP.
7982 2017-02-26  Pádraig Brady  <P@draigBrady.com>
7984         nproc: adjust handling of OpenMP environment variables
7985         to match the return value from omp_get_num_threads(), i.e.:
7986          - honor OMP_THREAD_LIMIT without OMP_NUM_THREADS
7987          - Treat 0 as an invalid value and ignore
7988         Also remove the call to omp_get_num_threads() because
7989         it's ineffective without the omp pragmas in place.
7990         * lib/nproc.c (parse_omp_threads): Return 0 if specified,
7991         so that it can be ignored.
7992         (num_processors): Honor OMP_THREAD_LIMIT even without
7993         OMP_NUM_THREADS being set.  Also fix a typo in the environment
7994         variable being checked, from the previous recent commit.
7996 2017-02-26  Pádraig Brady  <P@draigBrady.com>
7998         nproc: support nested OMP_NUM_THREADS, and OMP_THREAD_LIMIT
7999         * lib/nproc.c (parse_omp_threads): A new function refactored
8000         from num_processors() to support parsing both of the
8001         above environment variables.
8002         (num_processors): Prefer using omp_get_num_threads() with [_OPENMP]
8003         to accurately reflect the current OpenMP nesting level.
8004         Also support the OMP_THREAD_LIMIT environment variable
8005         to limit the max value determined from OMP_NUM_THREADS.
8006         * modules/nproc: Depend on minmax header.
8007         Suggested by Oliver Heimlich.
8009 2017-02-25  Bruno Haible  <bruno@clisp.org>
8011         maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
8012         * m4/gnulib-common.m4 (AC_PROG_SED): Fix AC_CACHE_CHECK invocation.
8014 2017-02-24  Paul Eggert  <eggert@cs.ucla.edu>
8016         ftoastr: port to -Wdouble-promotion
8017         Work around -Wdouble-promotion false alarm in recent GCCs.
8018         * lib/ftoastr.c (PROMOTED_FLOAT): New macro.
8019         (ftoastr_snprintf, FTOASTR): Use it.
8021 2017-02-21  Bruno Haible  <bruno@clisp.org>
8023         lock tests: Fix build failure on GNU/Hurd (regression from 2017-01-05).
8024         Reported by Rene Saavedra <rennes@openmailbox.org> in
8025         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25821 via Paul Eggert.
8026         * lib/glthread/lock.h: On glibc systems without
8027         PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP, use the fallback
8028         implementation of rwlocks.
8029         * lib/glthread/lock.c: Likewise.
8031 2017-02-20  Bruno Haible  <bruno@clisp.org>
8033         lock tests: Fix build failure on z/OS.
8034         Reported by Daniel Richard G. <skunk@iskunk.org>.
8035         * modules/lock-tests (configure.ac): Test for <semaphore.h>.
8036         * tests/test-lock.c (USE_SEMAPHORE): Don't set if <semaphore.h> does not
8037         exist.
8039 2017-02-19  Bruno Haible  <bruno@clisp.org>
8041         havelib: Prefer the search path of /usr/bin/gcc over the one of $CC.
8042         This helps when CC=clang.
8043         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Prefer the search path
8044         of /usr/bin/gcc.
8046         havelib: Support overriding the result of AC_LIB_PREPARE_MULTILIB.
8047         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use AC_CACHE_CHECK.
8049 2017-02-19  Bruno Haible  <bruno@clisp.org>
8051         gnulib-tool: Avoid conflict of havelib-tests with --single-configure.
8052         * gnulib_tool (func_create_testdir): Avoid havelib-tests when
8053         --with-tests --single-configure is specified.
8055 2017-02-16  Tim Rühsen  <tim.ruehsen@gmx.de>
8057         users.txt: Update links, use HTTPS where possible
8058         * users.txt: Updated to HTTPS where possible,
8059         fixed some links to new locations.
8061 2017-02-16  Bruno Haible  <bruno@clisp.org>
8063         xbinary-io: Fix inlining.
8064         * lib/xbinary-io.c: Set XBINARY_IO_INLINE, not XSETMODE_INLINE.
8066 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
8068         xbinary-io: rename from xsetmode
8069         This patch is taken from suggestions by Bruno Haible in:
8070         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00060.html
8071         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00061.html
8072         * lib/binary-io.c (__gl_setmode_check): Set errno to EINVAL,
8073         not ENOTTY, when it is an inappropriate device.
8074         * lib/binary-io.h (SET_BINARY): Resurrect.
8075         * lib/xbinary-io.c: Rename from lib/xsetmode.c.
8076         (xset_binary_mode_error): Rename from xsetmode_error.
8077         * lib/xbinary-io.h: Rename from lib/xsetmode.h.
8078         (xset_binary_mode): Rename from xsetmode.
8079         All uses changed.
8080         * modules/xbinary-io: Rename from modules/xsetmode.
8081         Update file names.
8082         * tests/test-binary-io.sh (tmpfiles): Remove no-longer-used file name.
8083         * NEWS: Update to match revised behavior.
8085 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
8087         tests: Adjust to recent SET_BINARY change
8088         * tests/test-binary-io.c (main):
8089         * tests/test-binary-io.sh: Remove test for SET_BINARY.
8090         * tests/test-closein.c, tests/test-fflush2.c, tests/test-ftell.c:
8091         * tests/test-ftello.c, tests/test-nonblocking-pipe-child.c:
8092         * tests/test-yesno.c: Use set_binary_mode, not SET_BINARY.
8094         xsetmode: new module
8095         This is to fix a problem noted by Eric Blake.
8096         Code was using xfreopen to change files to binary mode, but this
8097         fails for stdout when in append mode.  Such code should use
8098         xsetmode instead.
8099         * NEWS: Document incompatible changes to binary-io module.
8100         * lib/binary-io.c (__gl_setmode_check) [__DJGPP__ || __EMX__]:
8101         New function.
8102         * lib/binary-io.h (__gl_setmode): Rename from set_binary_mode.
8103         (set_binary_mode): New function, which also checks for tty.
8104         * lib/xsetmode.c, lib/xsetmode.h, modules/xsetmode: New files.
8106 2017-02-14  Paul Eggert  <eggert@cs.ucla.edu>
8108         headers: fix begin-end typos
8109         * lib/mbfile.h, lib/se-selinux.in.h: Fix typos by replacing
8110         _GL_INLINE_HEADER_BEGIN with _GL_INLINE_HEADER_END.
8112         selinux-h: port to PGI 16.10
8113         * lib/se-selinux.in.h: Don't assume that include_next skips over
8114         duplicate -I DIR options.
8116         argp: port to PGI 16.10
8117         * lib/argp-pin.c (dummy): Declare as needed to make file nonempty.
8119 2017-02-13  Darshit Shah  <darnir@gnu.org>
8121         unicase: Update function protoype to match definition.
8122         * lib/unicase/special-casing.h (gl_unicase_special_lookup): Gperf 3.1
8123         uses 'size_t' as the datatype for the 'len' parameter in the functions
8124         it generates. Update the prototype specified here to match the newly
8125         generated function.
8127 2017-02-12  Bruno Haible  <bruno@clisp.org>
8129         times test: Avoid gcc warnings on Linux/x32.
8130         * tests/test-times.c (main): Really cast printf arguments from clock_t
8131         to 'long int'.
8133 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
8135         glob: port better to emscripten
8136         Problem reported by Bruno Haible in:
8137         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00031.html
8138         * lib/glob.c (glob): Don't assume HAVE_GETPWNAM_R || _LIBC.
8140 2017-02-11  Bruno Haible  <bruno@clisp.org>
8142         host-cpu-c-abi: Support for 64-bit AIX, 32-bit armhf on arm64, hppa64.
8143         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Define also HOST_CPU.
8144         For the x32 ABI on x86_64, set HOST_CPU_C_ABI to 'x86_64-x32' and define
8145         both __x86_64__ and __x86_64_x32__. For the ELFv2 ABI on powerpc64,
8146         define both __powerpc64__ and __powerpc64_elfv2__. Recognize 64-bit
8147         compilation on AIX. Recognize 32-bit compilation on arm64/Linux.
8148         Distinguish hppa64 from hppa.
8150 2017-02-10  Bruno Haible  <bruno@clisp.org>
8152         search: Don't assume that tsearch() exists if 'VISIT' is defined.
8153         * m4/search_h.m4 (gl_SEARCH_H): Determine HAVE_TYPE_VISIT.
8154         * modules/search (Makefile.am): Substitute HAVE_TYPE_VISIT.
8155         * lib/search.in.h (VISIT): Define if HAVE_TYPE_VISIT is 0.
8157 2017-02-09  Bruno Haible  <bruno@clisp.org>
8159         doc: Don't mention obsolete AC_LIBTOOL_WIN32_DLL macro.
8160         * doc/gnulib.texi (Libtool and Windows): Recommend
8161         LT_INIT([win32-dll]) instead of AC_LIBTOOL_WIN32_DLL.
8162         Reported by Reuben Thomas <rrt@sc3d.org>.
8164 2017-02-08  Paul Eggert  <eggert@cs.ucla.edu>
8166         stddef-tests: port to SIZE_MAX <= INT_MAX
8167         * tests/test-stddef.c: Include <limits.h>, for INT_MAX.
8168         Do not assume that INT_MAX < SIZE_MAX.
8170 2017-02-01  Bruno Haible  <bruno@clisp.org>
8172         lock tests: Fix link error.
8173         * modules/lock-tests (test_rwlock1_LDADD): Add @YIELD_LIB@.
8174         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8176 2017-01-31  Bruno Haible  <bruno@clisp.org>
8178         lock: Fix link error (regression from 2017-01-05).
8179         * lib/glthread/lock.h [USE_POSIX_THREADS_WEAK]: Declare also
8180         pthread_rwlockattr_init, pthread_rwlockattr_setkind_np,
8181         pthread_rwlockattr_destroy weak.
8182         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8184 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
8186         Port to PGI 16.10 x86-64
8187         This patch fixes one real bug in gl_anylinked_list2.h, along with
8188         some minor glitches that are not bugs.  It does not silence PGI’s
8189         thousands of bogus warnings when compiling test-intprops.c.
8190         Fortunately, the warnings do not cause a failure.
8191         * lib/c-ctype.h (_C_CTYPE_LOWER_A_THRU_F_N, _C_CTYPE_LOWER_N):
8192         Rename parameter to avoid PGI warning about ‘#define f(n) 'n'’.
8193         My goodness, PGI goes back a long ways - this predates C89!
8194         * lib/gl_anylinked_list2.h (ASYNCSAFE): Fix bug caught by PGI.
8195         For example, ASYNCSAFE (const void *) should expand to
8196         ‘const void *volatile’, not to ‘volatile const void *’.
8197         * lib/spawn.in.h (POSIX_SPAWN_USEVFORK): Don't define if already defined.
8198         * lib/verify.h (verify) [!__GNUC__]:
8199         Use shorter albeit meaningless string to bypass silly compiler limits.
8200         * tests/infinity.h (Infinityf, Infinityd, Infinityl) [__PGI]:
8201         * tests/nan.h (NaNf, NaNd, NaNl):
8202         Use static functions to avoid misguided compiler diagnostics.
8203         Is there some reason we don’t use static functions on all platforms?
8205 2017-01-20  Paul Eggert  <eggert@cs.ucla.edu>
8207         parse-datetime: handle timezones reentrantly
8208         This API change was prompted by a report by Pádraig Brady in:
8209         https://bug.debian.org/851934#10
8210         To help fix the bug, make parse_datetime2 more reentrant.
8211         * NEWS: Document this incompatible change.
8212         * lib/parse-datetime.h, lib/parse-datetime.y (parse_datetime2):
8213         Add two arguments, the timezone and the timezone name.
8214         All callers changed.  If TZ="..." is specified, use it for
8215         calculating defaults.
8216         * lib/parse-datetime.y: Don't include xalloc.h or use xmalloc, as
8217         this code should be usable in a library.
8218         (mktime_ok, get_effective_timezone):
8219         Accept timezone arg too.  All callers changed.
8220         (get_tz): Remove.
8221         (get_effective_timezone): Check for failures.
8223 2017-01-20  Eric Blake  <eblake@redhat.com>
8225         localename: port to cygwin 2.6
8226         * lib/localename.c (gl_locale_name_thread_unsafe): Add clause for
8227         Cygwin.
8228         * modules/localename (Depends-on): Add extensions, since
8229         NL_LOCALE_NAME() is not visible without it.
8231 2017-01-17  Pádraig Brady  <P@draigBrady.com>
8233         parse-datetime: fix dependence on AC_PROG_SED
8234         * modules/parse-datetime: Use `sed` directly like all other modules.
8235         Reported by J William Piggott
8237 2017-01-16  Paul Eggert  <eggert@cs.ucla.edu>
8239         intprops: update doc URLs
8240         * doc/intprops.texi (Integer Range Overflow): Update URLs.
8242 2017-01-16  Bruno Haible  <bruno@clisp.org>
8244         host-cpu-c-abi: Add support for armhf, arm64, x32, s390x.
8245         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Require gl_C_ASM. On x86_64
8246         systems, distinguish x86_64 and x32. On arm systems, distinguish arm,
8247         armhf, arm64, and no longer distinguish arm and armel. On s390x systems,
8248         distinguish s390 and s390x.
8249         * modules/host-cpu-c-abi (Files): Add m4/asm-underscore.m4.
8250         * NEWS: Mention the change regarding 'armel'.
8252 2017-01-15  Paul Eggert  <eggert@cs.ucla.edu>
8254         localeinfo: case_folded_counterparts and WEOF
8255         * NEWS: Document this.
8256         * lib/localeinfo.c (case_folded_counterparts):
8257         First arg is now wint_t, not wchar_t.  This generalizes the
8258         function to also work on WEOF, where it returns 0.
8260         dfa: port to gcc -fsanitize=undefined
8261         * lib/dfa.c (copy): Don’t pass NULL with size 0 to memcpy,
8262         as this runs afoul of gcc -fsanitize=undefined.
8264 2017-01-14  Paul Eggert  <eggert@cs.ucla.edu>
8266         strftime: %z is -00 if unknown
8267         * lib/strftime.c (DO_TZ_OFFSET): Omit arg 'negative'; it's now
8268         the caller's responsibility to set 'negative_number'.  All uses changed.
8269         (__strftime_internal): Put '-' before a zero UTC offset if the time
8270         zone abbreviation starts with "-", which is the recently-introduced
8271         tzdb convention for an unknown UTC offset that is arbitrarily set to 0.
8272         * tests/test-strftime.c: Test for this.
8274 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
8276         dfa: port to older GCC
8277         Problem reported by Assaf Gordon in:
8278         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00103.html
8279         * modules/c99: New module.  This merely attempts to use the latest
8280         C version, which should be enough to solve this particular problem.
8281         The idea is to document which Gnulib modules assume C99 or later.
8282         * modules/dfa (Depends-on): Add it.
8284 2017-01-10  Bruno Haible  <bruno@clisp.org>
8286         Update DEPENDENCIES.
8287         * DEPENDENCIES: List only https URLs. Update recommended version for
8288         autoconf, automake, gperf.
8290 2017-01-10  Jim Meyering  <meyering@fb.com>
8292         maint.mk: enforce spelling of "timestamp" (i.e., no space)
8293         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
8294         disallow /\btime\s+stamps?\b/.  Prefer "timestamp".
8296 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
8298         dfa: minor simplification with emptyset
8299         * lib/dfa.c (build_state): Simplify by using emptyset.
8301 2017-01-09  Paul Eggert  <eggert@cs.ucla.edu>
8303         dfa: shrink constraints from 4 bits to 3
8304         * lib/dfa.c (newline_constraint, letter_constraint)
8305         (other_constraint, prev_newline_dependent)
8306         (prev_letter_dependent, NO_CONSTRAINT, BEGLINE_CONSTRAINT)
8307         (ENDLINE_CONSTRAINT, BEGWORD_CONSTRAINT, ENDWORD_CONSTRAINT)
8308         (LIMWORD_CONSTRAINT, NOTLIMWORD_CONSTRAINT):
8309         Constraints need only 3 bits, not 4.  Using smaller integers
8310         shrinks the code a bit and makes grep a tad faster on x86-64.
8312         dfa: omit unnecessary ptrdiff_t check
8313         * lib/dfa.c (alloc_position_set): Do not worry about ptrdiff_t
8314         overflow, since xnmalloc does that now.
8316         dfa: omit unnecessary allocation
8317         * lib/dfa.c (dfaanalyze): Do not allocate follow set, since
8318         an all-zero follow set works just fine.
8320         dfa: omit unused local
8321         * lib/dfa.c (build_state): Fix up recent change.
8323         maint: remove stray .texi files
8324         Although these were superseded by other files like
8325         doc/posix-functions/ctime.texi, the old files were not removed.
8326         * doc/ctime.texi, doc/inet_ntoa.texi: Remove.
8328 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
8330         getprogname: fix port to IRIX
8331         * lib/getprogname.c (getprogname) [__sgi]:
8332         Don't dump core if malloc returns NULL.
8334         dfa: fix reallocation bug when matching newlines
8335         Problem reported for sed by S. Gilles (Bug#25390).
8336         * lib/dfa.c (realloc_trans_if_necessary): Move earlier.
8337         (dfastate): Reallocate before moving any newline transition ...
8338         (build_state): ... instead of reallocating here, where it is too late.
8340 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
8342         Avoid -Wundef warning about undefined WINDOWS_SOCKETS.
8343         * lib/sockets.h: Test if WINDOWS_SOCKETS is defined.
8345 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
8347         Avoid -Wundef warning about undefined __USE_FILE_OFFSET64.
8348         * lib/glob-libc.h: Test if __USE_FILE_OFFSET64 is defined.
8350 2017-01-07  Bruno Haible  <bruno@clisp.org>
8352         stdioext: Port to Minix 3.2 and newer.
8353         * lib/stdio-impl.h: Treat __minix like the newest NetBSD.
8354         * lib/fseeko.c (fseeko): Likewise.
8355         Reported by Nelson Beebe via Paul Eggert.
8357 2017-01-06  Paul Eggert  <eggert@cs.ucla.edu>
8359         getprogname: port to IRIX
8360         * lib/getprogname.c (getprogname): Port to IRIX.
8361         Based on an idea by Bastien Roucariès at:
8362         http://lists.gnu.org/r/bug-gnulib/2010-12/msg00096.html
8363         via code from Bruno Haible at:
8364         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
8366         localename-tests: port to NetBSD 7
8367         Problem reported by Nelson H. F. Beebe.
8368         * tests/test-localename.c:
8369         Test newlocale and uselocale only if both exist.
8371         glob, intprops, xalloc: work around Clang bug
8372         Work around LLVM bug 16404, which is still not fixed.
8373         https://llvm.org/bugs/show_bug.cgi?id=16404
8374         Problem reported by Nelson H. F. Beebe.
8375         * lib/glob.c, lib/intprops.h, lib/xalloc-oversized.h (__has_builtin):
8376         Remove.
8377         * lib/glob.c (size_add_wrapv):
8378         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW, _GL_HAS_BUILTIN_OVERFLOW_P):
8379         * lib/xalloc-oversized.h (xalloc_oversized):
8380         Do not use overflow builtins if Clang.
8382         dfa: fix 'return' typo
8383         Problem reported by Nelson H. F. Beebe.
8384         * lib/dfa.c (merge): Fix typo that Sun compilers rejected.
8386 2017-01-05  Pádraig Brady  <P@draigBrady.com>
8388         parse-datetime: fix generated paths for coverage files
8389         * modules/parse-datetime: Adjust the paths for parse-datetime.y
8390         within parse-datetime.c, so that gcc generates appropriate .gcno
8391         files, allowing lcov to proceed without error.  Previously it
8392         would error trying to find "lib/lib/parse-datetime.y".
8394 2017-01-05  Pádraig Brady  <P@draigBrady.com>
8396         maint.mk: support parallel execution of coverage
8397         * top/maint.mk (coverage): Run dependencies serially,
8398         thus supporting parallel processing of each one,
8399         particularly build-coverage, which builds and runs tests.
8401 2017-01-05  Bruno Haible  <bruno@clisp.org>
8403         lock tests: Prefer semaphore over mutex.
8404         * tests/test-lock.c (USE_SEMAPHORE): New constant.
8405         (struct atomic_int, init_atomic_int, get_atomic_int_value,
8406         set_atomic_int_value) [USE_SEMAPHORE]: Define using a POSIX semaphore.
8407         Suggested by Torvald Riegel <triegel@redhat.com>.
8409 2017-01-05  Bruno Haible  <bruno@clisp.org>
8411         lock: Provide guarantee to avoid writer starvation for rwlocks.
8412         The rationale is: 1) Read-preferring read-write locks are prone to
8413         writer starvation if the number of reader threads multiplied by the
8414         percentage of time they have the lock held is too high. 2) Write-
8415         preferring read-write locks are the only reliable way to avoid this.
8416         3) There have been reports of 'test-lock' hanging on glibc systems
8417         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00009.html,
8418         and glibc indeed implements read-preferring rwlocks by default, see
8419         http://man7.org/linux/man-pages/man3/pthread_rwlockattr_setkind_np.3.html
8420         and https://sourceware.org/bugzilla/show_bug.cgi?id=13701 .
8421         * m4/pthread_rwlock_rdlock.m4: New file.
8422         * m4/lock.m4 (gl_LOCK): Invoke gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
8423         * lib/glthread/lock.h [USE_POSIX_THREADS]: Test
8424         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
8425         of rwlock initialization on glibc systems without
8426         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
8427         of rwlocks altogether on non-glibc systems without
8428         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
8429         [USE_PTH_THREADS]: Use a different implementation of rwlocks altogether.
8430         * lib/glthread/lock.c [USE_POSIX_THREADS]
8431         (glthread_rwlock_init_for_glibc): New function.
8432         [USE_POSIX_THREADS] (glthread_rwlock_rdlock_multithreaded): Update
8433         comment.
8434         [USE_PTH_THREADS]: New implementation of rwlocks.
8435         [USE_WINDOWS_THREADS] (glthread_rwlock_rdlock_func): Prefer writers over
8436         readers.
8437         * modules/lock (Files): Add m4/pthread_rwlock_rdlock.m4.
8438         (Depends-on): Add 'extensions'.
8439         * tests/test-rwlock1.c: New file.
8440         * lock-tests (Files): Add it.
8441         (Depends-on): Add usleep.
8442         (Makefile.am): Add test-rwlock1 to the tests.
8444 2017-01-05  Bruno Haible  <bruno@clisp.org>
8446         thread: Fix pth port.
8447         * lib/glthread/thread.h (pth_init): Declare weak.
8448         (glthread_create, glthread_sigmask, glthread_join, gl_thread_self,
8449         gl_thread_exit): Make sure Pth is initialized before invoking any Pth
8450         function.
8452 2017-01-04  Assaf Gordon  <assafgordon@gmail.com>
8454         parse-datetime: fix debug message on lone year number
8455         Input dates such as
8456           date -d "Apr 11 22:59:00 2011"
8457         are parsed as date (Apr 11, with default year 2016), then time, then a
8458         number (2011). Based on the combination of previously seen tokens,
8459         'digits_to_date_time' determines 2011 to be a year value.
8460         This fixes the debug messages to correctly show the updated year.
8461         Before:
8462             $ date --debug -d 'Apr 11 22:59:00 2011'
8463             date: parsed date part: (Y-M-D) 2016-04-11
8464             date: parsed time part: 22:59:00
8465             date: parsed number part: today/this/now
8466         After:
8467             $ ./src/date --debug -d 'Apr 11 22:59:00 2011'
8468             date: parsed date part: (Y-M-D) 2016-04-11
8469             date: parsed time part: 22:59:00
8470             date: parsed number part: year: 2011
8471         * lib/parse-datetime.y (struct parser_control): Add 'year_seen',
8472         'debug_year_seen' member fields.
8473         (digits_to_date_time): Update 'year_seen' as needed.
8474         (debug_print_current_time): Inform about year updates.
8475         (parse_datetime2): Initialize year_seen,debug_year_seen member fields.
8477         parse-datetime: fix local timezone debug messages
8478         "Local timezones" are strings that affect only DST relative to the
8479         default timezone. The debug messages in parse-datetime.y printed
8480         wrong information when encountering local timezones.
8481         Examples:
8482         Here EET/EEST are time zones ('zone' token, with values +02:00/+03:00):
8483              TZ=Asia/Tokyo ./src/date --debug -d '2011-12-11 EET'
8484              TZ=Asia/Tokyo ./src/date --debug -d '2011-06-11 EEST'
8485         When the default timezone relates to the zone strings, EET/EEST are
8486         parsed as local timezones (tLOCAL_ZONE), and only change the DST
8487         value (0/1, respectively):
8488              TZ=Europe/Helsinki ./src/date --debug -d '2011-12-11 EET'
8489              TZ=Europe/Helsinki ./src/date --debug -d '2011-06-11 EEST'
8490         * lib/parse-datetime.y (debug_print_current_time): If local timezone
8491         was seen, inform about DST change, don't print actual timezone.
8492         (debug_strfdatetime): If local timezone was seen, use default timezone
8493         (and adjust as needed) instead of using incorrect timezone.
8494         (parse_datetime2): Use correct time-zone source string, and adjust
8495         default timezone as needed.
8497         parse-datetime: add debug warning about DST changes
8498         Incorrect date arithmetic due to daylight saving time (DST) are a
8499         common (false) bug report in coreutils.
8500         Detect two such cases and print a warning:
8501         1. year/month/day adjustments (performed on 'struct tm'),
8502            where 'mktime' returns a different isdst value.
8503         2. hour/minute/seconds/ns adjustments (performed on 'time_t'),
8504            where the result of 'localtime(3)' on the value will return a
8505            different isdst value.
8506         Note: DST changes could be harmless or unnoticeable.
8507         Examples (with 'TZ=America/New_York'):
8508         Unnoticeable: result is 2016-Dec-14
8509            $ date -d '2016-06-15 EDT + 6 months' +%b
8510            Dec
8511         Unnoticeable: result is 2016-Dec-15 11:00:00
8512            $ date -d '2016-06-15 12:00:00 EDT + 6 months' +%F
8513            2016-12-15
8514         This is unexpected:
8515            $ date -d '2016-06-01 EDT + 6 months' +%F
8516            2016-11-30
8517         The new debug warnings will show:
8518            $ ./src/date --debug -d '2016-06-01 EDT + 6 months' +%F
8519            ...
8520            date: warning: daylight saving time changed after date adjustment
8521            ...
8522         * lib/parse-datetime.y (parse_datetime2): Detect DST changes, and
8523         print an appropriate warning message.
8525         parse-datetime: add debug warning about date arithmetic
8526         Date arithmetic are done directly on the fields of 'struct tm',
8527         which can result in invalid dates. Normalization with 'mktime(3)'
8528         will then produce a different date - which might cause unexpected
8529         results.
8530         Examples:
8531           '2016-10-31 - 1 month' => 2016-09-31 normalized to 2016-10-01.
8532           '2016-02-29 + 1 year'  => 2017-02-29 normalized to 2017-03-01.
8533         Note that date normalization is not inherently wrong and not rejected,
8534         as it has legitimate uses:
8535           '2016-12-29 + 5 days' => 2016-12-34 noramlized to 2017-01-03.
8536         If the user asked to adjust months but 'mday' changed,
8537         or user asked to adjust years but 'month' changed - warn about it.
8538             $ ./src/date --debug -d '2016-10-31 - 1 month'
8539             ...
8540             date: warning: when adding relative months/years, \
8541                            it is recommended to specify the 15th of the month
8542             ...
8543             date: warning: month/year adjustment resulted in shifted dates:
8544             date:      adjusted Y M D: 2016 09 31
8545             date:    normalized Y M D: 2010 10 01
8546             ...
8547         * lib/parse-datetime.y (parse_datetime2): Detect such cases and print
8548         a warning message. Improve recommendation of when to use 15 of the
8549         month or noon for date arithmetic.
8551         parse-datetime: fix debug message of relative part after timezone
8552         Relative part (e.g '+8 days') after a timezone string was not
8553         reported (was only reported after a timezone number). Due to the
8554         parser's structure, timezone strings with numbers were handled
8555         separately.
8556         before:
8557              # Timezone number + relative part: OK
8558              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 +00:00 -8 days'
8559              ...
8560              date: parsed relative part: -8 day(s)
8561              # Timezone string + relative part: missing
8562              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 UTC -8 days'
8563              [ missing message ]
8564         After: messages are printed in both cases.
8565         * lib/parse-datetime.y ('zone' token): Call debug_print_relative_time.
8567         parse-datetime: fix incorrect debug message on lone number
8568         A lone number is an absolute value, not a relative time part.
8569         before:
8570            $ date --debug -d '20130101'
8571            date: parsed number part: today/this/now
8572         After:
8573            $ ./src/date --debug -d '20130101'
8574            date: parsed number part: (Y-M-D) 2013-01-01
8575         * lib/parse-datetime.y ('item'/'number' tokens): Call
8576         'debug_print_current_time' instead of 'debug_print_relative_time'.
8578 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
8580         doc: modernize for C11 etc.
8581         * doc/gnulib-readme.texi (Portability guidelines): Modernize a bit
8582         for C11, MinGW, etc.  This responds to Paul Smith's question in:
8583         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00014.html
8585         dfa: prefer functions to FETCH_WC macro
8586         * lib/dfa.c (FETCH_WC): Remove, replacing with ...
8587         (fetch_wc, bracket_fetch_wc): ... new functions.  These store the
8588         wint_t result into DFA->lex.wctok instead of to a separate arg.
8589         All callers changed.  Move more local decls closer to where
8590         they're used.
8592         dfa: narrow more local var scopes
8593         * lib/dfa.c: Move more local decls to be more local.
8595         dfa: remove duplicate assignment
8596         Problem reported by Bruno Haible in:
8597         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00007.html
8598         * lib/dfa.c (parse_bracket_exp): Simplify.
8600 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
8602         dfa: simplify constraint-dependency checking
8603         * lib/dfa.c (prev_newline_constraint, prev_letter_constraint)
8604         (prev_other_constraint): Remove.
8605         (prev_newline_dependent, prev_letter_dependent):
8606         Simplify, to avoid an unnecessary bitwise AND operation.
8608         dfa: prefer functions and constants to macros
8609         * lib/dfa.c: Prefer constants to macros where either will do.
8610         (streq, isasciidigit, newline_constraint)
8611         (letter_constraint, other_constraint, succeeds_in_context)
8612         (prev_newline_constraint, prev_letter_constraint)
8613         (prev_other_constraint, prev_newline_dependent)
8614         (prev_letter_dependent, accepting, accepts_in_context):
8615         Now static functions instead of function-like macros.
8616         Use lower-case names accordingly.  All uses changed.
8618         dfa: narrow more local var scopes
8619         * lib/dfa.c: Move some more local decls down to nearer where
8620         they're needed.
8622 2016-12-31  Jim Meyering  <meyering@fb.com>
8624         dfa: narrow the scope of many local variables
8625         * lib/dfa.c: Now that we are no longer constrained to c89, move
8626         declarations of many variables (often indices) "down" into the
8627         scope(s) where used or to the point of definition.  This is a
8628         no-semantic-change diff.
8630 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
8632         version-etc: new year
8633         * build-aux/gendocs.sh (version):
8634         * doc/gendocs_template:
8635         * doc/gendocs_template_min:
8636         * doc/gnulib.texi:
8637         * lib/version-etc.c (COPYRIGHT_YEAR):
8638         Update copyright dates by hand in templates and the like.
8639         * all files: Run 'make update-copyright'.
8641 2016-12-31  Eric Blake  <eblake@redhat.com>
8643         do-release-commit-and-tag: avoid shell syntax error
8644         * build-aux/do-release-commit-and-tag (curr_br): $branch can
8645         contain spaces when rebasing.
8647         maint.mk: hoist gnulib_dir definition earlier
8648         * top/maint.mk (gnulib_dir): Move near top of file.
8650 2016-12-31  Jim Meyering  <meyering@fb.com>
8652         maint.mk: do not always evaluate intprops-related shell
8653         * top/maint.mk (_intprops_names): Change := to just "=" to avoid
8654         using gnulib_dir undefined (gnulib_dir is defined later in the
8655         file, which will be fixed separately), and besides, there is no
8656         need to incur the cost of this shell invocation for every single
8657         use of this .mk file.  Reported by Eric Blake in
8658         https://lists.gnu.org/r/bug-gnulib/2016-12/msg00137.html
8660 2016-12-30  Jim Meyering  <meyering@fb.com>
8662         maint.mk: improve sc_prohibit_intprops_without_use
8663         * top/maint.mk (_intprops_names): Don't hard-code the list of
8664         symbol names.  Instead, derive it on the fly.
8666 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
8668         dfa: shorten sbit, success
8669         * lib/dfa.c (struct regex_syntax.sbit):
8670         (struct dfa.success): Use char, not int, for array elements, since
8671         they are all in the range 0..7.
8673         dfa: simplify multibyte_prop etc.
8674         This follows up on a change made when dfa.c was in grep, namely grep
8675         commit c797046c7c13c2647182b919a79a4c5b4ecf82b1
8676         dated 2015-08-12 07:35:03 -0700, which removed unused multibyte support.
8677         That earlier simplification allows for some more simplification
8678         and trimming down here.
8679         * lib/dfa.c (struct mb_char_classes): New member nchars_alloc.
8680         (struct lexer_state): New mamber brack.
8681         (struct dfa, addtok_mb): multibyte_prop elements are now char, not int,
8682         since they must be in the range 0..3 now.
8683         Remove members mbcsets, nmbcsets, mbcsets_alloc, since
8684         the brack member now supersedes them.
8685         (parse_bracket_exp): Update dfa->lex.brack instead of dfa->mbcsets.
8686         (addtok): Use dfa->lex.brack instead of dfa->mbcsets.
8687         (dfaparse): Remove unnecessary initializations of already-0 storage.
8688         (free_mbdata): Free d->lex.brack.chars instead of d->mbcsets.
8689         (dfassbuild): No need to clear sup->mbcsets.
8691         dfa: minor performance tweak
8692         * lib/dfa.c (setbit_wc): Test < 0, not == EOF.
8694         dfa: wrap charclass inside a struct
8695         On my platform (gcc Ubuntu 5.4.0-6ubuntu1~16.04.4 x86-64,
8696         en_US.utf8 locale) this makes 'grep -Fi -f list.txt list.txt >out'
8697         about 5% faster, where list.txt is generated by 'aspell dump
8698         master | head -n 100000 >list.txt'.  See Bug#22239.
8699         * lib/dfa.c (charclass): Wrap inside a struct.  All uses changed.
8700         (CHARCLASS_INIT, tstbit, setbit, clrbit, zeroset, fillset, notset)
8701         (equal, emptyset, charclass_index, setbit_wc, setbit_case_fold_c):
8702         Adjust to this, e.g., by using charclass * rather than charclass.
8703         All callers changed as needed.
8704         (copyset): Remove.  All uses changed to simple assignment.
8705         (parse_bracket_exp): Use zeroset instead of memset.
8707 2016-12-30  Jim Meyering  <meyering@fb.com>
8709         maint.mk: update list of intprops.h symbol names
8710         * top/maint.mk (_intprops_names): Regenerate the list of symbol names.
8711         This avoids a false failure of the sc_prohibit_intprops_without_use
8712         rule in grep.
8714 2016-12-29  Eric Blake  <eblake@redhat.com>
8716         getopt: fix parallel test failure
8717         * tests/test-getopt-posix.c (TEST_GETOPT_TMP_NAME): Set name.
8718         * tests/test-getopt-gnu.c (TEST_GETOPT_TMP_NAME): Likewise.
8719         * tests/test-getopt-main.h (main): Use different file names
8720         in case test-getopt-gnu and test-getopt-posix run in parallel.
8722 2016-12-29  Paul Eggert  <eggert@cs.ucla.edu>
8724         xalloc: x2nrealloc check for ptrdiff_t overflow
8725         * lib/xalloc.h (x2nrealloc): Check for ptrdiff_t overflow, too.
8726         * modules/xalloc, modules/xvasprintf (Depends-on): Add stdint.
8728 2016-12-24  Bruno Haible  <bruno@clisp.org>
8730         lock test: Fix performance problem on multi-core machines.
8731         * tests/test-lock.c (USE_VOLATILE): New macro.
8732         (struct atomic_int): New type.
8733         (init_atomic_int, get_atomic_int_value, set_atomic_int_value): New
8734         functions.
8735         (lock_checker_done, rwlock_checker_done, reclock_checker_done): Define
8736         as 'struct atomic_int'.
8737         (lock_checker_thread, test_lock, rwlock_checker_thread, test_rwlock,
8738         reclock_checker_thread, test_recursive_lock): Use the new functions.
8739         Reported by Eric Blake in
8740         https://www.redhat.com/archives/libvir-list/2012-March/msg00854.html
8741         and by Pádraig Brady in
8742         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00117.html.
8744 2016-12-19  Bruno Haible  <bruno@clisp.org>
8746         vma-iter: Fix endless loop on 64-bit Windows.
8747         * lib/vma-iter.c (vma_iterate): On Windows, use 'uintptr_t' instead of
8748         'unsigned long'.
8750 2016-12-19  Bruno Haible  <bruno@clisp.org>
8752         stdint: Fix WINT_MAX to match the gnulib provided wint_t on minw.
8753         * m4/wint_t.m4 (gt_TYPE_WINT_T): Define GNULIB_OVERRIDES_WINT_T here.
8754         * m4/stdint.m4 (gl_STDINT_H): Don't define GNULIB_OVERRIDES_WINT_T.
8755         Invoke gt_TYPE_WINT_T instead.
8756         (gl_STDINT_TYPE_PROPERTIES): Test GNULIB_OVERRIDES_WINT_T.
8757         * modules/stdint (Files): Add m4/wint_t.m4.
8758         * modules/wchar (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
8759         * modules/wctype-h (Makefile.am): Likewise.
8760         * lib/wchar.in.h (wint_t): Override if GNULIB_OVERRIDES_WINT_T is set,
8761         not only on MSVC.
8762         * lib/wctype.in.h (wint_t): Likewise.
8764 2016-12-19  Paul Eggert  <eggert@cs.ucla.edu>
8766         getopt-posix-tests: fix Makefile typo
8767         * modules/getopt-posix-tests (test_getopt_posix_LDADD):
8768         Fix typo: the last ‘_’ was missing in the name.
8769         I suspect that the typo explains this build failure:
8770         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/39
8771         although I can’t reproduce the problem on Solaris 10 sparc.
8773 2016-12-18  Paul Eggert  <eggert@cs.ucla.edu>
8775         dfa: improve worst-case 'replace' performance
8776         See my note in Bug#22357#71.
8777         * lib/dfa.c (insert, delete): Rework to avoid duplicate test.
8778         (merge_constrained): New function, which is like
8779         the old 'merge' function, except with a new argument C2.
8780         Simplify the body by avoiding the need for different sections
8781         of code depending on whether one input is exhausted.
8782         (merge): Use the new function.
8783         (delete): Return the constraint of the deleted position,
8784         not the entire position.  Caller changed.
8785         (replace): Change from O(N*(N + log N)) to O(N log N) algorithm.
8787 2016-12-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
8789         dfa: performance improvement for removal of epsilon closure
8790         See Bug#22357#32.
8791         * lib/dfa.c (delete): Use binary search to find deleted index.
8792         (replace): New function.  It replaces a position with the followed set.
8793         (epsclosure): Replace it with a new algorithm.  Update caller.
8795 2016-12-18  Bruno Haible  <bruno@clisp.org>
8797         Split tests for getopt-posix and getopt-gnu.
8798         * tests/test-getopt-posix.c: New file.
8799         * tests/test-getopt-gnu.c: New file, with code from test-getopt.c.
8800         * tests/test-getopt-main.h: Renamed from tests/test-getopt.c. Remove
8801         stuff moved to test-getopt-gnu.c. Test TEST_GETOPT_GNU instead of
8802         GNULIB_TEST_GETOPT_GNU.
8803         * modules/getopt-posix-tests (Files): Add test-getopt-posix.c,
8804         test-getopt-main.h. Remove test-getopt.c, test-getopt_long.h.
8805         (Makefile.am): Test test-getopt-posix instead of test-getopt.
8806         * modules/getopt-gnu-tests: New file.
8807         * modules/getopt-gnu (configure.ac): Don't define GNULIB_TEST_GETOPT_GNU.
8809 2016-12-18  Bruno Haible  <bruno@clisp.org>
8811         posix-modules: Add options for specific platforms.
8812         * posix-modules (func_usage): Document options --for-mingw, --for-msvc.
8813         (exclude_for_mingw, exclude_for_msvc, exclude): New variables.
8814         Invoke func_tmpdir. Filter out the excludes.
8816 2016-12-18  Bruno Haible  <bruno@clisp.org>
8818         getopt: Fix link error for users of getopt() in <unistd.h>.
8819         * lib/getopt.in.h (getopt etc.): Do the macro definitions also when
8820         __need_getopt is defined. Undefine all macros before defining them.
8821         * modules/getopt (Include): Clarify that including <unistd.h> is also
8822         OK.
8823         * tests/test-getopt.c: Add comment.
8825 2016-12-17  Bruno Haible  <bruno@clisp.org>
8827         getaddrinfo tests: Avoid compilation error on MSVC.
8828         * tests/test-getaddrinfo.c: Don't check the prototypes of freeaddrinfo,
8829         getaddrinfo on native Windows.
8831 2016-12-17  Bruno Haible  <bruno@clisp.org>
8833         getlogin, getlogin_r: Fix link errors on MSVC.
8834         * m4/getlogin.m4 (gl_LIB_GETLOGIN): New macro.
8835         * modules/getlogin (configure.ac): Require gl_LIB_GETLOGIN.
8836         (Link): New section.
8837         * modules/getlogin_r (Files): Add m4/getlogin.m4.
8838         (configure.ac): Require gl_LIB_GETLOGIN.
8839         (Link): New section.
8840         * NEWS: Mention the new link requirements.
8841         * modules/getlogin-tests (test_getlogin_LDADD): New variable.
8842         * modules/getlogin_r-tests (test_getlogin_r_LDADD): New variable.
8844 2016-12-17  Bruno Haible  <bruno@clisp.org>
8846         Un-deprecate the 'progname' module.
8847         * NEWS: Describe the appropriate use-cases of 'progname' versus
8848         'getprogname'. Based on discussion summary at
8849         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00105.html
8851 2016-12-17  Bruno Haible  <bruno@clisp.org>
8853         Reorganize NEWS a bit.
8854         * NEWS: Move some not so important changes away from section
8855         "Important Notes".
8857 2016-12-17  Bruno Haible  <bruno@clisp.org>
8859         tanhf: Avoid redefinition error on MSVC.
8860         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANHF.
8861         * m4/tanhf.m4 (gl_FUNC_TANHF): Set REPLACE_TANHF to 1 if the function
8862         may be defined as an inline function.
8863         * modules/math (Makefile.am): Substitute REPLACE_TANHF.
8864         * lib/math.in.h (tanhf): Override if REPLACE_TANHF is 1.
8866 2016-12-17  Bruno Haible  <bruno@clisp.org>
8868         tanf: Avoid redefinition error on MSVC.
8869         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANF.
8870         * m4/tanf.m4 (gl_FUNC_TANF): Set REPLACE_TANF to 1 if the function
8871         may be defined as an inline function.
8872         * modules/math (Makefile.am): Substitute REPLACE_TANF.
8873         * lib/math.in.h (tanf): Override if REPLACE_TANF is 1.
8875 2016-12-17  Bruno Haible  <bruno@clisp.org>
8877         sqrtf: Avoid redefinition error on MSVC.
8878         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SQRTF.
8879         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Set REPLACE_SQRTF to 1 if the function
8880         may be defined as an inline function.
8881         * modules/math (Makefile.am): Substitute REPLACE_SQRTF.
8882         * lib/math.in.h (sqrtf): Override if REPLACE_SQRTF is 1.
8884 2016-12-17  Bruno Haible  <bruno@clisp.org>
8886         sinhf: Avoid redefinition error on MSVC.
8887         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINHF.
8888         * m4/sinhf.m4 (gl_FUNC_SINHF): Set REPLACE_SINHF to 1 if the function
8889         may be defined as an inline function.
8890         * modules/math (Makefile.am): Substitute REPLACE_SINHF.
8891         * lib/math.in.h (sinhf): Override if REPLACE_SINHF is 1.
8893 2016-12-17  Bruno Haible  <bruno@clisp.org>
8895         sinf: Avoid redefinition error on MSVC.
8896         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINF.
8897         * m4/sinf.m4 (gl_FUNC_SINF): Set REPLACE_SINF to 1 if the function
8898         may be defined as an inline function.
8899         * modules/math (Makefile.am): Substitute REPLACE_SINF.
8900         * lib/math.in.h (sinf): Override if REPLACE_SINF is 1.
8902 2016-12-17  Bruno Haible  <bruno@clisp.org>
8904         logf: Avoid redefinition error on MSVC.
8905         * m4/logf.m4 (gl_FUNC_LOGF): Set REPLACE_LOGF to 1 if the function
8906         may be defined as an inline function.
8908 2016-12-17  Bruno Haible  <bruno@clisp.org>
8910         log10l: Avoid redefinition error on MSVC.
8911         * m4/log10l.m4 (gl_FUNC_LOG10L): Set REPLACE_LOG10L to 1 if the function
8912         may be defined as an inline function.
8914 2016-12-17  Bruno Haible  <bruno@clisp.org>
8916         log10f: Avoid redefinition error on MSVC.
8917         * m4/log10f.m4 (gl_FUNC_LOG10F): Set REPLACE_LOG10F to 1 if the function
8918         may be defined as an inline function.
8920 2016-12-17  Bruno Haible  <bruno@clisp.org>
8922         hypotl: Avoid redefinition error on MSVC.
8923         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Set REPLACE_HYPOTL to 1 if the function
8924         may be defined as an inline function.
8926 2016-12-17  Bruno Haible  <bruno@clisp.org>
8928         hypotf: Avoid redefinition error on MSVC.
8929         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Set REPLACE_HYPOTF to 1 if the function
8930         may be defined as an inline function.
8932 2016-12-17  Bruno Haible  <bruno@clisp.org>
8934         fmodl: Avoid redefinition error on MSVC.
8935         * m4/fmodl.m4 (gl_FUNC_FMODL): Set REPLACE_FMODL to 1 if the function
8936         may be defined as an inline function.
8938 2016-12-17  Bruno Haible  <bruno@clisp.org>
8940         fmodf: Avoid redefinition error on MSVC.
8941         * m4/fmodf.m4 (gl_FUNC_FMODF): Set REPLACE_FMODF to 1 if the function
8942         may be defined as an inline function.
8944 2016-12-17  Bruno Haible  <bruno@clisp.org>
8946         expf: Avoid redefinition error on MSVC.
8947         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_EXPF.
8948         * m4/expf.m4 (gl_FUNC_EXPF): Set REPLACE_EXPF to 1 if the function
8949         may be defined as an inline function.
8950         * modules/math (Makefile.am): Substitute REPLACE_EXPF.
8951         * lib/math.in.h (expf): Override if REPLACE_EXPF is 1.
8953 2016-12-17  Bruno Haible  <bruno@clisp.org>
8955         coshf: Avoid redefinition error on MSVC.
8956         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSHF.
8957         * m4/coshf.m4 (gl_FUNC_COSHF): Set REPLACE_COSHF to 1 if the function
8958         may be defined as an inline function.
8959         * modules/math (Makefile.am): Substitute REPLACE_COSHF.
8960         * lib/math.in.h (coshf): Override if REPLACE_COSHF is 1.
8962 2016-12-17  Bruno Haible  <bruno@clisp.org>
8964         cosf: Avoid redefinition error on MSVC.
8965         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSF.
8966         * m4/cosf.m4 (gl_FUNC_COSF): Set REPLACE_COSF to 1 if the function
8967         may be defined as an inline function.
8968         * modules/math (Makefile.am): Substitute REPLACE_COSF.
8969         * lib/math.in.h (cosf): Override if REPLACE_COSF is 1.
8971 2016-12-17  Bruno Haible  <bruno@clisp.org>
8973         atan2f: Avoid redefinition error on MSVC.
8974         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATAN2F.
8975         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Set REPLACE_ATAN2F to 1 if the function
8976         may be defined as an inline function.
8977         * modules/math (Makefile.am): Substitute REPLACE_ATAN2F.
8978         * lib/math.in.h (atan2f): Override if REPLACE_ATAN2F is 1.
8980 2016-12-17  Bruno Haible  <bruno@clisp.org>
8982         atanf: Avoid redefinition error on MSVC.
8983         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATANF.
8984         * m4/atanf.m4 (gl_FUNC_ATANF): Set REPLACE_ATANF to 1 if the function
8985         may be defined as an inline function.
8986         * modules/math (Makefile.am): Substitute REPLACE_ATANF.
8987         * lib/math.in.h (atanf): Override if REPLACE_ATANF is 1.
8989 2016-12-17  Bruno Haible  <bruno@clisp.org>
8991         asinf: Avoid redefinition error on MSVC.
8992         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ASINF.
8993         * m4/asinf.m4 (gl_FUNC_ASINF): Set REPLACE_ASINF to 1 if the function
8994         may be defined as an inline function.
8995         * modules/math (Makefile.am): Substitute REPLACE_ASINF.
8996         * lib/math.in.h (asinf): Override if REPLACE_ASINF is 1.
8998 2016-12-17  Bruno Haible  <bruno@clisp.org>
9000         acosf: Avoid redefinition error on MSVC.
9001         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ACOSF.
9002         * m4/acosf.m4 (gl_FUNC_ACOSF): Set REPLACE_ACOSF to 1 if the function
9003         may be defined as an inline function.
9004         * modules/math (Makefile.am): Substitute REPLACE_ACOSF.
9005         * lib/math.in.h (acosf): Override if REPLACE_ACOSF is 1.
9007 2016-12-17  Bruno Haible  <bruno@clisp.org>
9009         Avoid redefinition errors on MSVC.
9010         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): Set REPLACE_SNPRINTF to 1 if
9011         the function may be defined as an inline function.
9012         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): Set REPLACE_VSNPRINTF to 1 if
9013         the function may be defined as an inline function.
9015 2016-12-17  Bruno Haible  <bruno@clisp.org>
9017         Avoid redefinition errors on MSVC.
9018         * lib/stdio.in.h: Include <stdlib.h> and <io.h> when necessary.
9019         * lib/unistd.in.h: Include <stdio.h> when necessary.
9021 2016-12-17  Bruno Haible  <bruno@clisp.org>
9023         stdint: Fix WINT_MAX to match the gnulib provided wint_t on MSVC.
9024         * m4/stdint.m4 (gl_STDINT_H): Define GNULIB_OVERRIDES_WINT_T.
9025         * modules/stdint (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
9026         * lib/stdint.in.h [GNULIB_OVERRIDES_WINT_T]: Redefine WINT_MIN and
9027         WINT_MAX.
9029 2016-12-17  Bruno Haible  <bruno@clisp.org>
9031         Avoid autoconf warning.
9032         * modules/frexpl (configure.ac): Require, not invoke, gl_FUNC_FREXPL.
9033         * modules/frexp (configure.ac): Require, not invoke, gl_FUNC_FREXP.
9035 2016-12-17  Bruno Haible  <bruno@clisp.org>
9037         fpending: Revert workaround against Emacs bug.
9038         * lib/stdio-impl.h [__MINGW32__]: Revert conditional.
9039         The Emacs bug is fixed by Eli Zaretskii in
9040         http://lists.gnu.org/r/emacs-devel/2016-12/msg00715.html
9042 2016-12-17  Bruno Haible  <bruno@clisp.org>
9044         getlogin_r tests: Port to mingw.
9045         * tests/test-getlogin_r.c: Don't include <pwd.h> on native Windows. Fixes
9046         regression introduced on 2014-05-19.
9048 2016-12-17  Bruno Haible  <bruno@clisp.org>
9050         getlogin: Port to newer mingw.
9051         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_GETLOGIN.
9052         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Set HAVE_DECL_GETLOGIN.
9053         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETLOGIN, not
9054         HAVE_GETLOGIN.
9055         * lib/unistd.in.h (getlogin): Test HAVE_DECL_GETLOGIN, not
9056         HAVE_GETLOGIN.
9057         * doc/posix-functions/getlogin.texi: Mention the issue.
9058         * tests/test-getlogin.c: Don't include <pwd.h> on native Windows. Fixes
9059         regression introduced on 2014-05-14.
9061 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
9063         builtin-expect: improve port to IBM XL C
9064         Problem reported for z/OS by Daniel Richard G. in:
9065         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00079.html
9066         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
9067         Test for <builtins.h> directly.
9069         builtin-expect: port to IBM XL C
9070         Problem reported for z/OS by Daniel Richard G. in:
9071         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00074.html
9072         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
9073         Also allow __builtin_expect defined via a standard include file.
9075         regex: fix dependency
9076         Problem reported by Bruno Haible in:
9077         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00073.html
9078         * modules/regex: Depend on builtin-expect.
9080         builtin-expect: new module
9081         Fix fnmatch to use it.
9082         Problem reported for z/OS by Daniel Richard G.
9083         * lib/fnmatch.c (__builtin_expect):
9084         * lib/glob.c (__builtin_expect):
9085         * lib/grantpt.c (__builtin_expect) [!_LIBC]:
9086         * lib/memmem.c (__builtin_expect) [!_LIBC]:
9087         * lib/scandir.c (__builtin_expect):
9088         * lib/strstr.c (__builtin_expect) [!_LIBC]:
9089         Remove macro; config.h now does this.
9090         * lib/gl_anytreehash_list1.h (add_to_bucket):
9091         * lib/regex_internal.h (BE):
9092         Assume __builtin_expect.
9093         * m4/builtin-expect.m4, modules/builtin-expect: New files.
9094         * modules/avltreehash-list, modules/fnmatch, modules/glob:
9095         * modules/grantpt, modules/memmem-simple, modules/rbtreehash-list:
9096         * modules/scandir, modules/strstr-simple:
9097         Depend on builtin-expect.
9099 2016-12-15  Bruno Haible  <bruno@clisp.org>
9101         init.sh: Add possibility to not delete temporary files.
9102         * tests/init.sh (remove_tmp_): If the environment variable KEEP is set
9103         to yes, don't erase the temporary directory.
9105 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
9107         regex: fix integer-overflow bug in never-used code
9108         Problem reported by Clément Pit–Claudel in:
9109         http://lists.gnu.org/r/emacs-devel/2016-12/msg00654.html
9110         * lib/regex_internal.h: Include intprops.h.
9111         * lib/regexec.c (re_search_2_stub): Use it to avoid undefined
9112         behavior on integer overflow.
9113         * modules/regex (Depends-on): Add intprops.
9115         fpending: fix port to MinGW on Emacs
9116         * lib/stdio-impl.h [__MINGW32__]: Do not include errno.h.
9117         Problem reported by Eli Zaretskii in:
9118         http://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
9119         Is Plan 9 still a valid porting target, anyway?
9121 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
9123         safe-alloc: use xalloc-oversized
9124         * lib/safe-alloc.c: Include xalloc-oversized.h.
9125         (safe_alloc_oversized): Remove.  All uses changed to xalloc_oversized.
9126         * modules/safe-alloc (Depends-on): Add xalloc-oversized.
9128         xalloc: do not exceed PTRDIFF_MAX
9129         * lib/xmalloc.c (xcalloc) [HAVE_GNU_CALLOC]: Do not omit
9130         xalloc_oversized check, since objects larger than PTRDIFF_MAX
9131         bytes have pointer-subtraction problems.
9133         malloca: do not exceed PTRDIFF_MAX
9134         * lib/malloca.h: Include xalloc-oversized.
9135         (nmalloca): Use xalloc_oversized instead of rolling our own.
9136         * modules/malloca (Depends-on):
9137         * modules/relocatable-prog-wrapper (Depends-on):
9138         Add xalloc-oversized.
9140         quotearg: pacify GCC better
9141         * modules/quotearg (Depends-on): Add minmax, stdint.
9142         * lib/quotearg.c: Include minmax.h, stdint.h.
9143         (nslots): Now int, as there seems little point to going to extra
9144         work merely to support the INT_MAX slot, which nobody ever uses.
9145         (quotearg_n_options): Redo size-overflow checks to pacify GCC
9146         and to catch (mostly-theoretical) ptrdiff_t problems too.
9147         This can be done via one comparison.
9149 2016-12-14  Paul Eggert  <eggert@cs.ucla.edu>
9151         xalloc-oversized: check for PTRDIFF_MAX too
9152         This avoids undefined behavior when subtracting pointers to
9153         objects containing more than PTRDIFF_MAX bytes.
9154         * lib/xalloc-oversized.h (__xalloc_oversized, xalloc_oversized):
9155         Also return 1 if the result would exceed PTRDIFF_MAX>
9156         * modules/xalloc-oversized (Depends-on):
9157         Add stdint.
9159         dfa: fix glitches in previous commit
9160         Sorry, I don't know how I managed to commit the wrong version.
9161         * lib/dfa.c (MIN): Move up.
9162         (xpalloc): Now static.
9164         dfa: fix some unlikely integer overflows
9165         I found these while reviewing the recent Coverity-related fix.
9166         This patch changes part of dfa.c to prefer ptrdiff_t instead of
9167         size_t for object counts.  Using ptrdiff_t is the style typically
9168         used in Emacs; although it wastes a sign bit as sizes can never be
9169         negative, it makes -fsanitize=undefined more likely to catch
9170         integer overflows in index calculation, and nowadays the upside is
9171         typically more important than the downside.  Although perhaps the
9172         rest of dfa.c should be changed to prefer ptrdiff_t as well (much
9173         of dfa.c already does, since it uses state_num which is signed),
9174         that is a bigger change and is not needed to fix the bugs I found.
9175         * lib/dfa.c: Include stdint.h and intprops.h.
9176         (TOKEN_MAX): New macro.
9177         (position_set, struct mb_char_classes, struct dfa, maybe_realloc)
9178         (charclass_index, parse_bracket_exp, addtok, insert, merge)
9179         (realloc_trans_if_necessary, free_mbdata):
9180         Use ptrdiff_t instead of size_t for object counts related to xpalloc.
9181         This is safe because xpalloc checks that the sizes do not exceed
9182         either SIZE_MAX or PTRDIFF_MAX.
9183         (xpalloc): New function, mostly taken from Emacs.
9184         (maybe_realloc, copy, realloc_trans_if_necessary): Use it.
9185         (maybe_realloc): Add NITEMS_MAX to signature.  All callers changed.
9186         (charclass_index): Check for integer overflow in computing
9187         charclass index; it must not exceed TOKEN_MAX - CSET, as CSET is
9188         added to it later.
9189         (alloc_position_set): Check for integer overflow.  On typical
9190         platforms this check has zero overhead, since the constant
9191         expression is false.
9192         (realloc_trans_if_necessary):
9193         Remove assertion, which I hope Coverity no longer needs.
9195         * modules/dfa (Depends-on): Add intprops, stdint.
9197 2016-12-12  Jim Meyering  <meyering@fb.com>
9199         dfa: add an assertion to avoid coverity false positive
9200         * lib/dfa.c (realloc_trans_if_necessary): Otherwise, coverity
9201         warned that "newalloc1 - 2" could overflow.
9203 2016-12-13   Arnold D. Robbins  <arnold@skeeve.com>
9205         dfa: remove DFA_CASE_FOLD flag in favor of RE_ICASE
9206         * dfa.h (DFA_CASE_FOLD): Remove.
9207         * dfa.c (dfasyntax): Set dfa->syntax.case_fold based on RE_ICASE.
9209 2016-12-13  John W. Eaton  <gnu@jweaton.org>
9211         link: fix test to declare use of rename()
9212         * m4/link.m4 (gl_FUNC_LINK): Include <stdio.h> needed with
9213         -Werror=implicit-function-declaration
9215 2016-12-12  Bruno Haible  <bruno@clisp.org>
9217         fpending: Port to native Windows with MSVC.
9218         * lib/fpending.c: Include stdio-impl.h.
9219         (__fpending): Include all known implementations. Err out if it's not
9220         ported.
9221         * m4/fpending.m4 (gl_PREREQ_FPENDING): Remove macro.
9222         * modules/fpending (Files): Add lib/stdio-impl.h.
9223         (configure.ac): Don't invoke gl_PREREQ_FPENDING.
9225 2016-12-12  Bruno Haible  <bruno@clisp.org>
9227         stdioext: Port to native Windows with MSVC.
9228         * lib/stdio-impl.h (WINDOWS_OPAQUE_FILE): New macro.
9229         (struct _gl_real_FILE): New type.
9230         (fp_, _IOREAD, _IOWRT, _IORW, _IOEOF, _IOERR): New macros, for native
9231         Windows.
9232         * lib/fbufmode.c (fbufmode): Add code for native Windows.
9233         * lib/fflush.c (clear_ungetc_buffer): Treat native Windows like the
9234         other SystemV derived implementations.
9235         * lib/fpurge.c (fpurge): Likewise.
9236         * lib/freadable.c (freadable): Likewise.
9237         * lib/freadahead.c (freadahead): Likewise.
9238         * lib/freading.c (freading): Likewise.
9239         * lib/freadptr.c (freadptr): Likewise.
9240         * lib/freadseek.c (freadptrinc): Likewise.
9241         * lib/fseeko.c (fseeko): Likewise.
9242         * lib/fseterr.c (fseterr): Likewise.
9243         * lib/fwritable.c (fwritable): Likewise.
9244         * lib/fwriting.c (fwriting): Likewise.
9245         Reported by Gisle Vanem <gvanem@yahoo.no>.
9247 2016-12-11  Jim Meyering  <meyering@fb.com>
9249         non-recursive-gnulib-prefix-hack.m4: remove leading "(" in case stmt
9250         * m4/non-recursive-gnulib-prefix-hack.m4: That leading "(" happens
9251         to work with most shells, but not with the one provided by many
9252         Solaris 10 systems, so running configure with such a /bin/sh evokes
9253         e.g., "./configure: syntax error at line 33602: `(' unexpected".
9254         Reported by Assaf Gordon in
9255         https://lists.gnu.org/r/sed-devel/2016-12/msg00002.html
9257 2016-12-10  Bruno Haible  <bruno@clisp.org>
9259         threadlib: Optimize out runtime test on Solaris >= 10.
9260         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't set
9261         PTHREAD_IN_USE_DETECTION_HARD if configuring on Solaris 10 or newer.
9262         Reported by Peter Felecan at <https://savannah.gnu.org/bugs/?32087>.
9264 2016-12-10  Bruno Haible  <bruno@clisp.org>
9266         stdint: Update doc about Solaris 9.
9267         * doc/posix-headers/stdint.texi: Add info about Solaris 9.
9269 2016-12-09  Bruno Haible  <bruno@clisp.org>
9271         c-ctype tests: Fix link error on Solaris 9.
9272         * modules/c-ctype-tests (Depends-on): Add 'isblank'.
9273         Reported at <https://savannah.gnu.org/bugs/?46827>.
9275 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
9277         dfa: fix performance bug that recomputes trans
9278         * lib/dfa.c (build_state): Fix performance bug introduced in Nov
9279         25 on-demand changes.  The bug caused build_state to reset all
9280         d->trans elements to -2 even when d->trans was already non-null.
9281         Use C99 style decls after statements in this function.
9283         same-inode: port to MinGW
9284         Here st_ino is always 0, so change the definition of SAME_INODE so
9285         that 1 means the two files are the same, 0 with st_ino != 0 means
9286         they differ, and 0 with st_ino == 0 means we don’t know.  Problem
9287         reported by Bruno Haible (Bug#25146).
9288         * doc/posix-headers/sys_stat.texi (sys/stat.h): Update.
9289         * lib/same-inode.h (SAME_INODE): Return 0 on MinGW.
9291 2016-12-04  Bruno Haible  <bruno@clisp.org>
9293         javacomp-script: Support Java 7 and 8.
9294         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.7, 1.8 and
9295         target-version 1.7, 1.8.
9297 2016-12-02  Daiki Ueno  <ueno@gnu.org>
9299         * gnulib-tool (func_import): Relax the regex used for "LGPLv3+ or
9300         GPLv2" rewriting.
9302 2016-12-02  Nikos Mavrogiannopoulos  <nmav@gnutls.org>
9304         * gnulib-tool (func_import): Adhere to the license guideline when
9305         rewriting the license text to "LGPLv3+ or GPLv2":
9306         https://www.gnu.org/prep/maintain/maintain.html#Licensing-of-GNU-Packages
9308 2016-12-02  Bruno Haible  <bruno@clisp.org>
9310         localcharset: Avoid theoretical buffer overrun.
9311         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Don't use the
9312         return value from setlocale if it would lead to a buffer overrun.
9314 2016-12-01  Bruno Haible  <bruno@clisp.org>
9316         Relicense some modules under LGPLv2+.
9317         Kevin Cernekee's approval is in
9318         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00090.html.
9319         * modules/fseterr (License): Change to LGPLv2+.
9320         * modules/mbchar (License): Likewise.
9321         * modules/mbiter (License): Likewise.
9322         * modules/mbsnlen (License): Likewise.
9323         * modules/wcwidth (License): Likewise.
9325 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
9327         scandir: Fix _D_ALLOC_NAMLEN() on OS/2 kLIBC
9328         * lib/scandir.c (_D_ALLOC_NAMLEN): Consider the fields after d_name on
9329         OS/2 kLIBC.
9331 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
9333         alphasort, scandir: Port to OS/2 kLIBC
9334         * lib/alphasort.c (alphasort): Implement according to OS/2 kLIBC
9335         declaration.
9336         * lib/scandir.c (scandir): Add declaration for OS/2 kLIBC.
9338 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
9340         relocatable: Fix that /@unixroot prefix is not working on OS/2 kLIBC
9341         * lib/relocatable.c (relocate): Do not touch pathname if it is started
9342         with '/@unixroot'.
9344 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
9346         sys_socket: typedef sa_family_t correctly on OS/2 kLIBC
9347         * lib/sys_socket.in.h (sa_family_t): Typedef to unsigned char on
9348         OS/2 kLIBC unless TCPV40HDRS is defined.
9350 2016-11-29  Jim Meyering  <meyering@fb.com>
9352         dfa: avoid new infinite loop
9353         This would infloop: echo cx | LC_ALL=C grep -E 'c\b[x ]'
9354         * lib/dfa.c (dfastate): When constructing a new state table, we could
9355         initially declare that we had found a match, and later find that
9356         constraints eliminate that possibility, yet continue to use the
9357         now stale "matched" indicator.  That would lead to an infinite loop.
9358         The solution is to update "matched" when necessary.
9359         Introduced by commit v0.1-983-g403adf1.
9361 2016-11-27  Norihiro Tanaka  <noritnk@kcn.ne.jp>
9363         dfa: avoid match middle in multibyte character
9364         * lib/dfa.c (transit_state): If fails in matching single byte characters
9365         on a state including period expression in non-UTF8 multibyte locales,
9366         skip trailing bytes.
9367         (dfa_supported): Revert previous change.
9369 2016-11-27  Jim Meyering  <meyering@fb.com>
9371         dfa: avoid false match in non-UTF8 multibyte locales
9372         * lib/dfa.c (dfa_supported): Treat any non-UTF8 multibyte locale
9373         as "not supported" so that callers will resort to using regex-based
9374         matcher.  This will surely hurt performance, but correctness trumps
9375         performance here, and the affected locales are less and less relevant,
9376         these days.  See grep's bug report https://bugs.gnu.org/24975.
9378 2016-11-27  Mike Frysinger  <vapier@gentoo.org>
9380         ptsname_r: leverage AC_HEADER_MAJOR to provide major()
9381         * lib/ptsname_r.c: Include the appropriate headers.
9382         [__sun]: Delete sys/sysmacros.h include.
9383         [_AIX || __osf__]: Likewise.
9384         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Depend on AC_HEADER_MAJOR.
9386 2016-11-27  Pádraig Brady  <P@draigBrady.com>
9388         md4,md5,sha*: allow _STRING_INLINE_unaligned enable unaligned operation
9389         * lib/md4.c (md4_process_bytes): The existing define is made internal
9390         in recent versions of glibc, so also use this new public define.
9391         * lib/md5.c (md5_process_bytes): Likewise.
9392         * lib/sha1.c (sha1_process_bytes): Likewise.
9393         * lib/sha256.c (sha256_process_bytes): Likewise.
9394         * lib/sha512.c (sha512_process_bytes): Likewise.
9396 2016-11-27  Pádraig Brady  <P@draigBrady.com>
9398         maint: use a more standard return from mbrtowc test
9399         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Don't return 1
9400         from the test program as this often indicates an
9401         unhandled case in the test program.
9402         (gl_MBRTOWC_INCOMPLETE_STATE): Likewise.
9403         (gl_MBRTOWC_SANITYCHECK): Likewise.
9404         (gl_MBRTOWC_NULL_ARG2): Likewise.
9405         (gl_MBRTOWC_NUL_RETVAL): Likewise.
9407 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
9409         freopen: work around glibc bug with closed fd
9410         Work around glibc bug#15589, where freopen mishandles the case
9411         where stdin etc. are already closed.
9412         * doc/posix-functions/freopen.texi (freopen): Document the bug.
9413         * lib/freopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this
9414         instead of __need_FILE, as the latter does not work with glibc.
9415         Include <fcntl.h>, for open flags.
9416         (rpl_freopen): Work around glibc bug.
9417         * m4/freopen.m4 (gl_FUNC_FREOPEN): Check for bug.
9418         * modules/freopen (Depends-on): Add fcntl-h.
9419         * tests/test-freopen.c (main): Test for bug.
9421 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
9423         fnmatch: fix typo introduced on 2016-08-17
9424         This fixes the port to non-GCC compilers that lack __builtin_expect.
9425         * lib/fnmatch.c (__builtin_expect): Change A&&B to !A||B.
9427         dfa: simplify with new function fillset
9428         * lib/dfa.c (fillset): New function.
9429         Use it for clarity when applicable.
9431         dfa: fix glitches with on-demand states
9432         Also, adjust commentary to better match new code.
9433         Some of these glitches predate the recent change.
9434         * lib/dfa.c (dfaanalyze): Clear trcount here, so that it counts
9435         only non-initial states.
9436         (dfastate): Rename locals to better match new roles.
9437         Move them into nested scopes if this is easy.
9438         Omit unnecessary calls to zeroset.
9439         Simplify test for whether to throw in the positions of state 0.
9440         Omit C99-ism (decl after statement) since Gawk still wants C89.
9441         (build_state): Omit unnecessary test and assignment.
9442         Fix some confusion that counted transition tables inaccurately
9443         and could cause a memory leak.
9444         (dfaexec_main): Redo to make it clearer to the compiler that
9445         -1 and -2 are the only negative state numbers here.
9447 2016-11-25  Norihiro Tanaka  <noritnk@kcn.ne.jp>
9449         dfa: addition of new state on demand
9450         * src/dfa.c (dfastate): Add argument UC, the current input character.
9451         Fill only a group including the character in transition table.
9452         (realloc_trans_if_necessary): Add the dummy state which means that a
9453         transition table is assigned but the next state is not assigned.
9454         (build_state): Return the next state.  All callers updated.
9455         (transit_state_singlebyte): If we get the dummy state,
9456         fill the transition table.
9457         (dfaexec_main): Handle the dummy state.
9458         (free_mbdata, dfafree): Consider the dummy state.
9460 2016-11-24  Daiki Ueno  <ueno@gnu.org>
9462         srclist: sync with released gettext
9463         * config/srclist.txt: Set "release" option to the files under
9464         $GETTEXT.
9466 2016-11-24  Daiki Ueno  <ueno@gnu.org>
9468         srclist: add "release" option
9469         * config/srclist.txt: Change the format so that the first column
9470         of each line points to the top-level directory of the source
9471         archive.
9472         * config/srclist-update: Accept "release" option that checks files
9473         from the most recently tagged revision in the source archive.
9475 2016-11-21  Bruno Haible  <bruno@clisp.org>
9477         snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
9478         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
9479         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1,
9480         _GL_CXXALIAS_SYS, _GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2):
9481         Inline and remove member function 'rpl ()' of the wrapper struct.
9483 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
9485         dfa: fix logic typo
9486         Problem reported by Stephane Chazelas (Bug#24973).
9487         * lib/dfa.c (using_simple_locale): Fix typo that caused some
9488         non-simple locales like fr_FR to be treated as simple.
9490 2016-11-20  Jim Meyering  <meyering@fb.com>
9492         fix test driver leaks: exclude, malloc, realloc
9493         * tests/test-exclude.c (main): Fix trivial leak.
9494         * tests/test-malloc-gnu.c (main): Likewise.
9495         * tests/test-realloc-gnu.c (main): Likewise.
9496         With these changes, grep's tests are now leak free.
9497         I.e., running them with ASAN elicits no failure:
9498           make CFLAGS='-O0 -ggdb3' AM_CFLAGS=-fsanitize=address \
9499             AM_LDFLAGS='-fsanitize=address -static-libasan' check
9501 2016-11-11  Bruno Haible  <bruno@clisp.org>
9503         libunistring: Relicense under dual "LGPLv3+ or GPLv2" license.
9504         * modules/libunistring: (License): Change from LGPL to
9505         "LGPLv3+ or GPLv2".
9506         * modules/libunistring-optional: Likewise.
9507         * modules/unicase/*: Likewise.
9508         * modules/uniconv/*: Likewise.
9509         * modules/unictype/*: Likewise.
9510         * modules/unigbrk/*: Likewise.
9511         * modules/unilbrk/*: Likewise.
9512         * modules/uniname/*: Likewise.
9513         * modules/uninorm/*: Likewise.
9514         * modules/unistdio/*: Likewise.
9515         * modules/unistr/*: Likewise.
9516         * modules/uniwbrk/*: Likewise.
9517         * modules/uniwidth/*: Likewise.
9519 2016-11-12  Bruno Haible  <bruno@clisp.org>
9521         Relicense some modules under LGPLv2+.
9522         Paul Eggert's approval is in
9523         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00037.html.
9524         Eric Blake's approval is in
9525         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00042.html.
9526         Ludovic Courtès's approval is in
9527         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00038.html.
9528         * modules/isnand-nolibm (License): Change to LGPLv2+.
9529         * modules/isnanf-nolibm (License): Likewise.
9530         * modules/isnanl-nolibm (License): Likewise.
9532 2016-11-19  Bruno Haible  <bruno@clisp.org>
9534         Relicense some modules under LGPLv2+.
9535         lib/float+.h is already under LGPLv2+ since 2007-07-13, per
9536         modules/vasnprintf.
9537         Paolo Bonzini's approval for lib/frexp.c and lib/frexpl.c is in
9538         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00074.html.
9539         All other significant changes to the files in lib/ of these modules
9540         are from me.
9541         * modules/memcmp2 (License): Change to LGPLv2+.
9542         * modules/amemxfrm (License): Likewise.
9543         * modules/fpieee (License): Likewise.
9544         * modules/fpucw (License): Likewise.
9545         * modules/frexp-nolibm (License): Likewise.
9546         * modules/frexpl-nolibm (License): Likewise.
9547         * modules/printf-frexp (License): Likewise.
9548         * modules/printf-frexpl (License): Likewise.
9549         * modules/printf-safe (License): Likewise.
9550         * modules/signbit (License): Likewise.
9552 2016-11-17  Bruno Haible  <bruno@clisp.org>
9554         Enable Unicode decoder safety unconditionally.
9555         * lib/unistr.in.h (u32_mbtouc_unsafe): Assume CONFIG_UNICODE_SAFETY.
9556         * lib/unistr/u8-mblen.c (u8_mblen): Likewise.
9557         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
9558         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
9559         * lib/unistr/u8-prev.c (u8_prev): Likewise.
9560         * lib/unistr/u8-strmblen.c (u8_strmblen): Likewise.
9561         * lib/unistr/u8-strmbtouc.c (u8_strmbtouc): Likewise.
9562         * lib/unistr/u16-mblen.c (u16_mblen): Likewise.
9563         * lib/unistr/u16-mbtouc-unsafe.c (u16_mbtouc_unsafe): Likewise.
9564         * lib/unistr/u16-mbtouc-unsafe-aux.c (u16_mbtouc_unsafe_aux): Likewise.
9565         * lib/unistr/u16-prev.c (u16_prev): Likewise.
9566         * lib/unistr/u16-strmblen.c (u16_strmblen): Likewise.
9567         * lib/unistr/u16-strmbtouc.c (u16_strmbtouc): Likewise.
9568         * lib/unistr/u32-mblen.c (u32_mblen): Likewise.
9569         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Likewise.
9570         * lib/unistr/u32-prev.c (u32_prev): Likewise.
9571         * lib/unistr/u32-next.c (u32_next): Likewise.
9572         * lib/unistr/u32-strmblen.c (u32_strmblen): Likewise.
9573         * lib/unistr/u32-strmbtouc.c (u32_strmbtouc): Likewise.
9574         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
9575         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
9576         * tests/unistr/test-u16-prev.c (check_invalid): Enable the
9577         CONFIG_UNICODE_SAFETY tests unconditionally.
9578         * tests/unistr/test-u32-mblen.c (main): Likewise.
9579         * tests/unistr/test-u32-mbtouc.h (test_function): Likewise.
9580         * tests/unistr/test-u32-prev.c (check_invalid): Likewise.
9581         * tests/unistr/test-u32-next.c (main): Likewise.
9582         * tests/unistr/test-u32-strmblen.c (main): Likewise.
9583         * tests/unistr/test-u32-strmbtouc.c (main): Likewise.
9584         * tests/unistr/test-u32-mbtouc.c (FULL_SAFETY): Remove macro.
9585         * lib/unistr/u8-check.c (u8_check): Remove old dead code.
9586         * lib/unistr/u8-mbtouc.c (u8_mbtouc): Likewise.
9587         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
9588         * lib/unistr/u8-mbtoucr.c (u8_mbtoucr): Likewise.
9589         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
9590         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
9591         * lib/unistr/u16-check.c (u16_check): Update comment.
9592         * NEWS: Mention the changes that callers should be aware of.
9594 2016-11-19  Bruno Haible  <bruno@clisp.org>
9596         relocatable-prog-wrapper: Fix breakage on Cygwin.
9597         * modules/relocatable-prog-wrapper (Files): Add lib/stat.c, lib/lstat.c.
9598         (Depends-on): Remove intprops.
9599         * lib/relocwrapper.c: Update dependency tree.
9600         (strerror): Undefine.
9601         * build-aux/install-reloc (func_create_wrapper): Do not compile
9602         strerror.c and strerror-override.c. Erase stat.o and lstat.o.
9604 2016-11-19  Bruno Haible  <bruno@clisp.org>
9606         strerror: Make it compile in C++ mode.
9607         * lib/strerror.c (strerror): Ignore the return value of memcpy().
9609 2016-11-15  Pedro Alves  <palves@redhat.com>
9611         sys_time: add gnulib::timeval for C++
9612         * lib/sys_time.in.h [__cplusplus && defined GNULIB_NAMESPACE]:
9613         Define "timeval" in the GNULIB_NAMESPACE namespace, and #undef any
9614         timeval macro.
9616 2016-11-14  Pedro Alves  <palves@redhat.com>
9618         snippet/c++defs: fix real-floating arg functions in C++ mode
9619         Also, define isfinite, isinf, isnan, signbit in the gnulib
9620         namespace instead of in the global namespace.
9621         * build-aux/snippet/c++defs.h (_GL_BEGIN_NAMESPACE)
9622         (_GL_END_NAMESPACE): New.
9623         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Use them.
9624         (isfinite, isinf, isnan, signbit) [__cplusplus &&
9625         GNULIB_NAMESPACE]: Define them in the GNULIB_NAMESPACE namespace
9626         instead of in the global namespace.
9627         * tests/test-math-c++.cc: Check that the isfinite, isinf, isnan,
9628         signbit overloads exist in the GNULIB_NAMESPACE namespace, instead
9629         of in the global namespace.
9631 2016-11-13  Jim Meyering  <meyering@fb.com>
9633         strftime: don't use __THROW
9634         Each use of __THROW would provoke this from gcc-7-to-be:
9636           lib/strftime.c:371:1: warning: '__leaf__' attribute has no effect \
9637             on unit local functions [-Wattributes]
9638           static int iso_week_days (int, int) __THROW;
9639           ^~~~~~
9640         * lib/strftime.c (__THROW): Don't define.
9641         Remove each use of __THROW.
9642         * lib/strftime.c (memcpy_lowcase, memcpy_uppcase): Remove __THROW.
9643         (tm_diff, iso_week_days, __strftime_internal): Likewise.
9645 2016-11-14  Paul Eggert  <eggert@union>
9647         obstack: port to gcc -fcheck-pointer-bounds
9648         Problem found by 'make check' failure on bleeding-edge coreutils
9649         on an MPX-enabled CPU (Intel Core i3-7100U) running GCC (Ubuntu
9650         6.2.0-5ubuntu12), configured via "./configure
9651         --enable-gcc-warnings CFLAGS='-mmpx -fcheck-pointer-bounds -g3
9652         -O2' LDFLAGS='-static-libmpx -static-libmpxwrappers'".
9653         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER):
9654         New macro, copied from fts_.h.
9655         (struct _obstack_chunk.contents): Use it.
9657 2016-11-14  Eric Blake  <eblake@redhat.com>
9659         strerror_r-posix: Another fix, for HAVE_DECL_STRERROR_R on mingw.
9660         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R, gl_FUNC_STRERROR_R_WORKS):
9661         Avoid _ONCE variants, which may supply a conflicting AC_DEFINE().
9663 2016-11-14  Pádraig Brady  <P@draigBrady.com>
9665         strptime: fix compile error in recent change
9666         * lib/strptime.c (__strptime_internal): Fix ported code.
9668 2016-11-11  Bruno Haible  <bruno@clisp.org>
9670         gnulib-tool: Support for the dual "LGPLv3+ or GPLv2" license.
9671         * gnulib-tool (--lgpl): Accept value 3orGPLv2.
9672         (func_import): Extend determination of license_incompatibilities.
9673         (func_create_testdir): Extend table of license compatibility. Handle
9674         also the licenses GPLv3+, GPL, LGPLv3+.
9676 2016-11-12  Paul Eggert  <eggert@cs.ucla.edu>
9678         strftime: tune %q
9679         * lib/strftime.c (__strftime_internal): Assume tp->tm_mon is in range.
9681         Merge strftime.c changes from glibc
9682         This incorporates:
9683         2007-10-16 [BZ #5184] Add tzset_called argument
9684         2008-06-13 [BZ #6612] pass reference to tzset_called around
9685         2009-10-30 Implement Burmese language locale for Myanmar
9686         2010-01-09 Add support for XPG7 testing
9687         2015-09-26 [BZ #18985] out of range data to strftime() causes a segfault
9688         2015-10-20 Convert miscellaneous function definitions to prototype style
9689         * lib/strftime.c: Copy glibc license, since gnulib-tool rewrites
9690         it anyway and this lessens the difference between gnulib and glibc.
9691         (USE_IN_EXTENDED_LOCALE_MODEL) [_LIBC]: Define.
9692         (__THROW): Define if standard headers do not.
9693         (LOCALE_PARAM): Rename from LOCALE_PARAM_PROTO.  All uses changed.
9694         (memcpy_locase, memcpy_uppcase, tm_diff, __strftime_internal):
9695         Declare with __THROW.
9696         (__strftime_internal): Rename from strftime_case_. Add arg for
9697         whether tzset is called.  All uses changed.  Call tzset at most
9698         once.  Allow %OC, for Burmese.
9699         (a_wkday, f_wkday, a_month, f_month) [_NL_CURRENT]:
9700         Don't assume values are in range.
9702 2016-11-12  Eric Blake  <eblake@redhat.com>
9704         strerror_r-posix: Fix override of AC_FUNC_STRERROR_R
9705         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): New override.
9706         (gl_FUNC_STRERROR_R): Don't reuse AC_DEFINE() with a potentially
9707         different value.
9709 2006-11-12  Pedro Alves  <palves@redhat.com>
9711         Fix gnulib C++ namespace support and std::frexp
9712         * lib/math.in.h (frexp): Use _GL_CXXALIASWARN1 instead of
9713         _GL_CXXALIASWARN.
9715 2006-11-12  Pedro Alves  <palves@redhat.com>
9717         GNULIB_NAMESPACE::func need not pull in rpl_func
9718         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
9719         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1, _GL_CXXALIAS_SYS)
9720         (_GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2): Define a wrapper
9721         struct instead of a function pointer.
9723 2016-11-09  Frediano Ziglio  <fziglio@redhat.com>
9725         manywarnings: fix -Wno-missing-field-initializers detection
9726         * m4/manywarnings.m4: Fix -Wno-missing-field-initializers detection
9727         to be independent of -Wunused-variable.  I.E. ensure the latter
9728         warning doesn't occur so that detection of the former is accurate.
9730 2016-11-05  Pádraig Brady  <pbrady@fb.com>
9732         strftime,strptime: support %q to represent the quarter
9733         * lib/strftime.c (strftime_case_): Add %q case.
9734         * lib/strptime.c (__strptime_internal): Likewise.
9735         * tests/test-strftime.c (quarter_test): A new test case.
9737 2016-11-03  Eric Blake  <eblake@redhat.com>
9739         bootstrap: Fix get_version() for AIX 5.3
9740         * build-aux/bootstrap (get_version): Factor out sed script, since
9741         indented comments choke AIX 5.3 sed.
9742         Reported-by: Michael Felt <aixtools@gmail.com>
9744 2016-11-03  Paul Eggert  <eggert@cs.ucla.edu>
9746         intprops: port to older XL C
9747         Problem reported by Alexander Samoilov in:
9748         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00166.html
9749         http://savannah.nongnu.org/bugs/?49448
9750         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM__TYPEOF__]:
9751         Define to 1 only for XL C 12.1 or later, since this bug
9752         occurs in XL C for AIX 6.0 but not in 12.1.
9754 2016-11-02  Pádraig Brady  <P@draigBrady.com>
9756         backupfile: initialize default suffix within the implementation
9757         * lib/backupfile.c (find_backup_file_name): Initialize the
9758         global variable here, to simplify usage, and to only call
9759         getenv() when needed.
9761 2016-11-01  Paul Eggert  <eggert@cs.ucla.edu>
9763         futimens: remove FIXME for old Linux kernels
9764         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Belatedy do a "simplify
9765         this in 2012" FIXME, like that for utimensat.
9767         utimensat: remove FIXME for old Linux kernels
9768         * lib/utimensat.c (rpl_utimensat): Update FIXME comment.
9769         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Belatedy do a "simplify
9770         this in 2012" FIXME, by assuming the file system bug is absent
9771         unless demonstrated to be present.  We no longer need to worry
9772         about Linux kernel 2.6.32 when building with newer kernels.
9774 2016-10-16  Bruno Haible  <bruno@clisp.org>
9776         qsort_r: Fix macrology for platforms that lack the function.
9777         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for qsort_r.
9778         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_QSORT_R.
9779         * modules/stdlib (Makefile.am): Substitute HAVE_QSORT_R.
9780         * lib/stdlib.in.h (qsort_r): Provide declaration if the function does
9781         not exist.
9782         * m4/qsort_r.m4 (gl_FUNC_QSORT_R): Use AC_CHECK_FUNCS to test whether
9783         the function exists.
9784         * modules/qsort_r: Add comments.
9786 2016-10-26  Paul Eggert  <eggert@cs.ucla.edu>
9788         sys_types: fix Texinfo typos
9789         * doc/glibc-functions/gnu_dev_major.texi:
9790         * doc/glibc-functions/gnu_dev_makedev.texi:
9791         * doc/glibc-functions/gnu_dev_minor.texi: Fix typos.
9793 2016-10-26  John David Anglin  <dave.anglin@bell.net>
9795         getprogname: port to HP-UX
9796         See Bug#24805.
9797         * lib/getprogname.c (getprogname) [__hpux]: Port.
9798         * tests/test-getprogname.c (STREQ) [__hpux]:
9799         Special-case for HP-UX limitations on program name length.
9801 2016-10-20  Bruno Haible  <bruno@clisp.org>
9803         Update doc about target platforms.
9804         * doc/gnulib-intro.texi (Target Platforms): Update list.
9806 2016-10-15  Bruno Haible  <bruno@clisp.org>
9808         opendir, readdir, closedir: Relicense under LGPLv2+.
9809         * modules/opendir (License): Change to LGPLv2+.
9810         * modules/readdir (License): Likewise.
9811         * modules/closedir (License): Likewise.
9813 2016-10-16  Bruno Haible  <bruno@clisp.org>
9815         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
9816         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Override the values set by the
9817         AC_FUNC_STRERROR_R macro. Define HAVE_DECL_STRERROR_R_ORIG.
9818         * lib/strerror_r.c: Use HAVE_DECL_STRERROR_R_ORIG instead of
9819         HAVE_DECL_STRERROR_R.
9821 2016-10-16  Bruno Haible  <bruno@clisp.org>
9823         Make the 'argp' module work without the 'error' module.
9824         * m4/argp.m4 (gl_ARGP): Require AC_FUNC_STRERROR_R.
9826 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
9828         diffseq: restore TOO_EXPENSIVE heuristic
9829         * lib/diffseq.h: Problem with diffutils reported by Andreas Schwab
9830         (Bug#24715).  The simplest solution is to restore the
9831         TOO_EXPENSIVE heuristic that I added to GNU diff in 1993, while
9832         using a higher threshold to avoid Bug#16848 on smaller files.
9833         * lib/diffseq.h (struct context): Restore member too_expensive.
9834         (struct partition): Restore members lo_minimal, hi_minimal.
9835         (diag, compareseq): Restore arg find_minimal.  All uses changed.
9836         (diag): Restore the TOO_EXPENSIVE heuristic that I added back in
9837         1993 to make 'diff' run faster (but not as well) on large inputs,
9838         but use a threshold of 4096 instead of the old 256.
9839         * lib/fstrcmp.c (strcmp_bounded):
9840         * lib/git-merge-changelog.c (compute_differences):
9841         Adjust to diffseq.h changes.
9843 2016-10-22  Bruno Haible  <bruno@clisp.org>
9845         iconv: Avoid compilation error when bootstrapping GNU libiconv.
9846         * m4/iconv.m4 (AM_ICONV): When the system does not have an iconv()
9847         declaration yet, define ICONV_CONST to empty.
9849 2016-10-15  Bruno Haible  <bruno@clisp.org>
9851         Avoid gnulib-tool warnings about the dependencies of 'parse-datetime'.
9852         * gnulib-tool (func_get_license): Special-case the 'parse-datetime'
9853         module.
9855 2016-10-16  Bruno Haible  <bruno@clisp.org>
9857         system-quote tests: Avoid compiler warning on AIX.
9858         * tests/test-system-quote-child.c (fopen): Redefine like the system's
9859         <stdio.h> does.
9861 2016-10-16  Bruno Haible  <bruno@clisp.org>
9863         Fix some "gcc -Wall" warnings.
9864         * tests/test-ffsl.c (main): Use variable x, not i.
9865         * tests/test-posix_spawn3.c (parent_main): Consider the return value of
9866         freopen.
9867         * tests/test-sethostname1.c (main): Explicitly ignore the return value
9868         of sethostname.
9870 2016-10-16  Bruno Haible  <bruno@clisp.org>
9872         gnulib-tool: Make --create-testdir on all modules work again.
9873         * gnulib-tool (func_create_testdir): Don't include the
9874         non-recursive-gnulib-prefix-hack module.
9876 2016-10-21  Daiki Ueno  <ueno@gnu.org>
9878         libunistring: change the maintainer to 'all'
9879         * modules/gen-uni-tables, modules/libunistring:
9880         * modules/ucs4-utf16, modules/ucs4-utf8, modules/unicodeio:
9881         * modules/unitypes, modules/utf16-ucs4, modules/utf16-ucs4-unsafe:
9882         * modules/utf8-ucs4, modules/utf8-ucs4-unsafe:
9883         * modules/unicase/*, modules/uniconv/*, modules/unictype/*:
9884         * modules/unilbrk/*, modules/uniname/*, modules/uninorm/*:
9885         * modules/unistdio/*, modules/unistr/*, modules/uniwbrk/*:
9886         * modules/uniwidth/*: Change the maintainer to 'all'.
9888 2016-10-16  Bruno Haible  <bruno@clisp.org>
9890         Simplify "configure: checking ..." messages.
9891         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use AC_MSG_CHECKING instead of
9892         AC_MSG_NOTICE.
9893         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
9895 2016-10-20  Paul Eggert  <eggert@cs.ucla.edu>
9897         quotearg-tests: pacify gcc -Wall
9898         Problem reported by Bruno Haible in:
9899         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00066.html
9900         * tests/test-quotearg-simple.c (use_quote_double_quotes): Move here ...
9901         * tests/test-quotearg.h: ... from here.
9903 2016-10-20  Pádraig Brady  <P@draigBrady.com>
9905         canonicalize-lgpl: fix for missing SIZE_MAX on older systems
9906         * lib/canonicalize-lgpl.c [SIZE_MAX]: Define if needed.
9907         Needed on Centos <= 4.
9909 2016-10-20  Jim Meyering  <meyering@fb.com>
9911         printf.m4: fix a bug in detecting printf %j support
9912         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Fail any system for which
9913         uintmax_t is defined in neither stdint.h nor inttypes.h.
9914         Before, this macro might have mistakenly set
9915         gl_cv_func_printf_sizes_c99=yes on such a system.
9916         Spotted by Zev Weiss.
9918 2016-10-19  Paul Eggert  <eggert@cs.ucla.edu>
9920         sched: substitute HAVE_SYS_CDEFS_H too
9921         Problem reported by Tom G. Christensen in:
9922         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00084.html
9923         * m4/sched_h.m4 (gl_SCHED_H): Set and substitute HAVE_SYS_CDEFS_H.
9924         * modules/sched (Depends-on): Substitute HAVE_SYS_CDEFS_H.
9926 2016-10-19  Pádraig Brady  <P@draigBrady.com>
9928         quotearg: never write beyond the returned length
9929         * lib/quotearg.c (quotearg_buffer_restyled): Switch to a read-only
9930         scan of the string when we initially encounter a single quote when
9931         shell quoting, so that if we then switch to a more concise quoting method
9932         we will not have written beyond that returned length.
9933         This is significant for sh-quote, which has separate routines
9934         to determine the length and do the actual quoting.
9935         * tests/test-quotearg.h: Reinstate the buffer bounds checking
9936         now that we never write more than the returned length.
9938 2016-10-18  Bruno Haible  <bruno@clisp.org>
9940         getprogname tests: Avoid failure in packages that use libtool.
9941         * tests/test-getprogname.c (main): Strip "lt-" prefix.
9942         Based on a patch by Jim Meyering.
9944 2016-10-16  Bruno Haible  <bruno@clisp.org>
9946         getprogname: Fix test failure on Cygwin. Comments.
9947         * lib/getprogname.h: Add comments.
9948         * lib/getprogname.c: Add comments. Fix #elif indentation.
9949         * tests/test-getprogname.c (main): On Cygwin, expect a result without
9950         ".exe" suffix.
9952 2016-10-16  Bruno Haible  <bruno@clisp.org>
9954         Make sure the libunistring detection rejects older versions with a
9955         known bug.
9956         * modules/unistr/u8-strtok (configure.ac): Bump required version.
9957         * modules/unistr/u16-strtok (configure.ac): Likewise.
9958         * modules/unistr/u32-strtok (configure.ac): Likewise.
9960 2016-10-18  Bruno Haible  <bruno@clisp.org>
9962         sh-quote, system-quote: revert regression of unit test.
9963         * tests/test-sh-quote.c (check_one): Do detect buffer overruns.
9964         * tests/test-system-quote-main.c (check_one): Likewise.
9966 2016-10-16  Pádraig Brady  <P@draigBrady.com>
9968         quotearg: fix stale tests
9969         * tests/test-quotearg.c [locale_results]: Add the missing str7
9970         entries to the expected results.
9971         * tests/test-system-quote-main.c (check_one): Don't enforce that we
9972         don't write beyond the returned length, since that's no longer the
9973         case if we switch to a more concise quoting style.
9974         * tests/test-sh-quote.c (check_one): Likewise.
9975         (main): Adjust for the new more concise quoting style.
9976         Reported by Bruno Haible.
9978 2016-10-16  Jim Meyering  <meyering@fb.com>
9980         non-recursive-gnulib-prefix-hack: fix inconsequential typo
9981         * m4/non-recursive-gnulib-prefix-hack.m4: Change a hard-coded "lib"
9982         to "$1".  This macro is always invoked with $1 == lib.
9983         Spotted by Bruno Haible
9985 2016-10-16  Bruno Haible  <bruno@clisp.org>
9987         Fix a test crash.
9988         * tests/test-duplocale.c (main): Skip the test if the 'newlocale' call
9989         fails.
9991 2016-10-16  Pádraig Brady  <P@draigBrady.com>
9993         test-limits-h: suppress -Woverlength-strings
9994         * tests/test-limits-h.c [__GNUC__]: Ignore -Woverlength-strings.
9996 2016-10-15  Bruno Haible  <bruno@clisp.org>
9998         gettime, timespec, utimens: Relicense under LGPL.
9999         * modules/gettime (License): Change to LGPL.
10000         * modules/timespec (License): Likewise.
10001         * modules/utimens (License): Likewise.
10003 2016-10-14  Bruno Haible  <bruno@clisp.org>
10004             Pádraig Brady  <P@draigBrady.com>
10006         canonicalize-lgpl: Support the case path_max > INT_MAX.
10007         * lib/canonicalize-lgpl.c (__realpath): Declare n as ssize_t, not int.
10008         Fix overflow check, for platforms where 'size_t' is larger than 'long'.
10010 2016-10-13  Jim Meyering  <meyering@fb.com>
10012         getprogname: IBM z/OS: avoid NULL-dereference
10013         * lib/getprogname.c (getprogname) [__MVS__]: Don't dereference NULL
10014         upon strdup failure.
10016 2016-10-12  Jim Meyering  <meyering@fb.com>
10018         test-stdint: use _GL_VERIFY rather than "verify" for some tests
10019         * tests/test-stdint.c (verify_width): Implement with _GL_VERIFY
10020         and an abbreviated diagnostic rather than verify with the full one,
10021         because the full-length strings would evoke warnings from gcc with
10022         -Woverlength-strings.
10024 2016-10-13  Paul Eggert  <eggert@cs.ucla.edu>
10026         stdint: port SIZE_MAX to glibc s390
10027         Problem reported by Eric Blake in:
10028         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00031.html
10029         * doc/posix-headers/stdint.texi (stdint.h): Document the fix.
10030         * m4/stdint.m4 (gl_STDINT_H): Check that SIZE_MAX has the
10031         correct type, if possible.
10033 2016-10-13  Daniel Richard G.  <skunk@iSKUNK.ORG>
10035         getprogname: port to IBM z/OS
10036         * lib/getprogname.c (getprogname): Use w_getpsent() to get the name.
10038 2016-10-11  Jim Meyering  <meyering@fb.com>
10040         maint: remove stray space after "." in AC_DEFINE comment.
10041         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Remove space-after-".".
10042         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
10044 2016-10-05  Jim Meyering  <meyering@fb.com>
10046         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
10047         * lib/long-options.c (parse_long_options): Add a break statement
10048         to avoid this new warning/failure:
10049         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
10050           --create-testdir --dir=/t/x --with-tests --test long-options
10051         ../../gllib/long-options.c: In function 'parse_long_options':
10052         ../../gllib/long-options.c:66:12: error: this statement may \
10053           fall through [-Werror=implicit-fallthrough]
10054                    (*usage_func) (EXIT_SUCCESS);
10055                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
10057 2016-10-05  Jim Meyering  <meyering@fb.com>
10059         utimecmp: avoid new GCC 7 warning from -Wbool-operation
10060         Testing this module would fail when using GCC 7 like this:
10061         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
10062           --dir=/tmp/x --with-tests --test utimecmp
10063         ../../gllib/utimecmp.c: In function ‘utimecmp’:
10064         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
10065           [-Werror=bool-operation]
10066                          time_t s = src_s & ~ (res == 2 * BILLION);
10067                                             ^
10068         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
10069           [-Werror=bool-operation]
10070                src_s &= ~ (res == 2 * BILLION);
10071                         ^
10072         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
10073         Instead, make it explicit that we intend to apply it to 0 or 1.
10075 2016-10-10  Norihiro Tanaka  <noritnk@kcn.ne.jp>
10077         dfa: save memory for states
10078         * src/dfa (dfaexec_main): Beginning of dfa execution, release caches of
10079         states if dfa has a lot of caches.
10081 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
10083         wchar, wctype-h: fix for MinGW 3.22.2
10084         * lib/wchar.in.h [__MINGW32__]: Add one more condition for
10085         special invocation, to fix issues with MinGW 3.22.2 wchar.h
10086         when included from <string.h>.
10087         * lib/wctype.in.h [__MINGW32__]: Add special invocation
10088         convention for MinGW 3.22.2, to solve issues with their
10089         wctype.h when included from <ctype.h>.
10091 2016-10-05  Jim Meyering  <meyering@fb.com>
10093         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
10094         * lib/long-options.c (parse_long_options): Add a break statement
10095         to avoid this new warning/failure:
10096         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
10097           --create-testdir --dir=/t/x --with-tests --test long-options
10098         ../../gllib/long-options.c: In function ‘parse_long_options’:
10099         ../../gllib/long-options.c:66:12: error: this statement may \
10100           fall through [-Werror=implicit-fallthrough]
10101                    (*usage_func) (EXIT_SUCCESS);
10102                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
10104         utimecmp: avoid new GCC 7 warning from -Wbool-operation
10105         Testing this module would fail when using GCC 7 like this:
10106         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
10107           --dir=/tmp/x --with-tests --test utimecmp
10108         ../../gllib/utimecmp.c: In function ‘utimecmp’:
10109         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
10110           [-Werror=bool-operation]
10111                          time_t s = src_s & ~ (res == 2 * BILLION);
10112                                             ^
10113         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
10114           [-Werror=bool-operation]
10115                src_s &= ~ (res == 2 * BILLION);
10116                         ^
10117         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
10118         Instead, make it explicit that we intend to apply it to 0 or 1.
10120 2016-10-03  Pádraig Brady  <P@draigBrady.com>
10122         quotearg: minimize shell quoting using double quotes
10123         * lib/quotearg.c (quotearg_buffer_restyled): If an ASCII single
10124         quote in encountered then use double quotes (c style quoting)
10125         when possible, as it simplifies the quoting.
10126         * tests/test-quotearg-simple.c: Add test cases.
10127         * tests/test-quotearg.h (use_quotearg_buffer): Adjust to account
10128         for the fact we now may write beyond the returned length.
10130 2016-10-02  Jim Meyering  <meyering@fb.com>
10132         vasnprintf.c: avoid spurious warning from GCC 7
10133         The presence of cpp directives renders this "FALLTHROUGH" comment
10134         ineffective, so does not suppress the -Wimplicit-fallthrough warning
10135         from GCC 7 built from git on 2016-10-02.
10136         * lib/vasnprintf.c (VASNPRINTF): Move comment down past two cpp
10137         directives, so that it takes effect once again.  This is clearly
10138         not a proper change, and I will revert it once this bug is fixed:
10139         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77817
10141 2016-10-01  Jim Meyering  <meyering@fb.com>
10143         getprogname: correct the test for a __progname variable
10144         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Use AC_CACHE_CHECK
10145         and AC_LINK_IFELSE to check for a global __progname.  If found,
10146         define HAVE_VAR___PROGNAME.
10147         * lib/getprogname.c (getprogname): Reflect the new name of the
10148         feature- checked preprocessor symbol:
10149         s/HAVE_DECL___PROGNAME/HAVE_VAR___PROGNAME/
10151 2016-09-28  Jim Meyering  <meyering@fb.com>
10153         u8-uctomb-aux.c: build: placate GCC 7's new -Wimplicit-fallthrough
10154         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Mark each end of
10155         fall-through case with a /* fallthrough */ comment.
10157         dfa: build: avoid warning from GCC 7's new -Wimplicit-fallthrough
10158         * lib/dfa.c (dfassbuild): Mark the end of this case with a
10159         /* fallthrough */ comment.
10161         getprogname: avoid __progname vs program_invocation_short_name pitfall
10162         I.e., don't let the OpenBSD 5.1 fix induce failure when using newer
10163         glibc.  Would have caused failure with Fedora 25's glibc-2.24-3, but
10164         not with Fedora 24's glibc-2.23.1-10.
10165         * lib/getprogname.c (__progname): Move this declaration down...
10166         (getprogname): ... into the #elif block where used, and make it
10167         explicitly "extern".
10169         getprogname: port to OpenBSD 5.1
10170         * lib/getprogname.c (__progname) [HAVE_DECL___PROGNAME]: Declare.
10171         (getprogname) [HAVE_DECL___PROGNAME]: Return __progname or "?".
10172         * modules/getprogname (configure.ac): Move most of this code...
10173         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): ... to this function,
10174         increment serial number, and add a test for __progname.
10175         https://bugs.gnu.org/24562
10176         Reported by Nelson H. F. Beebe.
10178 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
10180         sched: port to GCC 6.2.1 on macOS Sierra
10181         Problem reported by Denis Davydov in:
10182         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00056.html
10183         * lib/sched.in.h [HAVE_SYS_CDEFS_H]:
10184         Include <sys/cdefs.h> before <sched.h>.
10185         * m4/nproc.m4 (gl_PREREQ_NPROC): Include errno.h before sched.h,
10186         so that we needn’t worry about the sched.h include bug here.
10187         * m4/sched_h.m4 (gl_SCHED_H): Check for sys/cdefs.h,
10188         and include it before <sched.h> if it exists, when
10189         checking for <sched.h>.
10191         tests/init.sh: port Alpine fix to AIX 7.1
10192         * tests/init.sh (compare_): When attempting to use diff -U3,
10193         prefer diff -u to -U3 to -c to plain diff.  Do not insist on
10194         diff -u not outputting a space after leading '+', as the users
10195         of 'compare' should not be that picky about its output format.
10196         In the AIX 7.1 case, return with diff exit status (or with 2 if
10197         trouble), instead of some random nonzero exit status.
10198         * tests/test-init.sh (test_compare): Remove space after leading
10199         '+', so that AIX 7.1 'diff' passes the test.
10201 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
10203         nl_langinfo: pacify GCC
10204         * lib/nl_langinfo.c (ctype_codeset): Remove unused local.
10205         (rpl_nl_langinfo): Cast string literals to char *, to pacify GCC.
10207         stdint: also set GL_GENERATE_LIMITS_H
10208         Problem reported by Jim Meyering in:
10209         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00052.html
10210         * m4/stdint.m4 (gl_STDINT_H): Also redo the AM_CONDITIONAL.
10212         limits-h, stdint: Don't assume extensions, fix typo
10213         * m4/limits-h.m4 (gl_LIMITS_H):
10214         * m4/stdint.m4 (gl_STDINT_H):
10215         Don't assume AC_USE_SYSTEM_EXTENSIONS.
10216         * m4/stdint.m4 (gl_STDINT_H): Fix typo in setting of LIMITS_H,
10217         reported by Jim Meyering in:
10218         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00050.html
10220 2016-09-21  Jim Meyering  <meyering@fb.com>
10222         getprogname: port to AIX
10223         * lib/getprogname.c (getprogname) [_AIX]: Use getpid, getprocs64
10224         and strdup to obtain a short program name string.  Using code from
10225         Bruno Haible and an idea from Bastien ROUCARIÈS, in
10226         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
10227         Assaf Gordon reported that this new file would fail to compile on
10228         AIX-7.1 32bit.
10230 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
10232         extensions: fix typo in comment
10233         * m4/extensions.m4: Sync from Autoconf master.
10235         stdint: support new _WIDTH macros
10236         * doc/posix-headers/stdint.texi: Document this.
10237         * lib/stdint.in.h: Add support for INTMAX_WIDTH. etc.
10238         * m4/stdint.m4 (gl_STDINT_H): Require gl_LIMITS_H.  Check for
10239         support for INTMAX_WIDTH, etc. as well as for support for just C99.
10240         * modules/stdint (Depends-on): Add limits-h.
10241         (Makefile.am): Substitute HAVE_C99_STDINT_H.
10242         * modules/stdint-tests (Depends-on): Add extensions, so that
10243         INTMAX_MAX etc. are defined.
10244         * tests/test-stdint.c: Verify the new macros.
10246         limits-h: new module
10247         This adds ISO/IEC TS 18661-1:2014 support to limits.h.
10248         * MODULES.html.sh: Add limits-h,and move size_max to stdint section.
10249         * doc/posix-headers/limits.texi: Document new module.
10250         * lib/limits.in.h, m4/limits-h.m4, modules/limits-h:
10251         * modules/limit-h-tests, tests/test-limits-h.c: New files.
10253         stdio: don't redefine __USE_MINGW_ANSI_STDIO
10254         * m4/stdio_h.m4 (gl_STDIO_H): Don't define __USE_MINGW_ANSI_STDIO
10255         if it is already defined.  Apparently GNU Emacs relies on this.  See:
10256         http://lists.gnu.org/r/emacs-devel/2016-09/msg00416.html
10258 2016-09-15  Eric Blake  <eblake@redhat.com>
10260         sys_types: avoid glibc 2.25 warnings about major()
10261         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Replace broken version in
10262         older autoconf.
10263         * doc/posix-headers/sys_types.texi (sys/types.h): Document fix.
10264         * doc/glibc-functions/gnu_dev_major.texi (gnu_dev_major): Likewise.
10265         * doc/glibc-functions/gnu_dev_makedev.texi (gnu_dev_makedev): Likewise.
10266         * doc/glibc-functions/gnu_dev_minor.texi (gnu_dev_minor): Likewise.
10268         mountlist: include sysmacros.h for glibc
10269         * m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include
10270         AC_HEADER_MAJOR.
10271         * lib/mountlist.c (includes): Use correct headers.
10273 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
10275         extensions: port to more ISO C TSes
10276         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Sync from Autoconf
10277         master, to add support for more recent ISO C TRs and TSes.
10279 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
10281         intprops: new macro TYPE_WIDTH
10282         * lib/intprops.h (TYPE_WIDTH): New macro.
10283         (TYPE_MAXIMUM, _GL_SIGNED_INT_MAXIMUM, INT_STRLEN_BOUND):
10284         * lib/ftoastr.h (_GL_FLOAT_DIG_BITS_BOUND):
10285         * lib/parse-datetime.y (parse_datetime2):
10286         Use it.
10288         extensions: port to recent ISO C TRs
10289         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
10290         Sync from Autoconf master, to add support for recent ISO C TRs.
10291         * m4/stdio_h.m4 (gl_STDIO_H): Define __USE_MINGW_ANSI_STDIO here,
10292         since AC_USE_SYSTEM_EXTENSIONS no longer does that as
10293         the MinGW option is not an extension.
10295 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
10297         dfa: port to Solaris 9
10298         Problems reported by Tom G. Christensen in:
10299         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00031.html
10300         * modules/dfa (Depends-on): Add isblank.
10301         * modules/dfa-tests (dfa_match_aux_LDADD):
10302         Rename from test_stat_LDADD, to fix typo.
10303         * tests/dfa-match.sh: Don't require 'timeout'; use it if available.
10305 2016-09-10  Jim Meyering  <meyering@fb.com>
10307         strverscmp: avoid link failure on OS X
10308         * lib/strverscmp.c [!weak_alias]: Define __strverscmp to strverscmp.
10309         Reported by Assaf Gordon in https://bugs.gnu.org/24256#26
10311 2016-08-16  Jim Meyering  <meyering@fb.com>
10313         dfa: new module, importing grep's DFA matcher
10314         Since grep's DFA matcher is now being used by two gnulib-enabled
10315         projects, grep and sed, it makes sense to version-control its
10316         sources and unit tests in one place: here.
10317         * modules/dfa: New module.
10318         * modules/dfa-tests: New file.
10319         * lib/dfa.c: New file, from grep.
10320         * lib/dfa.h: Likewise.
10321         * lib/localeinfo.c: Likewise.
10322         * lib/localeinfo.h: Likewise.
10323         * tests/dfa-match-aux.c: Likewise.
10324         * tests/dfa-invalid-char-class.sh: Likewise.
10325         * tests/dfa-match.sh: Likewise, with minor changes.
10326         * MODULES.html.sh (Misc): Add "dfa" to this list.
10328 2016-09-09  Jim Meyering  <meyering@fb.com>
10330         getprogname-tests: don't depend on assert-h
10331         * modules/getprogname-tests (Depends-on): Remove assert-h.
10332         It was not needed, and in fact would cause build failure for
10333         coreutils on some systems.  Reported by Assaf Gordon in https:
10334         //lists.gnu.org/r/coreutils/2016-09/msg00016.html
10336 2016-09-07  Jim Meyering  <meyering@fb.com>
10338         getprogname-tests: work also when EXEEXT is nonempty
10339         * modules/getprogname-tests (Makefile.am): Define EXEEXT.
10340         * tests/test-getprogname.c (main): Use it.
10341         Suggested by Gisle Vanem.
10343 2016-09-07  Gisle Vanem  <gvanem@yahoo.no>
10345         getprogname: fix errors in previous change
10346         * lib/getprogname.c (getprogname) [HAVE_GETEXECNAME]:
10347         s/program_invocation_name/base/
10348         [HAVE_DECL___ARGV]: Handle NULL __argv or __argv[0].
10350 2016-09-08  Pádraig Brady  <P@draigBrady.com>
10352         parse-datetime: restrict debug output to input string
10353         * lib/parse-datetime.y (parse_datetime2): If we parse
10354         all of the input but determine it's invalid, ensure
10355         we don't output the now invalid input pointer.
10356         This issue was seen with `date -d 'now +1'`.
10358 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
10360         flexmember: new macro FLEXALIGNOF
10361         * lib/flexmember.h: Include <stddef.h>, for offsetof.
10362         (FLEXALIGNOF): Rename from _GL_XALLOC_ALIGNOF, as Emacs can use
10363         this macro.  Update comments.
10365 2016-09-07  Jim Meyering  <meyering@fb.com>
10367         getprogname: port to systems with __argv (mingw, msvc)
10368         * lib/getprogname.c (getprogname): Include "dirname.h" and use
10369         last_component: more general than open coding it with hard-coded "/".
10370         * lib/getprogname.h (getprogname): Prefer "char const *" consistently.
10371         * modules/getprogname (Depends-on): Add dirname-lgpl.
10372         (configure.ac): Check for __argv in <stdlib.h>.
10373         * modules/getprogname-tests: New file.
10374         * tests/test-getprogname.c: New file.
10375         Suggested by Gisle Vanem in
10376         https://lists.gnu.org/r/bug-gnulib/2016-09/msg00014.html
10378 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
10380         flexmember: port better to GCC + valgrind
10381         With a char[] flexible array member in a struct with nontrivial
10382         alignment, GCC-generated code can access past the end of the
10383         array, because GCC assumes there are padding bytes to get the
10384         struct aligned.  So the common idiom of malloc (offsetof (struct
10385         s, m), n) does not properly allocate an n-byte trailing member, as
10386         malloc’s argument should be the next multiple of alignof (struct s).
10387         See GCC Bug#66661: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
10388         Although C11 apparently permits this GCC optimization (i.e., there
10389         was a bug in Gnulib not in GCC), possibly this is a defect in C11.
10390         See the thread containing:
10391         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00317.html
10392         * lib/flexmember.h: New file.
10393         * lib/fnmatch.c, lib/fts.c, lib/glob.c, lib/idcache.c:
10394         * lib/localename.c, lib/time_rz.c:
10395         Include flexmember.h.
10396         * lib/fnmatch_loop.c (struct patternlist):
10397         * lib/localename.c (struct hash_node):
10398         Use FLEXIBLE_ARRAY_MEMBER.
10399         * lib/fnmatch_loop.c (EXT):
10400         * lib/fts.c (fts_alloc):
10401         * lib/glob.c (glob_in_dir):
10402         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
10403         * lib/localename.c (gl_lock_define_initialized):
10404         * lib/time_rz.c (tzalloc):
10405         Use FLEXSIZEOF instead of offsetof.
10406         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
10407         Check that the size of the struct can be taken.
10408         * modules/flexmember (Files): Add lib/flexmember.h.
10409         * modules/fnmatch, modules/glob, modules/localename (Depends-on):
10410         Add flexmember.
10412 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
10414         getprogname: port to Solaris 10
10415         * lib/getprogname.c: Include stdlib.h, for getexecname decl.
10416         (getprogname) [HAVE_GETEXECNAME]: Use that, for Solaris 10.
10417         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Check for getexecname.
10419         stdalign: correct mistake in alignof doc
10420         Problem reported by Joseph Myers in:
10421         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00340.html
10422         * doc/posix-headers/stdalign.texi: Do not imply that C11 prohibits
10423         alignof(S) where S is a structure containing a flexible array
10424         member.  The Gnulib substitute does not support this, but C11 does.
10426 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
10428         main.mk: remove sc_program_name, since there is no more need to
10429         use set_program_name in tools (getprogname is enough for most
10430         of the cases).
10431         * cfg.mk (local-checks-to-skip): Remove sc_program_name.
10432         * top/maint.mk (sc_program_name): Remove.
10434 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
10436         Port tests away from progname, since modules that need the
10437         program name already depend on getprogname.
10438         * modules/acl-tests (Depends-on): Remove progname.
10439         * modules/argmatch (Depends-on): Likewise.
10440         * modules/argmatch-tests (Depends-on): Likewise.
10441         * modules/argp-tests (Depends-on): Likewise.
10442         * modules/argp-version-etc-tests (Depends-on): Likewise.
10443         * modules/array-list-tests (Depends-on): Likewise.
10444         * modules/array-oset-tests (Depends-on): Likewise.
10445         * modules/avltree-list-tests (Depends-on): Likewise.
10446         * modules/avltree-oset-tests (Depends-on): Likewise.
10447         * modules/avltreehash-list-tests (Depends-on): Likewise.
10448         * modules/carray-list-tests (Depends-on): Likewise.
10449         * modules/copy-file-tests (Depends-on): Likewise.
10450         * modules/exclude-tests (Depends-on): Likewise.
10451         * modules/fchownat-tests (Depends-on): Likewise.
10452         * modules/fdopendir-tests (Depends-on): Likewise.
10453         * modules/filenamecat-tests (Depends-on): Likewise.
10454         * modules/fstatat-tests (Depends-on): Likewise.
10455         * modules/fstrcmp-tests (Depends-on): Likewise.
10456         * modules/linked-list-tests (Depends-on): Likewise.
10457         * modules/linkedhash-list-tests (Depends-on): Likewise.
10458         * modules/mkdirat-tests (Depends-on): Likewise.
10459         * modules/nonblocking-pipe-tests (Depends-on): Likewise.
10460         * modules/nonblocking-socket-tests (Depends-on): Likewise.
10461         * modules/obstack-printf-tests (Depends-on): Likewise.
10462         * modules/openat-tests (Depends-on): Likewise.
10463         * modules/parse-datetime-tests (Depends-on): Likewise.
10464         * modules/pipe-filter-gi-tests (Depends-on): Likewise.
10465         * modules/pipe-filter-ii-tests (Depends-on): Likewise.
10466         * modules/quotearg-simple-tests (Depends-on): Likewise.
10467         * modules/quotearg-tests (Depends-on): Likewise.
10468         * modules/rbtree-list-tests (Depends-on): Likewise.
10469         * modules/rbtree-oset-tests (Depends-on): Likewise.
10470         * modules/rbtreehash-list-tests (Depends-on): Likewise.
10471         * modules/spawn-pipe-tests (Depends-on): Likewise.
10472         * modules/system-quote-tests (Depends-on): Likewise.
10473         * modules/uniname/uniname-tests (Depends-on): Likewise.
10474         * modules/uninorm/nfc-tests (Depends-on): Likewise.
10475         * modules/uninorm/nfd-tests (Depends-on): Likewise.
10476         * modules/uninorm/nfkc-tests (Depends-on): Likewise.
10477         * modules/uninorm/nfkd-tests (Depends-on): Likewise.
10478         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Likewise.
10479         * modules/unistdio/u16-vsprintf-tests (Depends-on): Likewise.
10480         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Likewise.
10481         * modules/unistdio/u32-vsprintf-tests (Depends-on): Likewise.
10482         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Likewise.
10483         * modules/unistdio/u8-vsprintf-tests (Depends-on): Likewise.
10484         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Likewise.
10485         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Likewise.
10486         * modules/unlinkat-tests (Depends-on): Likewise.
10487         * modules/version-etc-tests (Depends-on): Likewise.
10488         * modules/xalloc-die-tests (Depends-on): Likewise.
10489         * modules/xmemdup0-tests (Depends-on): Likewise.
10490         * modules/xprintf-posix-tests (Depends-on): Likewise.
10491         * modules/xvasprintf-tests (Depends-on): Likewise.
10492         * tests/test-argmatch.c: Do not include progname.h.
10493         (main) Stop calling set_program_name.
10494         * tests/test-argp-version-etc.c: Likewise.
10495         * tests/test-argp.c: Likewise.
10496         * tests/test-argv-iter.c: Likewise.
10497         * tests/test-array_list.c: Likewise.
10498         * tests/test-array_oset.c: Likewise.
10499         * tests/test-avltree_list.c: Likewise.
10500         * tests/test-avltree_oset.c: Likewise.
10501         * tests/test-avltreehash_list.c: Likewise.
10502         * tests/test-carray_list.c: Likewise.
10503         * tests/test-copy-acl.c: Likewise.
10504         * tests/test-copy-file.c: Likewise.
10505         * tests/test-exclude.c: Likewise.
10506         * tests/test-fchownat.c: Likewise.
10507         * tests/test-fdopendir.c: Likewise.
10508         * tests/test-filenamecat.c: Likewise.
10509         * tests/test-fstatat.c: Likewise.
10510         * tests/test-fstrcmp.c: Likewise.
10511         * tests/test-linked_list.c: Likewise.
10512         * tests/test-linkedhash_list.c: Likewise.
10513         * tests/test-mkdirat.c: Likewise.
10514         * tests/test-nonblocking-pipe-main.c: Likewise.
10515         * tests/test-nonblocking-socket-main.c: Likewise.
10516         * tests/test-obstack-printf.c: Likewise.
10517         * tests/test-openat.c: Likewise.
10518         * tests/test-parse-datetime.c: Likewise.
10519         * tests/test-pipe-filter-gi1.c: Likewise.
10520         * tests/test-pipe-filter-gi2-main.c: Likewise.
10521         * tests/test-pipe-filter-ii1.c: Likewise.
10522         * tests/test-pipe-filter-ii2-main.c: Likewise.
10523         * tests/test-quotearg-simple.c: Likewise.
10524         * tests/test-quotearg.c: Likewise.
10525         * tests/test-rbtree_list.c: Likewise.
10526         * tests/test-rbtree_oset.c: Likewise.
10527         * tests/test-rbtreehash_list.c: Likewise.
10528         * tests/test-sameacls.c: Likewise.
10529         * tests/test-set-mode-acl.c: Likewise.
10530         * tests/test-spawn-pipe-main.c: Likewise.
10531         * tests/test-system-quote-main.c: Likewise.
10532         * tests/test-unlinkat.c: Likewise.
10533         * tests/test-version-etc.c: Likewise.
10534         * tests/test-xalloc-die.c: Likewise.
10535         * tests/test-xfprintf-posix.c: Likewise.
10536         * tests/test-xmemdup0.c: Likewise.
10537         * tests/test-xprintf-posix.c: Likewise.
10538         * tests/test-xvasprintf.c: Likewise.
10539         * tests/uniname/test-uninames.c: Likewise.
10540         * tests/uninorm/test-u32-nfc-big.c: Likewise.
10541         * tests/uninorm/test-u32-nfd-big.c: Likewise.
10542         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
10543         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
10544         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
10545         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
10546         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
10547         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
10548         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
10549         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
10550         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
10551         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
10552         * tests/test-c-stack.c: (program_name): Do not define.
10553         (main): Do not set program_name.
10554         * tests/test-closein.c: Likewise.
10555         * tests/test-xstrtol.c: Likewise.
10556         * tests/test-yesno.c: Likewise.
10558 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
10560         Port modules to use getprogname explicitly, instead of requiring
10561         progname to be used (or program_name to be provided).
10562         * lib/argmatch.c: Do not include progname.h.
10563         [TEST] (program_name): Do not define.
10564         [TEST] (main): Call getprogname instead of using program_name.
10565         * lib/c-stack.c: Do not include progname.h.
10566         (program_name): Do not define.
10567         (die): Call getprogname instead of using program_name.
10568         * lib/chdir-long.c: Do not include progname.h.
10569         [TEST_CHDIR] (main): Do not set program_name.
10570         * lib/error.c [!_LIBC]: Include progname.h.
10571         [!_LIBC] (program_name): Define using getprogname.
10572         * lib/euidaccess.c: Do not include progname.h.
10573         [TEST] (main): Do not set program_name.
10574         * lib/git-merge-changelog.c: Include getprogname.h instead of
10575         progname.h.
10576         (usage): Call getprogname instead of using program_name.
10577         (main): Likewise.  Stop calling set_program_name.
10578         * lib/group-member.c: Do not include progname.h.
10579         [TEST] (main): Do not set program_name.
10580         * modules/argmatch (Depends-on): Add getprogname.
10581         * modules/c-stack (Depends-on): Likewise.
10582         * modules/error (Depends-on): Likewise.
10583         * modules/git-merge-changelog (Depends-on): Likewise.
10584         Also remove progname.
10586 2016-09-05  Pino Toscano  <ptoscano@redhat.com>
10588         * NEWS: Document the deprecation of the 'progname' module.
10590 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
10592         getprogname: new module
10593         This provides a LGPL module for getting the name of the current
10594         program, using the same API found on *BSD systems.
10595         * lib/getprogname.c, lib/getprogname.h, m4/getprogname.m4:
10596         * modules/getprogname: New files.
10597         * MODULES.html.sh (Misc): Add getprogname.
10599 2016-09-02  Jim Meyering  <meyering@fb.com>
10601         manywarnings: add -fno-common
10602         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -fno-common
10603         to the list.  Quoting the manual, "Compiling with -fno-common is
10604         useful on targets for which it provides better performance, or if
10605         you wish to verify that the program will work on other systems that
10606         always treat uninitialized variable declarations this way [putting
10607         it in the data section]."  If diffutils had been using this sooner,
10608         it would have prevented this duplicate declaration issue:
10609         http://git.sv.gnu.org/cgit/diffutils.git/commit/?id=v3.4-10-gc2dc91f
10611 2016-08-31  Simon Josefsson  <simon@josefsson.org>
10613         parse-datetime: Fix typo.
10614         * lib/parse-datetime.y (parse_datetime2): Fix typo.
10616 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
10618         intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
10619         * lib/intprops.h (INT_NEGATE_OVERFLOW): Tune for platforms like
10620         GCC 5 and 6 that have __builtin_sub_overflow but not
10621         __builtin_sub_overflow_p.  With the recent changes, these
10622         platforms are a tiny bit faster with the INT_NEGATE_RANGE_OVERFLOW
10623         implementation than with INT_SUBTRACT_OVERFLOW implementation,
10624         since the former needs just one runtime comparison whereas the
10625         latter needs two.
10627         strverscmp: sync with glibc
10628         Although this doesn't exactly synchronize with glibc
10629         byte-for-byte, it makes the code behave the same as glibc.
10630         * lib/strverscmp.c (S_I, S_F, S_Z): Now masks, not powers of 2.
10631         (ISDIGIT): Remove, as glibc is sticking with isdigit, and the
10632         difference shouldn't matter in practical use.  All uses changed
10633         back to isdigit.
10634         (__strverscmp, strverscmp): Use new glibc method for weak aliases.
10635         (next_state): Now unsigned char array; redo elements.
10636         (result_type): Now signed char array; redo elements.
10637         (__strverscmp): Fix glibc bug 9913 by using new states.
10638         * tests/test-strverscmp.c (main): Test glibc bug 9913.
10640 2016-08-29  Jim Meyering  <meyering@fb.com>
10642         xalloc-oversized.h: port __builtin_mul_overflow change to GCC 6.2.0
10643         * lib/xalloc-oversized.h: Port this change to GCC 6.2.0, too,
10644         similarly to how it was done to intprops.h.
10646 2016-08-29  Paul Eggert  <eggert@cs.ucla.edu>
10648         intprops.h: port recent changes to GCC 6.2.0
10649         * lib/intprops.h (__has_builtin): Move earlier.
10650         (_GL_HAS_BUILTIN_OVERFLOW): Rename from
10651         _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL and don't worry about whether
10652         the last argument can be null.  All uses changed.
10653         (_GL_HAS_BUILTIN_OVERFLOW_P): Also test __has_builtin.
10654         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
10655         Don't try to use 3rd arg null, as this doesn't work on GCC 6.2.0
10656         and it's not clear which GCC versions it works for.
10657         (_GL_INT_OP_WRAPV): Use _GL_HAS_BUILTIN_OVERFLOW instead of
10658         its definiens.
10660         intprops.h: use __typeof__ with GCC 7
10661         * lib/intprops.h (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW)
10662         (_GL_MULTIPLY_OVERFLOW): Use __typeof__ as in the GCC manual.
10663         This avoids computing the expression's value (which might overflow!).
10665 2016-08-29  Jim Meyering  <meyering@fb.com>
10667         intprops.h, xalloc-oversized.h: work with gcc 7
10668         In gcc 6, __builtin_add_overflow, __builtin_sub_overflow and
10669         __builtin_mul_overflow each accept a NULL pointer as the third
10670         argument.  However in gcc 7, that is no longer accepted.
10671         Instead, one must use the "_p"-suffixed names, with which, the
10672         third parameter is no longer a pointer.
10673         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): Correct
10674         the definition: not true for gcc 7 and subsequent.
10675         (_GL_HAS_BUILTIN_OVERFLOW_P): Define.
10676         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
10677         Provide new definitions for gcc 7 and subsequent.
10678         * lib/xalloc-oversized.h (xalloc_oversized): Provide a definition
10679         that works with gcc-7.
10681         intprops.h: fix missing-backslash problems
10682         * lib/intprops.h (_GL_ADD_OVERFLOW): Add backslash.
10683         (_GL_SUBTRACT_OVERFLOW,_GL_MULTIPLY_OVERFLOW): Likewise.
10685 2016-08-24  Paul Eggert  <eggert@cs.ucla.edu>
10687         intprops: fix paren typo on old platforms
10688         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300#13
10689         * lib/intprops.h (_GL_INT_OP_WRAPV_LONGISH)
10690         [__GNUC__ < 5 && !__has_builtin (__builtin_add_overflow)
10691         && (__STDC_VERSION__ < 201112 || _GL__GENERIC_BOGUS)
10692         && !defined LLONG_MAX]:
10693         Remove stray paren.
10695         intprops: port to OpenVMS
10696         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300
10697         * doc/posix-headers/limits.texi: Document the problem.
10698         * lib/intprops.h (LLONG_MAX, LLONG_MIN) [__INT64_MAX]:
10699         Define if not already defined.
10701 2016-08-19  Assaf Gordon  <assafgordon@gmail.com>
10703         parse-datetime: improve debug implementation
10704         Follow-up to commit 12ad79069 ("add optional debug printing").
10705         Improve parse-datetime's debug implementation: remove macros,
10706         replace global debug flag variable with a function parameter,
10707         use nstrftime for formatting.
10708         See: https://lists.gnu.org/r/bug-gnulib/2016-08/msg00021.html
10709         * lib/parse-datetime.h: (parse_datetime_debug): Remove global extern.
10710         (parse_datetime2): New function, accepts 'flags' parameter, supporting
10711         debug flag. Existing interface 'parse_datetime' left unmodified.
10712         * lib/parse-datetime.c: (parse_datetime_debug): Remove global variable.
10713         (struct parser_control): add 'parse_datetime_debug' member variable.
10714         (parse_datetime): Call new function 'parse_datetime2' without debug.
10715         (parse_datetime2): Adapted from previous 'parse_datetime', initialize
10716         pc.parse_datetime_debug variable as needed.
10717         (to_year): Accept new flags parameter, instead of using global variable.
10718         (debug_print_current_time,debug_print_relative_time,debug_mktime_not_ok):
10719         use struct 'debug' variable instead of global variable.
10720         (DEBUG,DEBUG_PRINT_CURRENT_TIME,DEBUG_PRINT_RELATIVE_TIME,
10721         DEBUG_MKTIME_NOT_OK,PROGRESS,PROGRESS0): Remove macros. Call
10722         correspnding functions directly instead of using macros.
10723         * modules/parse-datetime: Add gnulib's strftime module.
10725 2016-08-19  Daniel Richard G.  <skunk@iSKUNK.ORG>
10727         c-strcase-tests: port to EBCDIC
10728         * tests/test-c-strncasecmp.c: Allow two c_strncasecmp calls
10729         which assume ASCII encoding semantics to run only in ASCII
10730         mode, as they fail in EBCDIC.
10732         sigpipe-tests: fix typo
10733         * tests/test-sigpipe.sh: C, not B.
10735 2016-08-18  Paul Eggert  <eggert@cs.ucla.edu>
10737         canonicalize-lgpl: fix errno after malloca fails
10738         This fixes a typo I recently introduced.  Suggested by Bruno Haible in:
10739         http://lists.gnu.org/r/bug-gnulib/2016-08/msg00039.html
10740         * lib/canonicalize-lgpl.c (__realpath):
10741         Don't assume malloca sets errno on failure.
10743 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
10745         strtod: port errno handling to z/OS
10746         * lib/strtod.c (strtod): Save and restore errno more reliably.
10748 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
10750         strtod: port to z/OS
10751         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
10752         implementation.
10754 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
10756         strtod: port to z/OS
10757         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
10758         implementation.
10760         regex, string: rename to avoid '__string'
10761         * lib/regex.h, lib/string.in.h: Do not use the identifier
10762         '__string', as it is effectively reserved by string.h on z/OS.
10764         c-strcase-tests, wcwidth-tests: depend on c-ctype
10765         * modules/c-strcase-tests, modules/wcwidth-tests (Depends-on):
10766         Add c-ctype.
10768 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
10770         thread: port to z/OS
10771         * lib/glthread/thread.c, lib/glthread/thread.h:
10772         Rudimentary gl_thread support for z/OS.
10774         maint: port tests to z/OS errno behavior
10775         * tests/test-nonblocking-reader.h:
10776         * tests/test-nonblocking-writer.h:
10777         Accommodate z/OS errno code preferences. (I believe this should
10778         still be within spec; IBM is good at following the letter if not
10779         the spirit of such things.)
10781         maint: preprocessor changes to support z/OS
10782         * lib/alloca.in.h, lib/fnmatch.c, lib/get-rusage-as.c:
10783         * lib/glob.c, lib/math.in.h, lib/ptsname_r.c:
10784         * tests/infinity.h, tests/nan.h, tests/test-canonicalize-lgpl.c:
10785         * tests/test-nonblocking-pipe.h:
10787         fclose, strstr-simple, wchar: port to z/OS
10788         * m4/fclose.m4, m4/strstr.m4, m4/wchar_h.m4:
10789         Changes to the Autoconf M4 code to support z/OS.  Note that
10790         fclose() is broken in a different way on z/OS than it is on other
10791         systems, thus the special-case in fclose.m4.
10793         iconv_open-utf-tests, iconv-tests: port to EBCDIC
10794         * tests/test-iconv-utf.c, tests/test-iconv.c:
10795         Added appropriately conditional #pragmas so that the test strings
10796         in test-iconv-utf.c are correctly interpreted in ASCII instead of
10797         EBCDIC (i.e. 'J' == 0x4A and not 0xD1). This issue could be
10798         addressed in a more portable way by simply rewriting all the ASCII
10799         literal characters as octal escapes, but then you would lose the
10800         partial readability that the strings have now. Also, iconv_open()
10801         on z/OS does not recognize "ISO-8859-1", but "ISO8859-1" works.
10803         c-strcase-tests, wcwidth-tests: port to EBCDIC
10804         * tests/test-c-strcasecmp.c: Include c-ctype.h.
10805         (main) [!C_CTYPE_ASCII]: Skip tests that assume ASCII.
10806         * tests/test-wcwidth.c: Likewise.
10808 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
10810         stdbool: don't require _Bool for C++
10811         Problem reported by David Seifert in:
10812         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00005.html
10813         * NEWS, doc/posix-headers/stdbool.texi (stdbool.h): Document this.
10814         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Make the check
10815         more-forgiving for C++, in that it requires only 'bool'.  Be a bit
10816         stricter about checking that bool and _Bool are compatible in C.
10818 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
10820         getdelim: remove dependency on realloc-posix
10821         * lib/canonicalize-lgpl.c (alloc_failed)
10822         [!FUNC_REALPATH_WORKS || defined _LIBC]: New function,
10823         (__realpath) [!FUNC_REALPATH_WORKS || defined _LIBC]: Use it.
10824         Use __set_errno where needed, for consistency.
10825         * lib/getdelim.c (alloc_failed): New function.
10826         (getdelim): Use it.
10828 2016-08-09  Assaf Gordon  <assafgordon@gmail.com>
10830         parse-datetime: add optional debug printing
10831         Print parsing information, warnings, and errors to stderr.
10832         * lib/parse-datetime.h (parse_datetimte_debug): New global variable.
10833         * lib/parse-datetime.y:
10834         (DEBUG_*):  Macros calling debug functions if debugging is enabled.
10835         (PROGRESS*): Same as DEBUG, for progress reporting.
10836         (dbg_printf): Print message to stderr, with 'date' prefix.
10837         (struct parser_control): Add 'debug_*_seen' variables.
10838         (str_days): Converts day ordinal/number to string (e.g. 'last wed').
10839         (debug_print_current_time, debug_print_relateive_time): Prints the
10840         current/relative date/time value of parser_control.
10841         (YACC parser syntax): Print parsed parts with DEBUG_* macros.
10842         (to_year): Warn about 2-digit year parsing.
10843         (yylex):   Warn about unrecognized words.
10844         (get_effective_timezone): Returns current timezone in minutes.
10845         (debug_strf{time,date,datetime}): Convert 'struct tm' to string as
10846         clearly and unambigiously as possible.
10847         (debug_mktime_not_ok): Print detailed information about failed
10848         date/time values.
10849         (parse_datetime): Add DEBUG messages for failures, warnings. Add
10850         PROGRESS messages for status messages.
10851         * modules/parse-datetime: Add 'timegm', 'gettext-h' dependencies.
10853 2016-08-06  Jim Meyering  <meyering@fb.com>
10855         tests/init.sh: exclude dash with bad "local" semantics
10856         * tests/init.sh (gl_shell_test_script_): Add a function to
10857         eliminate a shell like "dash" (unlike bash, zsh) that has
10858         surprising/risky "local var='...'" semantics.  Inspired by
10859         the problem and discussion in https://bugs.gnu.org/24116#11.
10861 2016-08-02  Ján Tomko  <jtomko@redhat.com>
10863         maint.mk: expand the prohibit_doubled_word regex
10864         This check has a static list of words that are checked for
10865         repetitions.  Expand it before running the perl script to
10866         avoid using expensive captures.  This decreases the cost
10867         for libvirt from 1.66s to 0.66s.
10868         * top/maint.mk (prohibit_doubled_word_expanded_): Define.
10869         (sc_prohibit_doubled_word): Use it.
10871 2016-07-26  Ján Tomko  <jtomko@redhat.com>
10873         useless-if-before-free: skip non-matching lines early
10874         * build-aux/useless-if-before-free: First match each line with the
10875         simple/quick /\bif\b/ and reject if there is no match. This often
10876         saves the cost of the much more involved regular expression.
10877         For libvirt, this decreases the cost from 1.44s to 1.02s.
10879 2016-07-26  Ján Tomko  <jtomko@redhat.com>
10881         maint.mk: speed up sc_po_check
10882         sc_po_check would skip files based on their names, or on the
10883         existence of files with derived names. Rewrite it to use perl
10884         instead of shell to make the check faster.
10885         * top/maint.mk (perl_translatable_files_list_): Define.
10886         (sc_po_check): Use it.
10888 2016-07-30  Ján Tomko  <jtomko@redhat.com>
10890         maint.mk: speed up require_config_h_first
10891         Instead of spawning three processes per file,
10892         rewrite the check in perl and run it once for all the files.
10893         * top/maint.mk (perl_config_h_first_): Define.
10894         (sc_require_config_h_first): Use it in place of shell code.
10896 2016-07-26  Ján Tomko  <jtomko@redhat.com>
10898         maint.mk: speed up sc_po_check
10899         sc_po_check would skip files based on their names, or on the
10900         existence of files with derived names. Rewrite it to use perl
10901         instead of shell to make the check faster.
10902         * top/maint.mk (perl_translatable_files_list_): Define.
10903         (sc_po_check): Use it.
10905 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
10907         obstack: pacify GCC 6 with -Wnull-dereference
10908         Problem reported by Assaf Gordon in:
10909         http://lists.gnu.org/r/bug-gnulib/2016-07/msg00028.html
10910         * lib/obstack.c, lib/obstack.h (obstack_alloc_failed_handler):
10911         Declare with __attribute_noreturn__.
10912         * lib/obstack.h (__attribute_noreturn__): New macro.
10914 2016-07-13  Eric Blake  <eblake@redhat.com>
10916         doc: mention glibc, OS X, Cygwin [S]SIZE_MAX buglet
10917         * doc/posix-headers/stdint.texi (stdint.h): Document the bugs.
10918         * doc/posix-headers/limits.texi (limits.h): Document the bugs.
10920 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
10922         doc: mention glibc SSIZE_MAX buglet
10923         * doc/posix-headers/limits.texi (limits.h): Document the bug.
10925 2016-07-04  Martin Kletzander  <mkletzan@redhat.com>
10927         printf-posix: Fix mingw build
10928         Commit 54615b95ff238e235e806855efc46a9abad09f2e changed the regular
10929         expression for detecting C symbol prefixes but forgot to qoute square
10930         brackets in the command line arguments for grep.  That way when
10931         building with mingw the condition was false although it ought to be
10932         true instead.  In particular scenarios this led to the following
10933         compile error:
10935             Cannot export rpl_printf: symbol not found
10936             Cannot export rpl_scanf: symbol not found
10937             collect2: error: ld returned 1 exit status
10939         Fix this by properly quoting square brackets.
10941 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
10943         mktime: call tzset as per POSIX
10944         Problem reported by Ludovic Courtès in:
10945         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00068.html
10946         * lib/mktime.c (mktime) [!_LIBC && HAVE_TZSET]: Call tzset.
10947         * m4/mktime.m4 (gl_FUNC_MKTIME): Check for tzset.
10949 2016-06-26  Pádraig Brady  <P@draigBrady.com>
10951         fts: handle readdir() errors
10952         * lib/fts.c (fts_build): readdir(3) returns NULL when finished,
10953         but also upon error when it will also set errno.  Therefore
10954         flag the error case from readdir().  We treat the case where
10955         no items are read the same as if the dir can't be accessed,
10956         i.e. by setting fts_errno to FTS_DNR.
10958 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
10960         intprops: port better to GCC 7
10961         GCC 7 __builtin_add_overflow supports a new usage form, where the
10962         last argument is a null pointer, and which merely returns 1 if an
10963         overflow would occur.  This is a constant expression if all
10964         arguments are constants, and should generate faster code when code
10965         needs to be generated.
10966         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): New macro.
10967         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
10968         Use builtin operations if available.
10969         (INT_NEGATE_OVERFLOW): Prefer INT_SUBTRACT_OVERFLOW if builtin
10970         operations are available, as it's almost surely faster.
10972 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
10974         intprops-test: port to GCC 6
10975         * tests/test-intprops.c: Ignore -Woverflow if any GCC version,
10976         since the bug is not fixed in GCC 6.1.
10978 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
10980         xalloc-oversized: port to GCC 7; fewer warnings
10981         GCC 7 will have a better way to deal with integer overflow.
10982         Plus, fix a warnings problem reported by Tim Ruehsen in:
10983         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00022.html
10984         * lib/xalloc-oversized.h (__xalloc_oversized): New macro.
10985         (xalloc_oversized): Use plain __builtin_mul_overflow if GCC 7 or later.
10986         For GCC 5, use __xalloc_oversized if both args are constants,
10987         or if pedantic.
10989 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
10991         regex: port to Sun C
10992         Reported by Daiki Ueno.
10993         * lib/regcomp.c (regcomp, regerror): Use _Restrict_, not
10994         __restrict, in prototype.  This fixes a problem I introduced in
10995         the 2016-02-19 merge from glibc.
10997 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
10999         stdbool: Restore __bool_true_false_are_defined check
11000         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL):
11001         __bool_true_false_are_defined is still defined, even with C++11.
11003 2016-05-31  David Seifert  <soap@gentoo.org>  (tiny change)
11005         stdbool: Port AC_CHECK_HEADER_STDBOOL to C++11
11006         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Port to C++11.
11008 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
11010         Use GCC_LINT, not lint
11011         FreeBSD and Cygwin #define _Noreturn to empty if 'lint' is defined.
11012         Problem reported by Ken Brown in: http://bugs.gnu.org/23640
11013         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
11014         Document problem with lint and _Noreturn.
11015         * lib/diffseq.h (IF_LINT, IF_LINT2):
11016         * lib/fts.c (sccsid):
11017         * lib/getndelim2.c (IF_LINT):
11018         * lib/gl_anylinked_list2.h (gl_linked_iterator)
11019         (gl_linked_iterator_from_to):
11020         * lib/gl_anytree_list2.h (gl_tree_iterator)
11021         (gl_tree_iterator_from_to):
11022         * lib/gl_anytree_oset.h (gl_tree_iterator):
11023         * lib/gl_array_list.c (gl_array_iterator)
11024         (gl_array_iterator_from_to):
11025         * lib/gl_array_oset.c (gl_array_iterator):
11026         * lib/gl_carray_list.c (gl_carray_iterator)
11027         (gl_carray_iterator_from_to):
11028         * lib/idcache.c:
11029         * lib/inet_ntop.c (IF_LINT):
11030         * lib/regcomp.c (build_charclass_op, create_tree):
11031         * lib/regex_internal.c (re_acquire_state)
11032         (re_acquire_state_context):
11033         * lib/trigl.c (rcsid):
11034         * lib/trim.c (IF_LINT):
11035         * lib/vasnprintf.c (IF_LINT):
11036         * lib/verify.h (assume):
11037         Treat GCC_LINT like lint.
11039 2016-05-29  Bruno Haible  <bruno@clisp.org>
11041         secure_getenv: Port to many more platforms.
11042         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV): Also check for get*id
11043         functions.
11044         * lib/secure_getenv.c (secure_getenv): Add alternate implementations
11045         for non-BSD Unix platforms and for native Windows.
11046         * doc/glibc-functions/secure_getenv.texi: Remove known issue.
11047         Prompted by a request from Nikos Mavrogiannopoulos.
11049 2016-05-27  Eric Blake  <eblake@redhat.com>
11051         canonicalize: Fix broken probe for realpath.
11052         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Fix regression
11053         in logic introduced in 54615b95.
11055 2016-05-26  Eric Blake  <eblake@redhat.com>
11057         unsetenv: relax to LGPLv2+
11058         * modules/unsetenv (License): Match setenv license.
11060 2016-05-20  Ludovic Courtès  <ludo@gnu.org>
11062         gendocs.sh: Set default TOP_NODE_UP_URL in HTML output.
11063         Suggested by Gavin Smith <gavinsmith0123@gmail.com>.
11064         Reported by myglc2 <myglc2@gmail.com> in <http://bugs.gnu.org/22651>.
11065         * build-aux/gendocs.sh (MANUAL_TITLE, PACKAGE, EMAIL)
11066         (commonarg, dirargs, dirs, infoarg, generate_ascii)
11067         (generate_html, generate_info, generate_tex, outdir)
11068         (source_extra, split, srcfile, texarg): Move above 'version'.
11069         (htmlarg): Likewise, and add "-c TOP_NODE_UP_URL=/manual".
11071 2016-05-17  Paul Eggert  <eggert@cs.ucla.edu>
11073         manywarnings: update for GCC 6.1
11074         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
11075         Add GCC 6.1 options that apply to C.
11076         * build-aux/gcc-warning.spec: Add GCC 6.1 options that
11077         do not apply to C, are obsolescent, etc.
11079 2016-05-12  Paul Eggert  <eggert@cs.ucla.edu>
11081         glob: size_t overflow checks
11082         * lib/glob.c (__has_builtin): New macro.
11083         (size_add_wrapv, glob_use_alloca): New static functions.
11084         (glob, glob_in_dir): Check for size_t overflow in several places,
11085         and fix some size_t checks that were not quite right.
11087         glob: don't assume INT_MAX < SIZE_MAX
11088         * lib/glob.c (glob): Prefer SIZE_MAX to ~((size_t) 0), as the
11089         latter is not portable to (probably theoretical) hosts where
11090         SIZE_MAX <= INT_MAX.
11092 2016-05-09  Bruno Haible  <bruno@clisp.org>
11094         Fix undefined behaviour in gettext.h.
11095         * lib/gettext.h (dcpgettext_expr, dcnpgettext_expr): Avoid accessing a
11096         pointer's value after the storage it points to has been freed.
11097         Reported by Michael Pyne in https://savannah.gnu.org/bugs/?47847.
11098         Spotted by Coverity.
11100 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
11102         git-version-gen: avoid undefined shift
11103         Problem reported by Mosè Giordano in:
11104         http://lists.gnu.org/r/bug-gnulib/2016-05/msg00012.html
11105         * build-aux/git-version-gen: Avoid undefined behavior if invoked
11106         with --prefix or --fallback but without a later argument.  While
11107         we're at it, omit unnecessary quotes.
11109 2016-05-04  Paul Eggert  <eggert@cs.ucla.edu>
11111         glob: merge glibc changes into lib/glob.c
11112         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c,
11113         dated 2016-05-04 12:09:35 2016 +0200.  Here are the changes:
11114         2016-05-04 CVE-2016-1234: glob: Do not copy d_name field of
11115           struct dirent [BZ #19779]
11116         2016-04-29 glob: Simplify the interface for the GLOB_ALTDIRFUNC
11117           callback gl_readdir
11118         2015-10-20 Convert miscellaneous function definitions to prototype style
11119         2015-10-20 Convert 113 more function definitions to prototype style
11120           (files with assertions)
11121         2015-06-12 Fix getlogin_r namespace (bug 18527).
11122         2014-02-10 Use glibc_likely instead __builtin_expect.
11123         2013-10-20 When glob pattern contains a trailing slash match only
11124           directories. Fixes bug 10278.
11125         2013-09-04 glob: silence -Wattribute warnings
11126         2013-06-07 Avoid use of "register" as optimization hint.
11127         2012-09-25 Use size_t instead of int for internal variables in glob
11128           (bug 14621)
11129         2011-07-20 Check for overflows in expressions
11130         2011-05-28 Remove unused variable
11131         2011-05-22 Add a few more alloca size checks
11132         2010-03-27 Whitespace fixes
11133         2010-03-27 Fix one more issue with the glob patch
11134         2010-03-24 Fix glob with empty pattern
11135         2008-05-27 Remove useless more "if" tests before "free"
11136         * modules/glob (Depends-on): Add stdint.
11138 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
11140         mktime: port to stricter signed overflow checking
11141         * lib/mktime.c: Omit 'pragma GCC optimize ("wrapv")'.
11142         (long_int): Require width for INT_MAX * 3 * (seconds per year),
11143         instead of merely for INT_MAX * 2.  In practice platforms that
11144         do the latter also do the former.
11145         (TIME_T_MIN, TIME_T_MAX, TIME_T_MIDPOINT, SHR): Remove.
11146         (shr): New static function, replacing SHR.  All uses changed.
11147         (mktime_min, mktime_max): New constants, replacing TIME_T_MIN
11148         and TIME_T_MAX.  All uses changed.
11149         (ydhms_diff, guess_time_tm, ranged_convert, __mktime_internal):
11150         Use long_int, not time_t.
11151         (long_int_avg): New static function, replacing time_t_avg.
11152         All uses changed.  Round toward positive infinity, as that
11153         generates slightly better code.
11154         (time_t_add_ok, time_t_int_add_ok): Remove.  All uses replaced
11155         by INT_ADD_WRAPV.
11156         (guess_time_tm): Accept time, not a pointer to it.  All uses changed.
11157         (convert_time): New static function.
11158         (ranged_convert): Use it
11159         (ranged_convert): Check for *T out of [mktime_min, mktime_max] range.
11160         Use simpler test for loop exit.
11161         (__mktime_internal): Store negative of guessed offset, to simplify
11162         overflow checking.  Remove no-longer-needed test for small time_t
11163         overflows.
11165         mktime: speed up DEBUG_MKTIME benchmarks
11166         Call tzset just once, at the start, rather than for every test
11167         case.  This lets us measure the CPU cost of mktime as opposed to
11168         that of tzset.  This is relevant when TZ is not set and glibc is
11169         being used.  This speeds up tests by a factor of 40 on my Fedora
11170         23 x86-64 platform.
11171         * lib/mktime.c (main) [DEBUG_MKTIME]: Call localtime at the start,
11172         to call tzset and as a sanity check.  Later on, use localtime_r
11173         instead of localtime.
11175         mktime: resurrect DEBUG_MKTIME testing
11176         * lib/mktime.c [DEBUG_MKTIME]: Do not include <config.h>.
11177         Include <string.h>, for strcmp.
11179         mktime: simplify DEBUG_MKTIME
11180         * lib/mktime.c (DEBUG_MKTIME): Define to 0 if not defined.
11181         Simplify later usage accordingly.
11183         Port mktime_internal offset to unsigned time_t
11184         This avoids some assumptions about wraparound arithmetic on
11185         signed integer overflow.
11186         * lib/mktime-internal.h (mktime_offset_t): New type.
11187         (mktime_internal): Use it in decl.
11188         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]: New type.
11190         * lib/mktime.c (__mktime_internal, localtime_offset):
11191         * lib/timegm.c (timegm): Use it.
11192         * m4/mktime.m4 (gl_TIME_T_IS_SIGNED): New macro.
11193         (gl_FUNC_MKTIME): Require it.
11195 2016-04-27  Paul Eggert  <eggert@cs.ucla.edu>
11197         xstrtol: prohibit monstrosities like "1bB"
11198         Problem reported by Young Mo Kang in: http://bugs.gnu.org/23388
11199         * lib/xstrtol.c (__xstrtol): Allow trailing second suffixes like
11200         "B" only if the first suffix needs a base.
11201         * tests/test-xstrtol.sh: Test this.
11203 2016-04-21  Pádraig Brady  <P@draigBrady.com>
11205         xstrtod: reinstate setting of *result upon ERANGE
11206         * lib/xstrtod.c (XSTRTOD): The user may decide to use
11207         the returned limits upon ERANGE, so allow and document that.
11209 2016-04-20  Tino Calancha  <f92capac@gmail.com>  (tiny change)
11211         xstrtod: modify *result only if no errors
11212         * lib/xstrtod.c (XSTRTOD).
11214 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
11216         btowc: document problems in C locale
11217         * doc/posix-functions/btowc.texi (btowc): Mention incompatibility
11218         with mbrtowc.  See: http://bugs.gnu.org/23269#32
11220 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
11222         mktime: improve integer overflow checking
11223         * lib/mktime.c: Include stdbool.h, intprops.h, verify.h.
11224         (WRAPV): Remove; no longer needed.
11225         (verify): Remove.  Replace all uses with call to verify.h 'verify'.
11226         (TYPE_IS_INTEGER, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
11227         Remove.  Use intprops.h defns instead.
11228         (leapyear, isdst_differ, time_t_add_ok, time_t_int_ok):
11229         Use bool for Boolean, for clarity.
11230         (time_t_add_ok, time_t_int_add_ok): Use INT_ADD_WRAPV to
11231         detect integer overflow.
11232         * modules/mktime (Depends-on): Add intprops, stdbool, verify.
11234         intprops: check two's complement assumption
11235         Suggested by Eric Blake in:
11236         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00016.html
11237         * lib/intprops.h: Include <verify.h>.  Verify that signed char,
11238         short, int, long, and (if available) long long are two's complement.
11239         * modules/intprops (Depends-on): Add 'verify'.
11241         intprops, mktime, strtol: assume two's complement
11242         These macros were not portable to every conforming C11 ones'
11243         complement platform.  It's not worth the hassle of porting to some
11244         platforms that use ones' complement or signed magnitude, as such
11245         platforms are almost purely theoretical nowadays and porting even
11246         to some of them makes the code harder to review for little
11247         practical benefit.  Problem reported by Florian Weimer in:
11248         https://sourceware.org/ml/libc-alpha/2016-04/msg00295.html
11249         * lib/intprops.h (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
11250         (TYPE_SIGNED_MAGNITUDE, _GL_INT_TWOS_COMPLEMENT):
11251         * lib/mktime.c (TYPE_TWOS_COMPLEMENT):
11252         * lib/strtol.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
11253         (TYPE_SIGNED_MAGNITUDE):
11254         Remove.  All uses rewritten to assume two's complement, which is
11255         all we can reasonably test nowadays anyway.
11256         * top/maint.mk (_intprops_names): Remove the removed macros.
11258 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
11260         stdint: port to strict C11 left shift
11261         * lib/stdint.in.h (_STDINT_MIN, _STDINT_MAX):
11262         Pacify clang -Wshift-negative-value, which should be an issue only
11263         on clang setups where stdint.h does not conform to C11 or to C++11.
11264         Problem reported by Philipp Stephani in: http://bugs.gnu.org/23261
11266 2016-04-09  Paul Eggert  <eggert@penguin.cs.ucla.edu>
11268         mbrtowc: work around glibc bug#19932
11269         Fix mbrtowc so that it never returns -1 in the C locale,
11270         as this conflicts with a future version of POSIX
11271         http://austingroupbugs.net/view.php?id=663#c2738
11272         and causes problems with GNU grep: http://bugs.gnu.org/23234
11273         See glibc bug 19932:
11274         https://sourceware.org/bugzilla/show_bug.cgi?id=19932
11275         * doc/posix-functions/mbrlen.texi (mbrlen):
11276         * doc/posix-functions/mbrtowc.texi (mbrtowc):
11277         Document the glibc bug.
11278         * lib/mbrtowc.c [C_LOCALE_MAYBE_EILSEQ]:
11279         Include hard-locale.h, locale.h.
11280         (rpl_mbrtowc): Work around the C_LOCALE_MAYBE_EILSEQ bug,
11281         if the bug is possible.
11282         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): New macro.
11283         (gl_FUNC_MBRTOWC): Use it, and define C_LOCALE_MAYBE_EILSEQ as needed.
11284         * modules/hard-locale (License): Now LGPLv2+, for mbrtowc.
11285         * modules/mbrtowc (Depends-on): Add hard-locale.
11286         * modules/mbrtowc-tests (Files, TESTS): Add tests/test-mbrtowc5.sh.
11287         * tests/test-mbrtowc.c (main): Test for bug fix if arg is '5'.
11288         * tests/test-mbrtowc5.sh: New file.
11290 2016-04-03  Pedro Alves  <palves@redhat.com>
11292         stdint: detect good enough pre-C++11 stdint.h in C++ mode
11293         When gnulib is configured in C++ mode for a system with a working C99
11294         implementation of stdint.h that predates C++11, gnulib ends up
11295         substituting stdint.h anyway.  This works on most targets, but on e.g.,
11296         64-bit MinGW, it doesn't, as gnulib's substitute assumes LP64, while
11297         MinGW is LLP64.  Instead of trying to detect the right types, detect
11298         good-enough-pre-C++11 stdint.h and in such case define
11299         __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS in config.h.
11300         * m4/stdint.m4 (gl_STDINT_H): Always define __STDC_CONSTANT_MACROS
11301         / __STDC_LIMIT_MACROS while checking whether the system stdint.h
11302         conforms to C99.  If it does, check whether it hides symbols
11303         behind the __STDC_{CONSTANT|LIMIT}_MACROS macros.  Then if it
11304         does, define those macros in config.h.
11306 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
11308         argp: merge changes from glibc
11309         Among other things, this should fix problems found by a Coverity
11310         scan and reported by Andrei Borzenkov:
11311         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00015.html
11312         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00016.html
11313         * lib/argp-ba.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h:
11314         * lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h:
11315         * lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c:
11316         * lib/argp.h:
11317         Merge changes from glibc.
11318         * tests/test-argp-2.sh: Adjust to match new behavior.
11320 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
11322         stddef: support configuring with g++
11323         Problem reported by Ángel González in:
11324         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00003.html
11325         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS, max_align_t):
11326         Do not define if _GCC_MAX_ALIGN_T is defined.
11328 2016-03-25  Paul Eggert  <eggert@cs.ucla.edu>
11330         test-framework-sh: minor cleanups
11331         * tests/init.sh (testdir_prefix_): Output a trailing newline,
11332         since strictly speaking POSIX requires this.
11333         (setup_): Do not use the variable 'fail', as that makes the
11334         trace output harder to read ('fail' is typically used by
11335         tests to mean the test failed).  Treat // portably.
11336         Check that new directory is not merely a sibling of the tmp dir.
11337         Avoid unnecessary invocation of tr.
11339         test-framework-sh: revert port to NetBSD 7.0
11340         It was a false alarm; I misinterpreted Assaf Gordon's report.
11341         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
11342         Restore.
11343         (test_dir_): Adjust to mktempd_ change.
11344         (mktempd_): Restore 2nd arg.  Use -t again.
11345         (base_template_, template_, nx_): Resurrect old code.
11347         Port better to Alpine Linux
11348         Its diff implementation does not support -c, but does support -U3.
11349         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
11350         * tests/init.sh (diff_opt_): New var.
11351         (compare_): Prefer diff -U3 to diff -c to plain diff.
11353 2016-03-24  Paul Eggert  <eggert@cs.ucla.edu>
11355         test-framework-sh: port to NetBSD 7.0
11356         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
11357         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
11358         Remove.  All uses removed.
11359         (test_dir_): Adjust to mktempd_ change.
11360         (mktempd_): Omit 2nd arg.  Stop using -t, as it is not portable.
11361         (base_template_, template_, nx_): Simplify by hardcoding.
11363 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
11365         gitlog-to-changelog: suppress ignored chatter
11366         * build-aux/gitlog-to-changelog: Do not warn about skipping
11367         an SHA if it would have been ignored anyway.
11369 2016-03-22  Geert Janssens  <janssens-geert@telenet.be>
11371         setlocale: add "sv" to Windows language table
11372         * lib/setlocale.c (language_table) [W32]: Add "sv".
11373         Reported in <https://savannah.gnu.org/bugs/?44588>.
11375 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
11377         sys_select: port to new Cygwin
11378         Problem reported by Ken Brown in:
11379         https://lists.gnu.org/r/bug-gnulib/2016-03/msg00054.html
11380         * lib/sys_select.in.h [__CYGWIN__]: Avoid "unknown type name"
11381         diagnostics.
11383 2016-03-17  Jim Meyering  <meyering@fb.com>
11385         test-userspec.c: do not trigger gcc's new -Wmisleading-indentation
11386         * tests/test-userspec.c (main): Remove unnecessary braces and fix
11387         misleading indentation. Here is the diagnostic gcc-6.0-to-be issued:
11388           test-userspec.c:176:9: error: statement is indented as if it were \
11389             guarded by... [-Werror=misleading-indentation]
11390                    {
11391                    ^
11392           test-userspec.c:173:7: note: ...this 'if' clause, but it is not
11393                  if (!diag && !T[i].result)
11394                  ^~
11396 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
11398         time_rz: port to clang -Wunused-const-variable
11399         * lib/time_rz.c (TZ): Remove.  All uses removed.
11401         std-gnu11: improve clang support
11402         * m4/std-gnu11.m4: Sync with autoconf, incorporating:
11403         2016-03-15 Also try clang
11404         2016-03-15 Port C11 and C++11 testing to clang
11406         select: port more to Intel 2016.1.150 compiler
11407         Problem reported by Balázs Hajgató in:
11408         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00036.html
11409         * m4/select.m4 (gl_FUNC_SELECT): Require AC_C_RESTRICT.
11411 2016-03-14  Paul Eggert  <eggert@cs.ucla.edu>
11413         select: try to port to 2016.1.150 compiler
11414         Problem reported by Balázs Hajgató in:
11415         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00026.html
11416         * lib/sys_select.in.h (select): Use 'restrict' on arguments where
11417         POSIX specifies 'restrict'.
11419 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
11421         localename-tests: memory allocation fixes
11422         * tests/test-localename.c (test_locale_name)
11423         (test_locale_name_thread): Don't call freelocale on a locale
11424         that was the base of a successful newlocale, as that
11425         results in a double free.  Problem reported by Assaf Gordon.
11426         (test_locale_name_thread): Free saved names after use, to pacify
11427         gcc -fsanitize=address.
11429 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
11431         intprops: make .h file license match module
11432         * lib/intprops.h: Change the license wording to match glibc format.
11433         This is what is in modules/intprops anyway.  See:
11434         https://sourceware.org/bugzilla/show_bug.cgi?id=19738#c8
11436 2016-03-08  Eric Blake  <eblake@redhat.com>
11438         acl: fix missing return on Cygwin
11439         * lib/set-permissions.c (set_acls) [HAVE_FACL && GETACL]: Don't
11440         fall off end of function. Fixes http://bugs.gnu.org/22949
11442 2016-03-05  Bruno Haible  <bruno@clisp.org>
11444         extern-inline: port to PGI CC
11445         * m4/extern-inline.m4 (gl_EXTERN_INLINE): For PGI CC, don't use the
11446         keyword 'inline'.
11447         Reported by Adam James Stewart in:
11448         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00006.html
11450 2016-02-20  Paul Eggert  <eggert@cs.ucla.edu>
11452         signbit: port back to pre-C++11 GCC
11453         * lib/math.in.h (signbit): Do previous change only if
11454         __cplusplus < 201103.  See Jonathan Wakely in:
11455         https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/UY3VX3W7XEXYTUKHG5BALU4ACUD7ZLGE/
11457 2016-02-19  Kamil Dudka  <kdudka@redhat.com>
11459         mountlist: recognize autofs-mounted remote file systems, too
11460         Originally reported at: https://bugzilla.redhat.com/1309247
11461         * lib/mountlist.c (ME_REMOTE): Return true if a file system is named
11462         "-hosts" because it is used by autofs to mount remote file systems.
11464 2016-02-19  Paul Eggert  <eggert@cs.ucla.edu>
11466         signbit: port to C++ with GCC 6
11467         * lib/math.in.h (signbit) [__cplusplus]:
11468         Do not replace with GCC builtin.  Reported by Orion Poplawski in:
11469         http://lists.gnu.org/r/bug-gnulib/2016-02/msg00005.html
11471         * lib/regex_internal.h (IDX_MAX) [_REGEX_LARGE_OFFSETS]: Now SSIZE_MAX.
11473         regex: make it closer to libc
11474         Make Idx a signed type, rather than possibly unsigned.
11475         The unsignedness was not really buying us anything, since the code
11476         overflows for other reasons before getting to PTRDIFF_MAX.  Making
11477         it signed allows us to use -1 and -2 with abandon, like libc does,
11478         thus lessening the number of differences between gnulib and libc.
11479         Also, it should help avoid gratuitous warnings like the one
11480         reported by Nelson H. F. Beebe in: http://bugs.gnu.org/22702
11481         * lib/regex.h (__re_idx_t): Remove.  All uses changed to regoff_t.
11484         regex: merge patches from libc
11486         2015-10-21  Joseph Myers  <joseph@codesourcery.com>
11487         2015-10-20  Joseph Myers  <joseph@codesourcery.com>
11488         Convert miscellaneous function definitions to prototype style.
11489         * lib/regcomp.c (re_compile_pattern, re_set_syntax)
11490         (re_compile_fastmap, regcomp, regerror, regfree, re_comp):
11491         * lib/regexec.c (regexec, re_match, re_search, re_match_2, re_search_2)
11492         (re_search_2_stub, re_search_stub, re_set_registers, re_exec)
11493         (re_search_internal):
11494         Convert to prototype-style function definition.
11495         Use internal_function for internal functions.
11497 2016-02-10  Paul Eggert  <eggert@cs.ucla.edu>
11499         stdalign: port to older HP and IBM cc
11500         * lib/stdalign.in.h (_Alignas): Port better to older HP and IBM
11501         C compilers, by checking their version numbers.  These version
11502         numbers appear in MariaDB and in Qt code that dates way back and
11503         that conditiionally uses the 'aligned' attribute.
11505 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
11507         stdalign: port to clang 3.7.0
11508         Problem reported by Herbert J. Skuhra in:
11509         http://lists.gnu.org/r/emacs-devel/2016-02/msg00476.html
11510         * lib/stdalign.in.h (alignas): Fix typo that prevented 'alignas'
11511         from being defined on clang 3.7.0, which has a buggy stdalign.h.  See:
11512         https://llvm.org/bugs/show_bug.cgi?id=26547
11514 2016-02-08  Paul Eggert  <eggert@cs.ucla.edu>
11516         readdir_r: now obsolescent
11517         * doc/posix-functions/readdir_r.texi (readdir_r): Now obsolescent.
11518         * lib/mountlist.c (read_file_system_list): Add a FIXME.
11520 2016-02-06  Paul Eggert  <eggert@cs.ucla.edu>
11522         misc: port better to gcc -fsanitize=address
11523         Without these patches, ./configure CFLAGS='-fsanitize=address'
11524         would compute incorrect values.  This patch fixes some (but not all)
11525         test failures with recent glibc, with this configuration.
11526         * m4/acl.m4 (gl_ACL_GET_FILE):
11527         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF):
11528         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS):
11529         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO):
11530         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE):
11531         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
11532         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
11533         * m4/getgroups.m4 (gl_FUNC_GETGROUPS):
11534         * m4/getline.m4 (gl_FUNC_GETLINE):
11535         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF):
11536         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF):
11537         * m4/regex.m4 (gl_REGEX):
11538         * m4/strndup.m4 (gl_FUNC_STRNDUP):
11539         * tests/test-calloc-gnu.c (main):
11540         * tests/test-duplocale.c (main):
11541         * tests/test-getgroups.c (main):
11542         * tests/test-getline.c (main):
11543         * tests/test-inttostr.c (main):
11544         * tests/test-localename.c (test_locale_name)
11545         (test_locale_name_thread, test_locale_name_environ)
11546         (test_locale_name_default):
11547         * tests/test-regex.c (main):
11548         * tests/test-setlocale1.c (main):
11549         * tests/test-stat.h (test_stat_func):
11550         Free heap-allocated storage before exiting.
11551         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX):
11552         Don't match *_foo symbols inserted by AddressSanitizer.
11553         * tests/test-regex.c, tests/test-stat.c: Include stdlib.h, for 'free'.
11555 2016-02-02  Jim Meyering  <meyering@fb.com>
11557         verify-tests: also remove stray test-verify.Tpo
11558         * modules/verify-tests (Makefile.am): Arrange for "make clean"
11559         to remove the test-verify.Tpo file that is left behind by
11560         the automake-generated rule upon compilation failure.
11561         Otherwise, that .Tpo file would cause a failed "make distcheck"
11562         at least for grep.
11564 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
11566         std-gnu11: new module
11567         This makes it easier for applications to prefer C11 and C++11
11568         to older variants, when compiling C and C++ code.
11569         Unlike most m4/*.m4 files, m4/std-gnu11.m4 is GPLed, as it copies
11570         a nontrivial chunk of GPLed Autoconf source code.
11571         * COPYING: Mention the m4/*.m4 copyright situation.
11572         * MODULES.html.sh (std-gnu11): New module.
11573         * m4/std-gnu11.m4, modules/std-gnu11: New files.
11575 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
11577         get-permissions, strftime: fix grammar in comments
11578         * lib/get-permissions.c, lib/strftime.c: Merge into the comments
11579         some grammar fixes Alan Mackenzie made to GNU Emacs.
11581 2016-01-25  Daiki Ueno  <ueno@gnu.org>
11583         gettext: mark as obsolete
11584         Suggested by Paul Eggert in:
11585         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00101.html
11586         * modules/gettext (Status): Mark as obsolete.
11587         (Notice): Suggest to use 'gettext-h' instead.
11588         * modules/gettext-h (Description): Suggest GNU gettext, instead of
11589         the 'gettext' module.
11591 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
11593         gnulib-tool: don't give up on ln -s so easily
11594         * gnulib-tool (func_ln_s): Don't give up on a later ln -s merely
11595         because an earlier one failed.  The targets could be on different
11596         file systems.  Problem reported by KO Myung-Hun in:
11597         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00081.html
11599         closedir: fix OS/2-related typos
11600         Problem reported by KO Myung-Hun in:
11601         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00107.html
11602         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Fix a couple of typos
11603         in the last couple of changes.
11605 2016-01-24  KO Myung-Hun  <komh78@gmail.com>
11607         openat_proc_name: fix that last '/' is overwritten on OS/2 kLIBC
11608         * lib/openat-proc.c (openat_proc_name): Increase dirlen by 1 after
11609         copying a directory.
11611 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
11613         regex: treat [x] as x if x is a unibyte encoding error
11614         Problem reported by Aharon Robbins in:
11615         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00091.html
11616         * lib/regcomp.c (parse_byte) [!_LIBC && RE_ENABLE_I18N]: New function.
11617         (build_range_exp) [!_LIBC && RE_ENABLE_I18N]: Use it.
11619         closedir, dirfd, opendir: port to OpenSolaris 5.10
11620         * m4/closedir.m4 (gl_FUNC_CLOSEDIR):
11621         * m4/dirfd.m4 (gl_FUNC_DIRFD):
11622         * m4/opendir.m4 (gl_FUNC_OPENDIR):
11623         Don't use ${word##pat} substitution, as it doesn't work in
11624         OpenSolaris 5.10 /bin/sh.  Problem reported by Assaf Gordon in:
11625         http://bugs.gnu.org/22443#11
11627 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
11629         bootstrap: use American spelling
11630         * build-aux/bootstrap: Honor American spelling.
11632 2016-01-22  Karl Berry  <karl@freefriends.org>
11634         * doc/posix-functions/localtime.texi,
11635         * doc/posix-functions/localtime_r.texi: @item needed for @itemize text.
11637 2016-01-21  Bruno Haible  <bruno@clisp.org>
11639         hash-pjw-bare: fix comment
11640         * lib/hash-pjw-bare.h (hash_pjw_bare): Fix comment.
11642         wcwidth: Replace also on OpenBSD 5.8
11643         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the value of wcwidth(0xFF1A).
11644         * doc/posix-functions/wcwidth.texi: Update.
11646 2016-01-20  Pádraig Brady  <P@draigBrady.com>
11648         gnu-web-doc-update: fix addition of new files
11649         If there were already added (emnpty) dirs,
11650         then cvs aborts the add with the message:
11651           cvs [add aborted]: there is a version in <./dirname> already
11652         * build-aux/gnu-web-doc-update: Add directories separately
11653         to the addition of files, to avoid the above issue
11654         impacting the addition of files.
11656 2016-01-19  Daiki Ueno  <ueno@gnu.org>
11658         utimens-tests: avoid pulling gettext .m4 files
11659         Although this is not the right fix to the original problem:
11660         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html
11661         it makes it possible again for consumer projects to use arbitrary
11662         version of gettext, through the steps described at:
11663         http://www.gnu.org/software/gnulib/manual/html_node/gettextize-and-autopoint.html
11664         See here for details:
11665         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00079.html
11666         * modules/futimens-tests (Depends-on): Add 'gettext-h' in place of
11667         'gettext'.
11668         * modules/utimens-tests (Depends-on): Add 'gettext-h' in place of
11669         'gettext'.
11671 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
11673         regex: pacify static checkers
11674         Problem and draft fix reported by Aharon Robbins in:
11675         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
11676         * lib/regcomp.c (build_charclass_op, create_tree) [lint]:
11677         Clear memory to pacify static checkers.
11679         regex: fix [ diagnostic
11680         Problem and fix reported by Aharon Robbins in:
11681         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
11682         * lib/regcomp.c (REG_EBRACK_IDX): Fix misleading diagnostic about [.
11684         regex: fix memory leaks
11685         Problem and draft fix reported by Aharon Robbins in:
11686         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
11687         * lib/regcomp.c (build_range_exp, build_charclass_op)
11688         * lib/regex_internal.c (re_dfa_add_node):
11689         Fix memory leak on failure.
11691 2016-01-18  Pádraig Brady  <P@draigBrady.com>
11693         fts: don't unconditionally use leaf optimization for NFS
11694         NFS st_nlink are not accurate on all implementations,
11695         leading to aborts() if that assumption is made.
11696         See <https://bugzilla.redhat.com/1299169>
11697         * lib/fts.c (leaf_optimization_applies): Remove NFS from
11698         the white list, and document the issue.
11700 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
11701             KO Myung-Hun  <komh@chollian.net>
11703         gnulib-tool: don't assume ln -s works
11704         * gnulib-tool (func_ln_s): New function.
11705         (func_ln): Use it.
11707 2016-01-15  KO Myung-Hun  <komh@chollian.net>
11709         utimes: detect utimes() correctly on OS/2 kLIBC
11710         utimes() of OS/2 kLIBC has some limitations.
11711         1. OS/2 itself supports a file date since 1980 year in local time.
11712         2. OS/2 itself supports only even seconds for a file time.
11713         3. utimes() of OS/2 kLIBC does not work on an opened file.
11714         * m4/utimes.m4: Detect utimes() correctly on OS/2 kLIBC.
11715         * doc/posix-functions/utimes.texi: Document the above limitations of
11716         utimes() on OS/2 kLIBC.
11718 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
11719             KO Myung-Hun  <komh@chollian.net>
11721         openat_proc_name: port to OS/2 kLIBC
11722         OS/2 kLIBC provides a function to retrive a path from a fd. Use it
11723         instead of /proc/self/fd.
11724         * lib/openat-proc.c (openat_proc_name):
11725         Don't assume file name length is less than INT_MAX.
11726         Port to OS/2 kLIBC with __libc_Back_ioFHToPath().
11728 2016-01-14  KO Myung-Hun  <komh@chollian.net>
11730         stdint: check _INTPTR_T_DECLARED for intptr_t etc.
11731         OS/2 kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own
11732         definitions of intptr_t and uintptr_t (which use int and unsigned)
11733         to avoid clashes with declarations of system functions like sbrk.
11734         * lib/stdint.in.h (intptr_t, uintptr_t): Check
11735         _INTPTR_T_DECLARED before defining them.
11737         opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC
11738         * lib/closedir.c (closedir): Unregister fd if closedir() succeeds.
11739         * lib/dirent.in.h (_gl_register_dirp_fd, _gl_unregister_dirp_fd):
11740         Declare on kLIBC.
11741         * lib/dirfd.c (struct dirp_fd_list): New. Structures to keep track of
11742         fd associated with dirp.
11743         (_gl_register_dirp_fd): New. Register fd associated with dirp to
11744         dirp_fd_list.
11745         (_gl_unregister_dirp_fd): New. Unregister fd with closing it.
11746         (dirfd): Implemented for kLIBC.
11747         * lib/fdopendir.c (fdopendir): Implemented for kLIBC.
11748         * lib/opendir.c (opendir): New. Register fd and dirp pair if open()
11749         succeeds.
11750         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Replace if OS/2.
11751         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
11752         (REPLACE_DIRFD): Define to 1 if replaced.
11753         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
11754         * modules/closedir (Depends-on): Add dirfd.
11755         * modules/dirfd (Depends-on): Add 'test $REPLACE_DIRFD = 1' to errno
11756         condition.
11757         (configure.ac): Add dirfd to LIBOBJS if $REPLACE_DIRFD = 1 as well.
11758         * modules/opendir (Depends-on): Add dirfd.
11760         dup, dup2, fcntl: support a directory fd on OS/2 kLIBC
11761         On OS/2 kLIBC, dup(), dup2() and fcntl() do not work on a directory fd.
11762         * lib/dup.c (dup_nothrow): New.
11763         * lib/dup2.c (klibc_dup2dirfd): New. dup2() for a directory fd.
11764         (klibc_dup2): New.
11765         * lib/fcntl.c (klibc_fcntl): New.
11766         * m4/dup.m4 (gl_FUNC_DUP): Check if dup() works on a directory fd.
11767         * m4/dup2.m4 (gl_FUNC_DUP2): Check if dup2() works on a directory fd.
11768         * m4/fcntl.m4 (gl_FUNC_FCNTL): Check if F_DUPFD works on a directory
11769         fd.
11771         pipe_filter_ii_execute: port to OS/2 kLIBC
11772         Pipes on kLIBC do not support O_NONBLOCK like Win32.
11773         * lib/pipe-filter-ii.c (start_wrapper, _beginthreadex, CloseHandle,
11774         WaiForSingleObject, WaitForMultipleObjects): New on OS/2 kLIBC.
11775         Reuse Win32 code on OS/2 kLIBC.
11776         * lib/spawn-pipe.c: Reuse Win32 code on OS/2 kLIBC.
11777         * lib/w32spawn.h: Do not include windows.h on OS/2 kLIBC.
11779         wchar: fix "conflicting types" error for __wcwidth on OS/2 kLIBC
11780         On OS/2 kLIBC, wcwidth is a macro that expands to the name of a
11781         static inline function.  The implementation of wcwidth in wcwidth.c
11782         causes a "conflicting types" error.
11783         * lib/wchar.in.h: Undefine wcwidth on OS/2 kLIBC.
11785         w32spawn: clear SHELL_SPECIAL_CHARS and SHELL_SPACE_CHAR on OS/2 kLIBC
11786         spawn() on OS/2 kLIBC is not silly like one on Windows
11787         * libc/w32spawn.h (SHELL_SPECIAL_CHARS, SHELL_SPACE_CHAR): Set both to
11788         empty string on OS/2 kLIBC.
11790         pipe-filter-aux: undefine HAVE_SELECT on KLIBC
11791         On OS/2 kLIBC, select() works only on sockets.
11792         * lib/pipe-filter-aux.h (HAVE_SELECT): Undefine on OS/2 kLIBC.
11794         binary-io: don't put fd in binary mode if it is a console on EMX
11795         * lib/binary-io.h (SET_BINARY): Don't put fd in binary mode if it is
11796         a console on EMX.
11798 2016-01-15  Pádraig Brady  <P@draigBrady.com>
11800         doc: mention unfixed issues with unsupported localtime() values
11801         * doc/posix-functions/localtime.texi: Mention that FreeBSD 10
11802         returns nonsense for localtime(2^56).
11803         * doc/posix-functions/localtime_r.texi: Likewise.
11805 2016-01-14  Pádraig Brady  <P@draigBrady.com>
11807         doc: mention setlocale() issues on OpenBSD
11808         * doc/posix-functions/setlocale.texi: Mention setlocale(LC_ALL,"")
11809         never fails, and the need to check categories individually.
11811 2016-01-14  Pádraig Brady  <P@draigBrady.com>
11813         sig2str: list all signals on FreeBSD >= 7
11814         FreeBSD >= 7 is contravening POSIX by not defining NSIG
11815         to the maximal statically defined signal value.
11816         It does define _SIG_MAXSIG though, so base SIGNUM_BOUND on that.
11817         * lib/sig2str.h (SIGNUM_BOUND): Define to (_SIG_MAXSIG - 2)
11818         where available, even when NSIG is defined.
11820 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
11822         acl-permissions: port to USE_ACL==0 platforms
11823         I ran into this problem when building bleeding-edge GNU Emacs
11824         with gcc -fsanitize=address on Fedora 23.  On this platform
11825         the ACL library does not pass the 'configure' test and Emacs
11826         then does not build due in part to what appear to be typos in the
11827         ACL part of Gnulib.
11828         * lib/acl-internal.c (free_permission_context):
11829         * lib/acl-internal.h (struct permission_context):
11830         Test whether USE_ACL is nonzero, not whether it is defined.
11832 2016-01-12  Martin Sebor  <msebor@redhat.com>
11834         mktime: rename macro to avoid glibc clash
11835         * lib/mktime.c [DEBUG] (DEBUG): Rename to DEBUG_MKTIME.  See:
11836         https://sourceware.org/ml/libc-alpha/2016-01/msg00267.html
11838 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
11840         Port "$@" to OpenIndiana ksh93
11841         In http://lists.gnu.org/r/bug-autoconf/2015-12/msg00000.html
11842         Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh
11843         (derived from ksh 93t+ 2010-03-05).  ${1+"$@"} works around an ancient
11844         bug long-dead shells, so remove the workaround.
11845         * build-aux/announce-gen, build-aux/do-release-commit-and-tag:
11846         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
11847         * build-aux/prefix-gnulib-mk, build-aux/update-copyright:
11848         * build-aux/useless-if-before-free, tests/test-update-copyright.sh:
11849         Use "$@" instead of ${1+"$@"}.
11851         Port Universal Time settings to strict POSIX
11852         * build-aux/announce-gen, build-aux/bootstrap:
11853         * build-aux/do-release-commit-and-tag, build-aux/git-version-gen:
11854         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
11855         * build-aux/gnupload, build-aux/mkinstalldirs:
11856         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
11857         * build-aux/update-copyright, build-aux/useless-if-before-free:
11858         * build-aux/vc-list-files, tests/test-strftime.c:
11859         Use TZ="UTC0", not TZ="UTC".  Either works on GNU platforms,
11860         but POSIX says the behavior of TZ="UTC" is undefined.
11862 2016-01-02  Paul Eggert  <eggert@cs.ucla.edu>
11864         msvc-inval: fix problem with unset shell var
11865         Problem reported by Karl Berry in:
11866         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00004.html
11867         * modules/msvc-inval (Depends-on):
11868         AC_REQUIRE gl_MSVC_INVAL instead of merely calling it.
11869         * modules/msvc-nothrow (Depends-on): Likewise for gl_MSVC_NOTHROW.
11871 2016-01-01  Pádraig Brady  <P@draigBrady.com>
11873         tests: for compare_(), use cmp -s where available
11874         * tests/init.sh (compare_): Only fall back to cmp without
11875         the POSIX defined -s option, where this is not available.
11877 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
11879         version-etc: new year
11880         * build-aux/gendocs.sh (version):
11881         * doc/gendocs_template:
11882         * doc/gendocs_template_min:
11883         * doc/gnulib.texi:
11884         * lib/version-etc.c (COPYRIGHT_YEAR):
11885         Update copyright dates by hand in templates and the like.
11886         * all files: Run 'make update-copyright'.
11888 2015-12-31  Paul Eggert  <eggert@cs.ucla.edu>
11890         human: fix output buffer overrun by 1
11891         * lib/human.c (human_readable): Fix off-by-one typo in buffer
11892         calculation that could lead to a one-byte buffer overrun.
11894 2015-12-28  Daiki Ueno  <ueno@gnu.org>
11896         maint: fix operator precedence in mbrtowc test
11897         This is a fix for test breakage introduced by commit 45228d96; the
11898         equality expression must be parenthesized when negated with '!',
11899         otherwise we always get:
11901           test-mbrtowc.c:49: assertion 'ret == (size_t)(-2)' failed
11903         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Negate the entire expression.
11904         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
11906 2015-12-23  James Youngman  <jay@gnu.org>
11908         regexprops-generic: update from regex.h
11909         * doc/regexprops-generic.texi: update by running the regexprops binary
11910         from findutils (the command line is 'regexprops "Regular Expressions"
11911         generic').  The recent (ish) change (5a5a9388) to regex.h aligning
11912         gnulib with GNU grep had made this document out-of-date.
11914 2015-12-23  Pádraig Brady  <P@draigBrady.com>
11916         strftime-tests: avoid false failure on OS X
11917         * tests/test-strftime.c (struct localtime_rz_test): Add an
11918         ahistorical member which is used to warn rather than fail
11919         when tm_isdst isn't set for such entries.  This is the case for
11920         "1970-01-01 13:00:00 +1300 (NZDT)" on Darwin 13/14 at least.
11922 2015-12-20  Kamil Dudka  <kdudka@redhat.com>
11924         fts: ensure leaf optimization is used for NFS
11925         NFS provides usable dirent.d_type but not necessarily for all entries
11926         of large directories.  See <https://bugzilla.redhat.com/1252549>
11927         * lib/fts.c (leaf_optimization_applies): Append NFS on the white list.
11929 2015-12-20  Pádraig Brady  <P@draigBrady.com>
11931         fts: enable leaf optimization for XFS
11932         XFS provides usable dirent.d_type only for DT_DIR,
11933         but the noleaf optimization still applies.
11934         * lib/fts.c (leaf_optimization_applies): Add XFS to the white list.
11936 2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>
11938         intprops: comment fix
11939         * lib/intprops.h: Fix comment.  Reported by Pádraig Brady in:
11940         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00013.html
11942         intprops-test: work around GCC bug 68971
11943         Problem reported by Pádraig Brady in:
11944         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00011.html
11945         * tests/test-intprops.c: Ignore -Woverflow in GCC 6 and earlier.
11946         (main): Add a case that better tests 64-bit long in this area.
11948 2015-12-09  Pavel Raiskup  <praiskup@redhat.com>
11950         gnulib-tool: allow multiple --local-dir usage
11951         * gnulib-tool: Use --local-dir to construct compound
11952         $local_gnulib_path path instead of $local_gnulib_dir.  Determine
11953         PATH_SEPARATOR early.
11954         (local_gnulib_dir): Rename into $local_gnulib_path everywhere.
11955         (func_gnulib_dir): Cut out PATH_SEPARATOR detection code into
11956         func_determine_path_separator because that needs to be detected
11957         earlier now.
11958         (func_determine_path_separator): New function.
11959         (func_path_foreach, func_path_foreach_inner): New functions.
11960         (func_path_prepend, func_path_append): Likewise.
11961         (func_lookup_local_file, func_lookup_local_file_cb): Likewise.
11962         (func_lookup_file, func_all_modules): Use new functions to work
11963         with local_gnulib_path.
11964         (func_modules_in_dir, func_exists_module): New callbacks for
11965         func_path_foreach.
11966         (func_exists_module, func_get_tests_module): Likewise.
11967         (func_is_local_file, func_should_symlink): New helper methods.
11968         (func_add_file, func_update_file): Use new func_should_symlink
11969         instead, DRY.
11970         (func_reconstruct_cached_local_gnulib_path): New helper.
11971         (func_reconstruct_cached_dir): New callback.
11972         (func_import): The cached_local_gnulib_dir renamed to
11973         cached_local_gnulib_path similarly to local_gnulib_dir.
11974         Use new func_reconstruct_cached_local_gnulib_path.
11975         (func_count_relative_local_gnulib_path): New sub-method.
11976         (func_create_testdir): Use func_should_symlink, DRY.
11977         (func_create_megatestdir): Use new functions to work with
11978         local_gnulib_path correctly.
11979         (func_append_local_dir): New helper.
11981 2015-12-08  Pádraig Brady  <P@draigBrady.com>
11983         fix freadptr to work with ungetc on all uClibc configs
11984         Reported at https://bugs.busybox.net/show_bug.cgi?id=4099
11985         where GNU coreutils cut(1) generates invalid output on uClibc
11986         when __UCLIBC_HAS_STDIO_GETC_MACRO__ is not defined.
11987         * lib/freadptr.c (freadptr): Return NULL if there are
11988         ungotten chars.  In this case freadseek() will iterate
11989         again to process the ungotten character.
11991 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
11993         xalloc-oversized: improve performance with GCC 5
11994         * lib/xalloc-oversized.h (xalloc_oversized):
11995         Improve performance with GCC 5 by using __builtin_mul_overflow.
11997 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
11999         intprops: new public macro EXPR_SIGNED
12000         Emacs can use this macro, so make it public.
12001         * doc/intprops.texi (Arithmetic Type Properties): Rename from
12002         'Integer Type Determination', since some of these macros apply
12003         to non-integer types.  Clarify what kinds of constant expressions
12004         these macros return.  Say when the arguments can be non-integers.
12005         Mention newly published macro EXPR_SIGNED.
12006         * lib/intprops.h (EXPR_SIGNED): Rename from _GL_INT_SIGNED, to
12007         make it public.  All uses changed.
12009         intprops: fix typo in clang port
12010         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix misspelling of
12011         '__builtin_add_overflow' that is not caught by compiler.
12013 2015-11-05  Paul Eggert  <eggert@cs.ucla.edu>
12015         test-timespec: fix typo in previous change
12016         * tests/test-timespec.c (main): Fix typo that reduced test quality.
12018         timespec-sub: fix overflow bug; add tests
12019         * lib/timespec-add.c (timespec_add):
12020         * lib/timespec-sub.c (timespec_sub):
12021         Work even if time_t is narrower than int (a theoretical
12022         possibility).  Redo code for a bit more clarity.
12023         * lib/timespec-sub.c (timespec_sub):
12024         Fix off-by-2 bug if a.tv_sec == TYPE_MINIMUM (time_t) and 0 < b.tv_sec.
12025         * modules/timespec-tests, tests/test-timespec.c: New files.
12027         intprops-test: suppress -Woverlength-strings
12028         Problem reported by Pádraig Brady in:
12029         http://lists.gnu.org/r/bug-gnulib/2015-11/msg00008.html
12030         It is not worth the hassle to port this test to compilers that
12031         cannot handle long strings in diagnostics.
12032         * tests/test-intprops.c [__GNUC__]: Ignore -Woverlength-strings.
12034 2015-11-03  Pádraig Brady  <P@draigBrady.com>
12036         quotearg: add quotearg_n_style_colon()
12037         This quotes with default options of the specified style,
12038         but with quoting enabled for instances of ':'.
12039         * lib/quotearg.h (quotearg_n_style_colon): Description and declaration.
12040         * lib/quotearg.c (quotearg_n_style_colon): New function implementation.
12042 2015-11-04  Paul Eggert  <eggert@cs.ucla.edu>
12044         intprops: revise _WRAPV macros, revert _OVERFLOW
12045         The incompatible changes to the _OVERFLOW macros were too much of
12046         a hassle in practice, so revert them.  Instead, change the new
12047         _WRAPV macros to make them closer in behavior to GCC 5's new
12048         builtin_add_overflow etc. functions.  No other software was using
12049         these newly-added macros yet, so this should be OK.
12050         * NEWS: Revert previous change, since the incompatible change
12051         has been reverted, and nobody used the incompatible version.
12052         * doc/intprops.texi (Wraparound Arithmetic, Integer Type Overflow):
12053         Document revised behavior.
12054         (Integer Range Overflow): Adjust example to match above revisions.
12055         * lib/intprops.h (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW)
12056         (INT_MULTIPLY_OVERFLOW): Revert previous change, so that
12057         these can be used in integer constant expressions again.
12058         (INT_CONST_ADD_OVERFLOW, INT_CONST_SUBTRACT_OVERFLOW)
12059         (INT_CONST_MULTIPLY_OVERFLOW): Remove, as these are no longer
12060         needed.
12061         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
12062         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
12063         (INT_REMAINDER_WRAPV, INT_LEFT_SHIFT_WRAPV):
12064         Remove, as they did not seem that useful.
12065         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV)
12066         (_GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH)
12067         (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
12068         Support new semantics.
12069         (__has_builtin): New macro, if not alreay defined.
12070         (_GL__GENERIC_BOGUS, _GL_INT_OP_CALC, _GL_INT_OP_CALC1): New macros.
12071         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
12072         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
12073         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
12074         (INT_CONST_LEFT_SHIFT_WRAPV): Remove.
12075         (CHECK_SBINOP, CHECK_SSUM, CHECK_SUM1, CHECK_SSUM1)
12076         (CHECK_SDIFFERENCE, CHECK_SPRODUCT, CHECK_PRODUCT1, CHECK_SPRODUCT1):
12077         New macros.
12078         (CHECK_BINOP, CHECK_UNOP, main, CHECK_SUM): Test new behavior.
12080 2015-11-03  Jim Meyering  <meyering@fb.com>
12082         intprops: add parentheses for when OP has precedence lower than "-"
12083         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED): In "a OP b - c",
12084         "a OP b" must be parenthesized for when OP is like "<<", which has
12085         lower precedence than the following "-". Reported by Pádraig Brady.
12087 2015-11-03  Pádraig Brady  <P@draigBrady.com>
12089         quotearg: constify get_quoting_style parameters
12090         * lib/quotearg.h (get_quoting_style): Mark parameter as const.
12091         * lib/quotearg.c (get_quoting_style): Likewise.
12093 2015-11-02  Pádraig Brady  <P@draigBrady.com>
12095         quotearg: add support for $'' shell escaping
12096         * lib/quotearg.h: Add "shell-escape" and "shell-escape-always"
12097         items and descriptions.
12098         * lib/quotearg.c (quotearg_buffer_restyled): Add support for the
12099         above types by quoting like "shell", but using $'...' syntax
12100         for non printable characters, which should provide unambiguous
12101         printable output for any input.
12102         * tests/test-quotearg-simple.c: Update accordingly.
12104 2015-11-02  Pádraig Brady  <P@draigBrady.com>
12106         maint: use a more standard return from mbrtowc test
12107         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Don't return 1
12108         from the test program as this is non standard and often
12109         indicates an unhandled case in the test program.
12110         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
12112 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
12114         intprops: add WRAPV and const flavors for GCC 5
12115         If available, use GCC 5's builtin functions for efficient integer
12116         overflow checking.  Also, add macros like INT_ADD_WRAPV efficently
12117         and safely compute the low-order bits of the correct answer.
12118         A downside of these efficient functions is that they cannot be
12119         used in constant expressions, so add macros like INT_CONST_ADD_OVERFLOW
12120         and INT_CONST_ADD_WRAPV that can be used even in constant expressions.
12121         * NEWS: Document the incompatible changes to INT_ADD_OVERFLOW etc.
12122         * doc/intprops.texi (Integer Properties, Integer Type Overflow):
12123         Document the changes.
12124         (Wraparound Arithmetic): New section.
12125         (Integer Range Overflow):
12126         Put this subsection last, since it's least useful.
12127         * lib/intprops.h (INT_CONST_ADD_OVERFLOW)
12128         (INT_CONST_SUBTRACT_OVERFLOW, INT_CONST_MULTIPLY_OVERFLOW):
12129         New macros, with the meaning that INT_ADD_OVERFLOW etc. used to have.
12130         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
12131         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
12132         (INT_REMAINDER_WRAPV, _GL_INT_OP_WRAPV, _GL_EXPR_CAST)
12133         (_GL_INT_OP_WRAPV_LONGISH, INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
12134         (INT_MULTIPLY_WRAPV, _GL_OP_OVERFLOW, _GL_OP_WRAPV, _GL_OP_WRAPV_GENSYM):
12135         New macros.
12136         (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW, INT_MULTIPLY_OVERFLOW):
12137         Generate calls to GCC builtins if available, for speed.
12138         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
12139         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
12140         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
12141         (INT_CONST_LEFT_SHIFT_WRAPV): New macros.
12142         (main, CHECK_BINOP, CHECK_UNOP, CHECK_SUM, CHECK_PRODUCT)
12143         (CHECK_QUOTIENT, CHECK_REMAINDER):
12144         Test WRAPV and CONST flavors (when available) too.
12146 2015-10-30  Pádraig Brady  <P@draigBrady.com>
12148         doc: use extended timezone format in iso-8601 example
12149         * doc/parse-datetime.texi: The standard states that extended format
12150         is to be used consistently throughout.
12151         Note that lib/parse-datetime.y can handle either tz format.
12153 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
12155         stdalign: port to Sun C 5.9
12156         * doc/posix-headers/stdalign.texi: Document this.
12157         * lib/stdalign.in.h (_Alignas): Sun C 5.9 also supports
12158         __attribute__ ((__aligned__ (...))).
12160 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
12162         time_rz: fix comment about tzalloc
12163         * lib/time_rz.c (tzalloc): Fix comment.
12165 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
12167         stdalign: work around pre-4.9 GCC x86 bug
12168         * lib/stdalign.in.h (_Alignof): Work around bug in pre-4.9 GCC on
12169         x86, when -std=gnu11 is used.  Problem reported by Jim Meyering in:
12170         http://lists.gnu.org/r/bug-gnulib/2015-10/msg00038.html
12172 2015-10-18  Pádraig Brady  <P@draigBrady.com>
12174         maint.mk: sc_tight_scope: remove extraneous expressions
12175         * top/maint.mk (tight_scope): This is not really required since
12176         commit 3ef58f46 as sed_wrap ensures we don't get an empty expression
12177         that matches all nm entries.  But it does remove extraneous entries
12178         that may be confusing or cause issue in future maintenance.
12180 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
12182         time_rz: return NULL if localtime_r fails
12183         * lib/time_rz.c (localtime_rz): Return NULL if localtime_r fails,
12184         while still attempting to pacify bleeding-edge GCC.
12186         fts: port to C11 alignof
12187         * doc/posix-headers/stdalign.texi (stdalign.h):
12188         Document the C11 restriction.
12189         * lib/fts.c: Include stddef.h, for max_align_t.
12190         (fts_alloc): Align using max_align_t, not FTSENT.
12191         * modules/fts (Depends-on): Add stddef.
12193 2015-10-18  Jim Meyering  <meyering@fb.com>
12195         time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
12196         Compiling with gcc version 6.0.0 20151017 (experimental) (GCC), I
12197         would see this:
12199         lib/time_rz.c: In function 'localtime_rz':
12200         lib/time_rz.c:292:15: error: nonnull argument 'tm' compared to NULL \
12201           [-Werror=nonnull]
12202                    if (tm && !save_abbr (tz, tm))
12203                        ^
12205         That was complaining about "tm" because it is a parameter that was
12206         declared with the __nonnull__ attribute.
12207         * lib/time_rz.c (localtime_rz): Don't bother setting "tm" to the
12208         result of localtime_r.
12210 2015-10-17  Jim Meyering  <meyering@fb.com>
12212         maint.mk: _gl_TS_function_match: fix "extern" name extracting regexp
12213         * top/maint.mk (_gl_TS_function_match): This heuristic extern-function-
12214         name-extraction regexp mistakenly used \S+, and would mistakenly
12215         extract "*F" from "extern int *F()" rather than the desired "F".
12216         Use \w+ instead.
12218 2015-10-17  Jim Meyering  <meyering@fb.com>
12220         maint.mk: sc_tight_scope: factor and support OS X
12221         * top/maint.mk (_gl_tight_scope): Address three issues:
12222         - factor out four instances of code that wraps a string in "^...$"
12223         - allow nm-reported symbol names to have an optional leading "_"
12224         - add "main" to the list of ignored variable names, because on os x,
12225         "main" has nm-reported type "S" in the variable-checking section.
12227 2015-10-16  Dmitry Smirnov  <onlyjob@member.fsf.org>
12229         safe-alloc-tests: fix typo in license header
12230         * tests/test-safe-alloc.c: Mention LGPL 2.1, not 3.1
12232 2015-10-15  Simon Reinhardt  <simon@keinstein.org>
12234         copy-file: fix mem leak in error case
12235         * lib/copy-file.c (qcopy_file_preserving): Free the 32KiB buffer
12236         upon error opening or performing I/O to the src and dest files.
12238 2015-10-15  Mike Frysinger  <vapier@chromium.org>
12240         localename: control langinfo.h inclusion
12241         This header is only used to work around buggy behavior in old
12242         versions of glibc, so do not include it all the time.  Otherwise
12243         we get build failures on systems that do not provide langinfo.h.
12244         * lib/localename.c: Wrap langinfo.h include with same ifdefs used
12245         in the source later on.
12246         The patch was originally submitted to gettext as:
12247         https://lists.gnu.org/r/bug-gettext/2015-10/msg00011.html
12249 2015-10-13  Paul Eggert  <eggert@cs.ucla.edu>
12251         binary-io, math, pthread, sys_socket, u64, unistd: port to strict C
12252         * lib/binary-io.c, lib/math.c, lib/pthread.c, lib/sys_socket.c:
12253         * lib/u64.c, lib/unistd.c:
12254         Append 'typedef int dummy;', to pacify compilers that are picky
12255         about empty translation units.
12257 2015-10-12  Pino Toscano  <ptoscano@redhat.com>
12259         accept4-tests: fix to avoid non portable flags
12260         * tests/test-accept4.c (main): Pass only SOCK_* flags to accept4(),
12261         as they are the only documented ones, and passing others may trigger
12262         EINVAL (seen on FreeBSD 10.1-RELEASE).
12263         * doc/glibc-functions/accept4.texi: Mention that we don't provide
12264         the SOCK_CLOEXEC or SOCK_NONBLOCK defines.
12266 2015-10-06  Pavel Raiskup  <praiskup@redhat.com>
12268         gnulib-tool: fix tests of 'extensions' module
12269         This complements f8fe25fab60e3c687a124 commit.
12270         * gnulib-tool (func_emit_pre_early_macros): New function, it wraps
12271         emitting of initial gl_EARLY macros.
12272         (func_import, func_create_testdir): All dumps of gl_PROG_AR_RANLIB
12273         replaced with func_emit_pre_early_macros call.
12275 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
12277         unicase/locale-language: fix typo in utf-8 cookie
12278         * lib/unicase/locale-languages.gperf: Fix gperf input file format.
12279         Problem reported by Zbigniew Jędrzejewski-Szmek.
12281 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
12283         xalloc: do not worry about GCC 5 warning on 32 bit
12284         * lib/xalloc.h: Revert previous change.
12285         I found a better way to fix this in coreutils.
12287 2015-10-02  Pádraig Brady  <P@draigBrady.com>
12289         xalloc: avoid GCC 5.1 warning on 32 bit
12290         * lib/xalloc.h: Disable -Wstrict-overflow for uses of
12291         xalloc_oversized(), which was seen to give this warning
12292         on GCC 5.1 on 32 bit: "assuming signed overflow does not occur
12293         when simplifying conditional".
12295 2015-10-02  Daiki Ueno  <ueno@gnu.org>
12297         uniname/uniname-tests: avoid compiler warnings
12298         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Remove
12299         unused local variables.
12300         (test_alias_lookup): Fix alias name display in failure cases.
12302 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
12304         c-ctype: do not worry about EBCDIC + char signed
12305         Drop support for EBCDIC with char being signed, as this breaks too
12306         many programs.  Problem reported by Ben Pfaff in:
12307         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00053.html
12308         * lib/c-ctype.h: Verify that we are not using EBCDIC with
12309         char being signed.
12310         (_C_CTYPE_LOWER_A_THRU_F_N): New macro.
12311         (_C_CTYPE_LOWER_N, _C_CTYPE_A_THRU_F): Use it.
12312         (_C_CTYPE_DIGIT, _C_CTYPE_LOWER, _C_CTYPE_PUNCT, _C_CTYPE_UPPER):
12313         (c_isascii, c_isgraph, c_isprint, c_ispunct, c_tolower, c_toupper):
12314         * tests/test-c-ctype.c (test_all):
12315         Simplify by assuming standard char values cannot be negative.
12316         * tests/test-c-ctype.c (NCHARS, to_char): Remove; all uses removed.
12318 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
12320         c-ctype: port better to z/OS EBCDIC
12321         Problems reported by Daniel Richard G. in:
12322         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00050.html
12323         * lib/c-ctype.h (_C_CTYPE_CNTRL): Rewrite in terms of
12324         the C standard escapes and _C_CTYPE_OTHER_CNTRL.
12325         (_C_CTYPE_OTHER_CNTRL): New macro.
12326         * tests/test-c-ctype.c (test_all): Test from CHAR_MIN, not
12327         from SCHAR_MIN, as the functions are defined only from values
12328         promoted from char or from unsigned char, not necessarily from
12329         signed char.
12331 2015-09-25  Pavel Raiskup  <praiskup@redhat.com>
12333         gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
12335         The gl_PROG_AR_RANLIB (it is always called by gl_EARLY) sets AR
12336         and ARFLAGS variables.  Doing this unconditionally could break
12337         later Automake's AM_PROG_AR invocation (at least it's
12338         AC_CHECK_TOOLS call to detect correct 'ar' binary).
12340         Original purpose of the gl_PROG_AR_RANLIB was only to handle the
12341         Amsterdam Compiler Kit, so make the previous code to have effects
12342         only on ACK, and rather automatically call the Automake's
12343         AM_PROG_AR as soon as possible to decide other cases.
12345         References:
12346         http://lists.gnu.org/r/bug-gnulib/2015-07/msg00001.html
12348         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): AC_BEFORE AM_PROG_AR.
12349         Set the AR/ARFLAGS to ACK defaults OR call AM_PROG_AR.  If neither
12350         is possible, keep setting AR/ARFLAGS to reasonable defaults.
12351         * gnulib-tool (func_import): Put the gl_USE_SYSTEM_EXTENSIONS
12352         right before gl_PROG_AR_RANLIB into gnulib-comp.m4 (if the
12353         'extensions' module is used.
12354         * modules/extensions (configure.ac-early): Remove as this snippet
12355         is added to gnulib-comp.m4 earlier anyway.
12357 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
12359         sockets: MS Windows initalization fixes
12360         Problem reported by Test User in:
12361         http://lists.gnu.org/r/help-shishi/2015-09/msg00001.html
12362         * lib/sockets.h (SOCKETS_1_0, SOCKETS_2_0, SOCKETS_2_1):
12363         Correct the endianness.
12364         * lib/sockets.c (gl_sockets_startup): Return 2 on any version
12365         number mismatch, not just on <.  Cleanup before any such failure.
12367 2015-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
12369         gc: fix detection of installed libgcrypt version
12370         * m4/gc.m4: Use AM_PATH_LIBCRYPT to test for libcrypt versions
12371         at least as recent as 1.4.4.  The previously used macro is not
12372         available now, since modules were removed in version 1.6.0.
12374 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
12376         c-ctype: rewrite to use inline functions
12377         This simplifies maintenance, since it makes for just one
12378         implementation of each function, letting the compiler have the fun
12379         of optimization.  In practice this works well nowadays with GCC.
12380         E.g., c_isascii might need only three instructions even though the
12381         source code lists every ASCII character individually in a large
12382         switch statement.
12383         Also, fix some z/OS porting bugs reported by Daniel Richard G. in:
12384         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00037.html
12385         * NEWS: Document the API change.
12386         * lib/c-ctype.c: Drastically simplify, since this now just expands
12387         inline functions.
12388         * lib/c-ctype.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
12389         (C_CTYPE_INLINE): New macro.
12390         (C_CTYPE_CONSECUTIVE_DIGITS, C_CTYPE_CONSECUTIVE_LOWERCASE)
12391         (C_CTYPE_CONSECUTIVE_UPPERCASE): Remove.
12392         Verify that either ASCII or EBCDIC is being used.
12393         (_C_CTYPE_SIGNED_EBCDIC, _C_CTYPE_CNTRL, _C_CTYPE_A_THRU_F_N)
12394         (_C_CTYPE_DIGIT_N, _C_CTYPE_LOWER_N, _C_CTYPE_UPPER_N)
12395         (_C_CTYPE_CASES, _C_CTYPE_A_THRU_F, _C_CTYPE_DIGIT, _C_CTYPE_LOWER)
12396         (_C_CTYPE_UPPER, _C_CTYPE_PUNCT_PLAIN):
12397         New private macros.
12398         (_C_CTYPE_CNTRL): In EBCDIC, '\x07' is a control, not '\xff'.
12399         (c_isalnum, c_isalpha, c_isascii, c_isblank, c_iscntrl, c_isdigit)
12400         (c_isgraph, c_islower, c_isprint, c_ispunct, c_isspace, c_isupper)
12401         (c_isxdigit, c_tolower, c_toupper): Now inline functions.
12402         (c_tolower, c_toupper): When converting, return the unsigned char,
12403         as that is what z/OS does.
12404         * lib/c-strcaseeq.h (CASEEQ): Simplify in the light of the removal
12405         of some c-ctype.h macros.
12406         * modules/c-ctype (Depends-on): Add extern-inline; remove verify.
12407         * tests/test-c-ctype.c (test_all): Fix test for c_toupper and
12408         c_tolower promotion to be compatible with z/OS.
12410 2015-09-24  Pavel Raiskup  <praiskup@redhat.com>
12412         gitlog-to-changelog: trim only trailing whitespaces
12413         This is fix for --format regression introduced by commit
12414         2b93079a5d1baa4d;  it caused that --format='%s%n%n%b%n' (see the
12415         doubled %n string) had no effect anymore.  This format
12416         specification has been used e.g. by GNU paxuitils (commit
12417         edfd8bcc3).
12419         * build-aux/gitlog-to-changelog (main): Stop squashing multiple
12420         newlines in commmit messages.
12422 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12424         Test that c_iscntrl agrees with iscntrl, etc.
12425         Suggested by Daniel Richard G. in:
12426         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00034.html
12427         * modules/c-ctype-tests (Depends-on): Add ctype.
12428         * tests/test-c-ctype.c: Include <ctype.h>.
12429         (NCHARS): New constant.
12430         (test_agree_with_C_locale): New function.
12431         (main): Use it.
12432         (test_all): Use named constants.
12434         c-ctype: improve c_isascii testing
12435         * tests/test-c-ctype.c (test_all): Port c_isascii test to EBCDIC.
12436         Add a test to count the number of ASCII characters.
12438 2015-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12440         savewd: remove SAVEWD_CHDIR_READABLE
12441         It was problematic in the light of file systems that ignore umask.
12442         Problem reported by Sebastian Unger in: http://bugs.gnu.org/21534
12443         * NEWS: Document this.
12444         * lib/mkancesdirs.c (mkancesdirs): MAKE_DIR now returns 0 if
12445         successful, -1 (setting errno) on failure, rather than something
12446         more complicated than that.
12447         * lib/mkdir-p.c (make_dir_parents):
12448         Do not use SAVEWD_CHDIR_READABLE.
12449         * lib/savewd.c (savewd_chdir):
12450         Remove support for SAVEWD_CHDIR_READABLE.
12451         * lib/savewd.h (SAVEWD_CHDIR_READABLE): Remove.
12453         c-ctype: port better to EBCDIC
12454         Problems reported by Daniel Richard G. in
12455         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00020.html
12456         * lib/c-ctype.c: Include <limits.h>, for CHAR_MIN and CHAR_MAX.
12457         Include "verify.h".
12458         (C_CTYPE_ASCII, C_CTYPE_CONSECUTIVE_DIGITS)
12459         (C_CTYPE_CONSECUTIVE_LOWERCASE, C_CTYPE_CONSECUTIVE_UPPERCASE):
12460         Define as enum constants with value false, if not defined, so that
12461         code can use 'if' instead of 'ifdef'.  Using 'if' helps make the
12462         code more portable, as both branches of the 'if' are compiled on
12463         all platforms.
12464         (C_CTYPE_EBCDIC): New constant.
12465         Verify that the character set is either ASCII or EBCDIC.
12466         (to_char): New static function.
12467         (c_isascii, c_iscntrl):
12468         Assume standard control-character assignments for EBCDIC.
12469         (c_isalnum, c_isalpha, c_isdigit, c_islower, c_isgraph, c_isprint)
12470         (c_ispunct, c_isupper, c_isxdigit, c_tolower, c_toupper):
12471         Rewrite to use 'if' instead of 'ifdef'.
12472         Use to_char if non-ASCII.  Prefer <= to >=.
12473         Prefer true and false to 1 and 0, for booleans.
12474         (c_iscntrl): Use 'if', not 'ifdef'.
12475         * modules/c-ctype (Depends-on): Add verify.
12476         * tests/test-c-ctype.c: Include <limits.h>, for CHAR_MIN
12477         (to_char): New function.
12478         (test_all): Port to EBCDIC.  Add some more tests, e.g., for c_ispunct.
12480 2015-09-21  Pádraig Brady  <P@draigBrady.com>
12482         nanosleep: fix return code for interrupted replacement
12483         * lib/nanosleep.c (nanosleep): In the replaced nanosleep, ensure
12484         that we return -1 in the case the call is interrupted by a signal,
12485         rather than the current value of 1.
12486         Diagnosed and tested by Daniel Richard G.
12488 2015-09-19  Paul Eggert  <eggert@cs.ucla.edu>
12490         Diagnose ERE '()|\1'
12491         Problem reported by Hanno Böck in: http://bugs.gnu.org/21513
12492         * lib/regcomp.c (parse_reg_exp): While parsing alternatives, keep
12493         track of the set of previously-completed subexpressions available
12494         before the first alternative, and restore this set just before
12495         parsing each subsequent alternative.  This lets us diagnose the
12496         invalid back-reference in the ERE '()|\1'.
12498         regex: merge patches from libc
12500         2015-09-08  Joseph Myers  <joseph@codesourcery.com>
12501         Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912).
12502         * lib/regex_internal.h:
12503         Include <libc-lock.h> instead of <bits/libc-lock.h>.
12505         2015-06-09  Joseph Myers  <joseph@codesourcery.com>
12506         Fix regcomp wcscoll, wcscmp namespace (bug 18497).
12507         * lib/regcomp.c (build_range_exp): Call __wcscoll instead of
12508         wcscoll.
12509         * lib/regexec.c (check_node_accept_bytes): Likewise.
12511         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
12512         Fix regex wcrtomb namespace (bug 18496).
12513         * lib/regex_internal.c (build_wcs_upper_buffer): Call __wcrtomb
12514         instead of wcrtomb.
12516         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
12517         Fix regex wctype namespace (bug 18495).
12518         * lib/regcomp.c (re_compile_fastmap_iter): Call __towlower
12519         instead of towlower.
12520         * lib/regex_internal.c (build_wcs_upper_buffer): Call __iswlower
12521         instead of iswlower.  Call __towupper instead of towupper.
12522         * lib/regex_internal.h (IS_WIDE_WORD_CHAR): Call __iswalnum
12523         instead of iswalnum.
12525         2015-01-07  Chris Metcalf  <cmetcalf@ezchip.com>
12526         * lib/regcomp.c (parse_bracket_exp): Initialize type to
12527         COLL_SYM in a couple of places to avoid uninitialized variable
12528         wanings on tilegx gcc 4.8.2.
12530         2014-11-24  Siddhesh Poyarekar  <siddhesh@redhat.com>
12531         * lib/regex_internal.h: Remove NOT_IN_libc.
12533         2014-11-17  Andreas Schwab  <schwab@suse.de>
12534         * lib/regex_internal.h: Don't include <locale/elem-hash.h>.
12536         2014-09-11  Roland McGrath  <roland@hack.frob.com>
12537         Move findidx nested functions to top-level.
12538         * lib/regcomp.c [_LIBC]: #include <locale/weight.h>.
12539         (build_equiv_class) [_LIBC]: Don't #include it inside the function.
12540         Pass new arguments to findidx.
12541         * lib/regexec.c [RE_ENABLE_I18N] [_LIBC]: #include <locale/weight.h>.
12542         [RE_ENABLE_I18N] (check_node_accept_bytes) [_LIBC]:
12543         Don't #include it inside the function.  Pass new arguments to findidx.
12544         * lib/regex_internal.h:
12545         [!NOT_IN_libc] [_LIBC]: #include <locale/weight.h>.
12546         (re_string_elem_size_at): Don't #include it inside the function.
12547         Pass new arguments to findidx.
12549         2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
12550         Check if DEBUG is defined in regex_internal.c
12551         * lib/regex_internal.c: Check if DEBUG is defined and is set.
12553 2015-09-08   Assaf Gordon  <assafgordon@gmail.com>
12555         ceill: detect buggy OpenBSD implementation
12556         * m4/ceill.m4 (gl_FUNC_CEILL): Detect buggy openBSD implementation
12557         which returns zero for small values.  Discussed here:
12558         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00010.html
12560 2015-09-08  Dave Chiluk  <chiluk@canonical.com>
12562         mountlist: add me_mntroot field on Linux machines
12563         * lib/mountlist.c (read_file_system_list): Populate me_mntroot in
12564         mount_entry so Linux machines based on /proc/self/mountinfo can
12565         distinguish between bind mounts and original mounts.  In reality bind
12566         mounts aren't treated differently than mountroot=/ mounts by the
12567         kernel, but the user often wants these bind mounts distinguished.
12568         * lib/mountlist.h (struct mount_entry): Add me_mntroot element.
12569         More details at https://pad.lv/1432871
12571 2015-09-08  Christian Egli  <christian.egli@sbs.ch>
12573         doc: Describe to use multiple instances of gnulib
12574         * doc/gnulib-tool.texi: Add a section to the manual outlining how two
12575         instances of gnulib with different modules can be used, for example one
12576         for a lib and another one for associated tools.
12578 2015-09-01  Pádraig Brady  <P@draigBrady.com>
12580         base32: mark function as __attribute__ const
12581         * lib/base32.h (isbase32): Mark __attribute__ const as
12582         suggested by GCC, and consistent with the base64 module.
12584 2015-08-20  Daiki Ueno  <ueno@gnu.org>
12586         gnulib-tool: don't transform binary files with sed
12587         * gnulib-tool (func_add_or_update): Don't apply sed_transform_* to
12588         .mo and .class files.
12589         Reported by Denis Denisov.
12591 2015-08-10  Daiki Ueno  <ueno@gnu.org>
12593         gperf: respect silent rules
12594         * modules/gperf (Makefile.am): Define V_GPERF, V_GPERF_, and
12595         V_GPERF_0 for silent rules.
12596         * modules/iconv_open (Makefile.am): Use V_GPERF.
12597         * modules/unicase/locale-language (Makefile.am): Likewise.
12598         * modules/unicase/special-casing (Makefile.am): Likewise.
12599         * modules/unictype/category-byname (Makefile.am): Likewise.
12600         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
12601         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
12602         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
12603         * modules/unictype/property-byname (Makefile.am): Likewise.
12604         * modules/unictype/scripts (Makefile.am): Likewise.
12605         * modules/uninorm/composition (Makefile.am): Likewise.
12607 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
12609         Improve port of stdalign to C++11
12610         Problem reported by Sundaram in:
12611         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00003.html
12612         * lib/stdalign.in.h (alignof, alignas): Don't define if C++11 or newer.
12613         (__alignas_is_defined): Define if C++11 or newer.
12615 2015-08-01  Assaf Gordon  <assafgordon@gmail.com>  (tiny change)
12617         pmccabe2html: fix gawk regex escaping
12618         * build-aux/pmccabe2html: Add one more backslash to properly
12619         escape the gsub replacement value.  Fixes this error:
12620         gawk: ./build-aux/pmccabe2html:425: \
12621         warning: escape sequence `\&' treated as plain `&'
12623 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
12625         time_rz: port to pedantic memcpy
12626         * lib/time_rz.c (tzalloc): Pacify pedantic memcpy implementations
12627         that reject memcpy (..., NULL, 0).
12629 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
12631         time_rz: port better to MinGW
12632         Don't change tzname, as this makes MinGW dump core (Bug#21020).
12633         Instead, store the tzname copy in the struct tm_zone object.
12634         Problem reported by Eli Zaretskii in: http://bugs.gnu.org/21020#48
12635         * lib/strftime.c [!_LIBC]:
12636         * lib/time_rz.c: Include time-internal.h.
12637         * lib/strftime.c (strftime_case_) [!HAVE_TM_ZONE]: Infer the zone
12638         name from *TZ rather than from TZNAME, doable because *TZ now has
12639         a tzname_copy member.
12640         * lib/time-internal.h: New file, with contents taken from
12641         lib/time_rz.c.  It's separate because strftime.c now accesses
12642         struct tm_zone members.
12643         (struct tm_zone) [HAVE_TZNAME && !HAVE_TM_ZONE]:
12644         New member tzname_copy.
12645         * lib/time_rz.c (struct tm_zone): Move to time-internal.h.
12646         (tzalloc) [HAVE_TZNAME && !HAVE_TM_ZONE]:
12647         Initialize tzname_copy member.
12648         (save_abbr) [HAVE_TZNAME && !HAVE_TM_ZONE]: Save abbreviation
12649         in tzname_copy member.
12650         (revert_tz) [HAVE_TZNAME]: Remove no-longer-needed tzname saving.
12651         (restore_tzname): Remove; no longer needed.  All calls removed.
12652         * modules/time_rz (Files): Add lib/time-internal.h.
12654         time: port __need_time_t to MinGW
12655         * lib/time.in.h (__need_time_t): Do not treat specially on MinGW.
12656         Fix reported by Eli Zaretskii in: http://bugs.gnu.org/21020#36
12658 2015-07-25  Paul Eggert  <eggert@cs.ucla.edu>
12660         strftime: fix newly-introduced bug on Solaris
12661         * lib/strftime.c (strftime_case_): Set the local variable 'zone'
12662         consistently at the start, rather than doing some of the setup at
12663         the start and some in the %Z format spec.  This is cleaner, and
12664         works better with time_rz on platforms like Solaris where struct
12665         tm lacks a tm_zone member, as when !HAVE_TM_GMTOFF %z's calls to
12666         mktime_z and localtime_rz can mess up the tzname cache.
12668         test-strftime: test for Solaris bug
12669         * modules/strftime-tests (Depends-on): Add strerror.
12670         * tests/test-strftime.c: Include <errno.h>.
12671         (posixtm_test): New function, containing the old 'main'.
12672         (struct tzalloc_test, struct localtime_rz_test): New types.
12673         (TZ, LT): New static vars.
12674         (tzalloc_test): New function.
12675         (main): Rewrite in terms of posixtm_test and tzalloc_test.
12677         time_rz: port to Solaris etc.
12678         Works around a tzname problem on platforms like Solaris that have
12679         tzname but not tm_zone, by setting tzname at the appropriate time
12680         and restoring it later.
12681         * lib/time_rz.c (tzname_address, tzname_value) [HAVE_TZNAME]:
12682         New static vars.
12683         (save_abbr) [HAVE_TZNAME]: Set them.
12684         (revert_tz) [HAVE_TZNAME]: Clear or use them.
12685         (restore_tzname): New function.
12686         (localtime_rz, mktime_z): Use it.
12688         time_rz: now LGPL
12689         * modules/time_rz (License): Now LGPL, because strftime depends on it.
12691         time_rz: make a constant 'const'
12692         * lib/time_rz.c (local_tz): Now const.
12694         time_rz: fix off-by-one typo
12695         * lib/time_rz.c (extend_abbrs): Fix off-by-one typo.
12697 2015-07-23  Paul Eggert  <eggert@cs.ucla.edu>
12699         fprintftime, strftime: use timezone_t args
12700         * NEWS: Document the change.
12701         * lib/fprintftime.h (fprintftime):
12702         * lib/strftime.c (extra_args) [my_strftime]:
12703         * lib/strftime.h (nstrftime):
12704         Time zone arg is now of type timezone_t, not int.
12705         * lib/strftime.c (mktime_z) [_LIBC]: New macro.
12706         (__gmtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: Remove; no longer used.
12707         (my_strftime) [emacs && !my_strftime]:
12708         (emacs_strftimeu) [emacs && !FPRINTFTIME]:
12709         Remove; Emacs doesn't need this any more.
12710         (HAVE_TZSET) [my_strftime]: Unset, since we no longer want
12711         fprintftime and nstrftime to call tzset.
12712         (ut) [!my_strftime]: Remove, replacing with ...
12713         (tz) [!my_stftime]: ... this new macro.  All uses changed.
12714         (strftime_case_): Use localtime_rz and mktime_z instead
12715         of localtime_r and mktime.
12716         * modules/fprintftime (Depends-on): Add time_rz.
12717         * modules/strftime (Depends-on): Add time_rz.  Remove time_r.
12718         * tests/test-strftime.c (main): Adjust to new nstrftime API.
12720         time_rz: new module
12721         * MODULES.html.sh: Add time_rz.
12722         * lib/time_rz.c, m4/time_rz.m4, modules/time_rz: New files.
12723         * lib/time.in.h (timezone_t, tzalloc, tzfree, localtime_rz, mktime_z):
12724         New decls if _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@.
12725         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS):
12726         New var HAVE_TIMEZONE_T (default 0).
12727         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
12728         New var GNULIB_TIME_RZ (default 0).
12729         * modules/time (time.h): Substitute the new vars.
12731         flexmember: license is now unlimited
12732         * modules/flexmember (License): Change to unlimited,
12733         since its only source file gives an unlimited license.
12735 2015-07-15  Eric Blake  <eblake@redhat.com>
12737         maint: update copyright paper procedures
12738         * config/srclist.txt: Drop outdated files.
12739         * doc/Copyright/conditions.txt: Update to latest.
12740         * doc/Copyright/assign.changes.manual: Delete.
12741         * doc/Copyright/assign.future.manual: Likewise.
12742         * doc/Copyright/assign.manual: Likewise.
12743         * doc/Copyright/assign.translation.manual: Likewise.
12744         * doc/Copyright/disclaim.changes.manual: Likewise.
12745         * doc/Copyright/disclaim.manual: Likewise.
12746         * doc/Copyright/disclaim.program: Likewise.
12748 2015-07-07  Daiki Ueno  <ueno@gnu.org>
12750         localename: fix link error on Illumos
12751         Illumos defines __sun, but does not have getlocalename_l nor the
12752         equivalent.  This partially reverts commit 387c214.
12753         * m4/localename.m4 (gl_LOCALENAME): Check if getlocalename_l is
12754         available, as well as uselocale.
12755         * lib/localename.c [HAVE_USELOCALE && __sun]: Don't fallback to
12756         use getlocalename_l if it is not available.
12758 2015-07-07  Daiki Ueno  <ueno@gnu.org>
12760         unistr/uN-strtok-tests: avoid a trivial leak
12761         * tests/unistr/test-u-strtok.h (test_u_strtok): Untabify.  Free
12762         input and delim after the multibyte delimiter tests.
12764 2015-07-04  Paul Eggert  <eggert@cs.ucla.edu>
12766         file-has-acl, acl-permissions: fix HP-UX typos
12767         Problem reported by John David Anglin in: http://bugs.gnu.org/20979
12768         * lib/file-has-acl.c (file_has_acl):
12769         * lib/set-permissions.c (context_acl_from_mode)
12770         (context_aclv_from_mode, set_acls):
12771         Fix some obvious typos when HAVE_GETCL /* HP-UX */.
12772         They were introduced by the recent ACL changes.
12774         regex: match current GNU grep behavior
12775         These symbols have not matched GNU grep behavior for quite some time.
12776         Fix prompted by Balazs Kezes bug report at: http://bugs.gnu.org/20974
12777         * lib/regex.h (RE_SYNTAX_GREP, RE_SYNTAX_EGREP):
12778         Change to match current GNU behavior.
12779         Simplify by expressing it as differences from POSIX BREs and EREs.
12780         (RE_SYNTAX_POSIX_EGREP): No longer differs from GNU behavior.
12782 2015-07-03  Jim Meyering  <meyering@fb.com>
12784         set-permissions.c: adjust acl_from_mode's cpp guard
12785         * lib/set-permissions.c (acl_from_mode): Guard with #ifdef
12786         directives identical to those guarding the sole use.
12787         Otherwise, on some systems, we'd get a warning about
12788         the function being defined but not used.
12789         Also, filter through cppi to correct misleading indentation
12790         of cpp directives.
12792 2015-07-03  Pádraig Brady  <P@draigBrady.com>
12794         tests: restrict shells to those that support 'local'
12795         The local keyword is very widely supported and used
12796         in tests in coreutils and grep at least.  Therefore
12797         restrict to testing with shells that support it.
12798         This mainly excludes /bin/sh on Solaris.
12799         * tests/init.sh (gl_shell_test_script_): Add a test for 'local'.
12801 2015-07-03  Seiya Kawashima  <skawashima@uchicago.edu>  (tiny change)
12802         and Daiki Ueno  <ueno@gnu.org>
12804         unistr/uN-strtok: handle multibyte delimiters
12805         Previously, uN_strtok moved PTR to the next unit to the token end.
12806         When DELIM contained a multibyte character, the new position could
12807         be a middle of a multibyte character.
12808         * lib/unistr/u-strtok.h (FUNC): Place PTR at the next character
12809         after the token.
12810         * lib/unistr/u8-strtok.c (U_STRMBLEN): New macro.
12811         * lib/unistr/u16-strtok.c (U_STRMBLEN): New macro.
12812         * lib/unistr/u32-strtok.c (U_STRMBLEN): New macro.
12813         * modules/unistr/u8-strtok (Depends-on): Depend on
12814         unistr/u8-strmblen.
12815         * modules/unistr/u16-strtok (Depends-on): Depend on
12816         unistr/u16-strmblen.
12817         * modules/unistr/u32-strtok (Depends-on): Depend on
12818         unistr/u32-strmblen.
12819         * tests/unistr/test-u-strtok.h: New file.
12820         * tests/unistr/test-u8-strtok.c: New file.
12821         * tests/unistr/test-u16-strtok.c: New file.
12822         * tests/unistr/test-u32-strtok.c: New file.
12823         * modules/unistr/u8-strtok-tests: New file.
12824         * modules/unistr/u32-strtok-tests: New file.
12825         * modules/unistr/u16-strtok-tests: New file.
12827 2015-07-02  Friedrich Haubensak  <hsk@fli-leibniz.de>
12829         update-copyright: fix test failure with perl >= 5.22 (trivial)
12830         * build-aux/update-copyright: Escape a literal left curly bracket,
12831         required with perl >= 5.22
12833 2015-07-02  Daiki Ueno  <ueno@gnu.org>
12835         u{16,32}-strstr-tests: relax timeout condition
12836         On slower platforms (e.g., Solaris 10/SPARC), u{16,32}-strstr
12837         tests can take longer than 5 seconds to complete.
12838         Reported by Dagobert Michelsen in:
12839         https://lists.gnu.org/r/bug-libunistring/2015-06/msg00006.html
12840         * tests/unistr/test-u16-strstr.c (main): Increase timeout from 5
12841         seconds to 10 seconds.
12842         * tests/unistr/test-u32-strstr.c (main): Likewise.
12844 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
12846         gnulib-common.m4: change the ARFLAGS default to 'cr'
12847         In some GNU/Linux distributions people started to compile 'ar'
12848         binary with --enable-deterministic-archives (binutils project).
12849         That, however, in combination with previous autotools long time
12850         working default AR{_,}FLAGS=cru causes warnings on such
12851         installations:
12852         ar: `u' modifier ignored since `D' is the default (see `U')
12853         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Set ARFLAGS='cr' if not
12854         set already.
12856 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
12858         selinux-h: avoid double free after *getfilecon()
12859         Originally reported by Ben Shelton on bug-tar:
12860         http://lists.gnu.org/r/bug-tar/2015-04/msg00009.html
12861         * lib/getfilecon.c (map_to_failure): Set the already freed '*con'
12862         pointer to NULL.  Man getfilecon(3) says that any non-NULL '*con'
12863         param should be freed by freecon(3) (regardless the return value).
12865 2015-07-01  Pavel Fedin  <p.fedin@samsung.com>
12867         fix pty related tests issues on Windows (trivial)
12868         * lib/grantpt.c (grantpt): grantpt.c seems to be never used on Windows,
12869         however it's still present in tests/ subdirectory of the final project.
12870         Therefore avoid it to pass `make check`.
12871         * tests/test-openpty.c (main): Windows has no PTYs and gnulib's openpty()
12872         will just return -ENOSYS, so avoid this non applicable test allowing
12873         the build to proceed.
12875 2015-07-01  Pádraig Brady  <P@draigBrady.com>
12877         acl: fix definition of acl_from_mode on FreeBSD
12878         This was causing basic coreutils copy operations to fail
12879         with ENOTSUP or ENOENT error messages.
12880         * lib/acl-internal.h (acl_from_mode): Only define when
12881         ! defined HAVE_ACL_FROM_TEXT.  That allows the version
12882         of acl_from_mode() defined in lib/set-permissions.c to
12883         be used on FreeBSD at least.
12884         * lib/set-permissions.c: Fix up comment spelling,
12885         and a redundant variable assignment; noticed in passing.
12887 2015-06-30  Pádraig Brady  <P@draigBrady.com>
12889         readutmp: port to FreeBSD >= 9
12890         * lib/readutmp.h: Map utmpxname() to setutxdb().
12891         With that coreutils who(1) and pinky(1) tests pass.
12893 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
12895         mgetgroups: port to strict OS X
12896         The previous fix wasn't working, so use a bigger hammer (Bug#20923).
12897         * lib/mgetgroups.c: Ignore -Wpointer-sign diagnostics.
12898         (getgrouplist_gids) [HAVE_GETGROUPLIST]: Remove.  All uses removed.
12899         * m4/mgetgroups.m4 (gl_MGETGROUPS): Revert recent changes.
12901 2015-06-29  Paul Eggert  <eggert@cs.ucla.edu>
12903         mgetgroups: port to strict OS X
12904         * doc/glibc-functions/getgrouplist.texi (getgrouplist):
12905         Document the getgrouplist problem.
12906         * lib/mgetgroups.c (getgrouplist_gids) [HAVE_GETGROUPLIST]:
12907         New macro.
12908         (mgetgroups): Use it.
12909         * m4/mgetgroups.m4 (gl_MGETGROUPS):
12910         Check for OS X signature for getgrouplist.
12912 2015-06-29  Jim Meyering  <meyering@fb.com>
12914         linkat: fix invalid definition of LINKAT_SYMLINK_NOTSUP on OS X
12915         It started like this when building coreutils' latest on OS X,
12916         invoking ./configure with a nonempty --cache=.cache:
12918           lib/linkat.c:46:42: error: operator '||' has no right operand
12919           lib/linkat.c: In function 'rpl_linkat':
12920           lib/linkat.c:330:27: error: #if with no expression
12922         Here's linkat.c's line 46:
12924           #if !HAVE_LINKAT || LINKAT_SYMLINK_NOTSUP
12926         Here's some context:
12928           $ grep linkat_nofoll .cache
12929           gl_cv_func_linkat_nofollow=${gl_cv_func_linkat_nofollow=no}
12930           $ grep LINKAT_SYM lib/config.h
12931           #define LINKAT_SYMLINK_NOTSUP
12933         The problem is that m4/linkat.m4's gl_FUNC_LINKAT
12934         uses AC_CACHE_CHECK to set LINKAT_SYMLINK_NOTSUP,
12935         but that violates a tenet of AC_CACHE_CHECK: it must
12936         have no side effect other than setting its cache variable.
12938         What happens is that when the cache is set, we'd skip the
12939         code in that AC_CACHE_CHECK call, and leave LINKAT_SYMLINK_NOTSUP
12940         defined to whatever value it happened to have in configure's
12941         environment.  In my case, it was not defined, so this later code:
12943           AC_DEFINE_UNQUOTED([LINKAT_SYMLINK_NOTSUP], [$LINKAT_SYMLINK_NOTSUP],
12944             [Define to 1 if linkat can create hardlinks to symlinks])
12946         would emit code with an empty RHS.
12948         * m4/linkat.m4 (gl_FUNC_LINKAT): Move the setting of
12949         $LINKAT_SYMLINK_NOTSUP out of the AC_CACHE_CHECK code block.
12951 2015-06-28  Jim Meyering  <meyering@fb.com>
12953         mountlist: avoid an unused-label warning on OS X
12954         * lib/mountlist.c (read_file_system_list) [MOUNTED_GETMNTINFO]:
12955         Building on OS X, I saw a warning about the "free_then_fail" label
12956         being unused.  Give it the _GL_UNUSED_LABEL attribute.
12958         error.c: correct printf-style format: %d -> %u
12959         * lib/error.c (error_at_line): Correct __fxprintf format to use %u,
12960         rather than %d, to match the type of "line_number", unsigned int.
12962 2015-06-25  Pádraig Brady  <P@draigBrady.com>
12964         fts: avoid reading beyond the heap allocation
12965         GCC 5.1.1 with -O2 and -fsanitize=address reports
12966         a read of size 4 from a heap object of size 3 is indeed invalid,
12967         though this may be due to incorrect padding assumptions by GCC, see:
12968         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
12969         * lib/fts.c (fts_alloc): Increase allocation to alignof(FTSENT).
12970         * modules/fts: Depend on stdalign.
12972 2015-06-24  Pádraig Brady  <P@draigBrady.com>
12974         savedir: avoid undefined behavior in qsort call
12975         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
12976         "runtime error: null pointer passed as argument 1,
12977          which is declared to never be null"
12978         * lib/savedir.c (streamsavedir): Avoid the call with no entries.
12980 2015-06-24  Pádraig Brady  <P@draigBrady.com>
12982         userspec: avoid undefined behavior in gettext call
12983         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
12984         "runtime error: null pointer passed as argument 2,
12985          which is declared to never be null"
12986         * lib/userspec.c (parse_with_separator): Avoid passing NULL to gettext()
12988 2015-06-20  Glenn Morris  <rgm@gnu.org>
12990         gitlog-to-changelog: improve gitmerge.el commits
12991         Let the Emacs ChangeLog generation process exclude "skipped"
12992         messages from merge commits (Bug#20717).
12993         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
12995 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
12997         wchar: fix MinGW compilation warnings
12998         This lets Texinfo compile cleanly.  See Eli Zaretskii in:
12999         http://lists.gnu.org/r/bug-gnulib/2015-06/msg00050.html
13000         * lib/wchar.in.h: Do not use special invocation convention on MinGW.
13002 2015-06-20  Daiki Ueno  <ueno@gnu.org>
13004         uniname/uniname-tests: use pristine data files
13005         For copyright and maintenance reasons, use the data files from UCD
13006         without modification.
13007         * tests/uniname/test-uninames.c (FIELDLEN): Remove.
13008         (getfield): Remove.
13009         (aliases_count): New global variable.
13010         (fill_names): Skip comments and empty lines in the input.  Don't
13011         use getfield.
13012         (fill_aliases): Likewise.
13013         (main): Change the expected command line arguments to:
13014         NAMES... ["--" ALIASES...].
13015         * tests/uniname/test-uninames.sh: Adjust to the change in
13016         test-uninames.c.
13017         * tests/uniname/UnicodeDataNames.txt: Remove.
13018         * tests/uniname/UnicodeData.txt: New file, from Unicode 8.0.0.
13019         * tests/uniname/NameAliases.txt: Use the pristine copy of the data
13020         file from Unicode 8.0.0.
13022 2015-06-19  Pádraig Brady  <P@draigBrady.com>
13024         linked-list, linkedhash-list: avoid compiler warnings
13025         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
13026         -Werror=suggest-attribute=pure (from GCC 5.1.1).
13028 2015-06-19  Daiki Ueno  <ueno@gnu.org>
13030         libunistring: bump minimum version to 0.9.6
13031         * all modules depending on updated Unicode data: Regenerate.
13032         The modules are listed by a script that does:
13033         - for each file listed by: git show --oneline --name-only 705f4efc
13034           - deduce the containing modules, based on "Files:"
13035         - deduce the modules which depend on the containing modules, based
13036           on "Depends-on:"
13038 2015-06-18  Daiki Ueno  <ueno@gnu.org>
13040         uniname/uniname: update to Unicode 8.0.0
13041         * lib/uniname/uninames.h: Regenerate.
13042         * tests/uniname/NameAliases.txt: Update from Unicode 8.0.0.
13043         * tests/uniname/UnicodeDataNames.txt: Update from Unicode 8.0.0.
13045 2015-06-18  Daiki Ueno  <ueno@gnu.org>
13047         libunistring: update to Unicode 8.0.0
13048         * lib/gen-uni-tables.c (SIZEOF): New macro.
13049         (output_numeric): Increase the maximum number of fractions from
13050         128 to 160.  Increase the level3 value width from 7 bits to 8
13051         bits.  Use SIZEOF instead of a hard-coded integer.
13052         (output_blocks): Decrease the cut-off threshold from 0x30000 to
13053         0x28000.
13054         (fill_blocks): Increase the maximum number of blocks from 256 to
13055         384.  Use SIZEOF instead of a hard-coded integer.
13056         (get_lbp): Adjust to new characters added in Unicode 8.0.0.
13057         * lib/unictype/numeric.c (uc_numeric_value): Adjust the level3
13058         value width.
13059         * lib/unilbrk/lbrktables.c (unilbrk_table): Implement LBP21b and
13060         a new case added to LBP22.
13061         * lib/uniwidth/width.c (nonspacing_table_data): Add U+08E3,
13062         U+A69E, U+FE2E..U+FE2F, U+111CA..U+111CC, U+11300,
13063         U+115DC..U+115DD, U+1171D..U+1171F, U+11722..U+11725,
13064         U+11727..U+1172B, U+1DA00..U+1DA36, U+1DA3B..U+1DA6C, U+1DA75,
13065         U+1DA84, U+1DA9B..U+1DA9F, and U+1DAA1..U+1DAAF.
13066         * tests/uniwidth/test-uc_width2.sh: Same updates as in
13067         lib/uniwidth/width.c.
13068         * all generated files under lib/uni* and tests/uni*: Regenerate.
13070 2015-06-16  Pádraig Brady  <P@draigBrady.com>
13072         gnu-web-doc-update: add --mirror to remove stale files
13073         * build-aux/gnu-web-doc-update: Add a --mirror option to remove
13074         out of date files from the CVS server.  Since this is usually
13075         appropriate, a prompt is given when the option is not specified,
13076         along with the `cvs remove` command that would be run.
13078 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
13080         acl-permissions: pacify -Wsuggest-attribute=const
13081         Problem reported by Masanari Iida in: http://bugs.gnu.org/20753
13082         * lib/acl-internal.h (free_permission_context):
13083         Declare with attribute const if ! (defined USE_ACL &&
13084         (HAVE_ACL_GET_FILE || defined GETACL)).
13086         fsync: document AIX misbehavior
13087         * doc/posix-functions/fsync.texi (fsync):
13088         Document failure on AIX with read-only file descriptor.
13090 2015-06-05  Jonathan Perkin  <jperkin@joyent.com>  (tiny change)
13092         stdio: Don't redefine gets when using C++
13093         * lib/stdio.in.h (gets): Disable warning on C++.
13095 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
13097         acl-permissions: port to AIX, C89 HP-UX
13098         Problems reported by Michael Felt.
13099         * lib/file-has-acl.c (file_has_acl) [HAVE_STATACL]:
13100         * lib/get-permissions.c (get_permissions) [USE_ACL && HAVE_STATACL]:
13101         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]:
13102         * lib/set-permissions.c (set_acls) [HAVE_ACLX_GET && ACL_AIX_WIP]:
13103         Add cast for AIX, whose system calls are declared to accept
13104         char * even though the arguments are really char const *.
13105         * lib/get-permissions.c (get_permissions):
13106         If USE_ACL && HAVE_GETACL /* HP-UX */, don't assume C99.
13107         If USE_ACL && HAVE_STATACL /* older AIX */, add missing decl
13108         that broke a build.
13109         * lib/mountlist.c (read_file_system_list) [MOUNTED_VMOUNT]:
13110         Rework types to pacify xlc.
13112 2015-06-03  Pádraig Brady  <P@draigBrady.com>
13114         vasprintf-posix: avoid compiling vasnprintf where possible
13115         * modules/vasprintf-posix: Avoid compiling the large vasnprintf
13116         module where not required.  For example on a GNU/Linux system
13117         when gnulib-tool is run with the --conditional-dependencies option.
13119 2015-06-02  Pádraig Brady  <P@draigBrady.com>
13121         file-has-acl: fix build on Mac OS X 10
13122         This reverts commit f1b37e3a which doesn't work on Mac OS X >= 10.4
13123         which has an incompatible 6 parameter getxattr() call.
13124         * doc/glibc-functions/getxattr.texi: Mention the divergent getxattr()
13125         call on Mac OS X >= 10.4.
13126         * doc/glibc-functions/fgetxattr.texi: Likewise.
13127         * lib/file-has-acl.c: Revert to more complete combined check.
13128         * m4/acl.m4 (gl_FILE_HAS_ACL): Likewise.
13129         Reported by Jack Howarth.
13131 2015-06-02  Pádraig Brady  <P@draigBrady.com>
13133         prefix-gnulib-mk: remove no longer needed special case
13134         * build-aux/prefix-gnulib-mk (prefix): Since commit e3704b9c,
13135         continued lib_SOURCES lines are no longer present,
13136         so special case handling of such entries is not required.
13138 2015-06-01  Pádraig Brady  <P@draigBrady.com>
13140         acl: don't depend on the deprecated qacl module
13141         * modules/acl (Depends-on): Use q{copy,set}-acl instead.
13143 2015-06-01  Pádraig Brady  <P@draigBrady.com>
13145         gnulib-tool: concatenate lib_SOURCES to a single line
13146         * gnulib-tool: Refactor the line merging sed logic,
13147         and use that to output a single lib_SOURCES line for each module.
13148         gnulib using projects often postprocess this output to prepend
13149         subdir paths to each item, and having a single line simplifies this
13150         processing allowing better decoupling from the gnulib-tool output.
13152 2015-06-01  Pavel Fedin  <p.fedin@samsung.com>
13154         pthread_sigmask: discount system version if a simple macro (trivial)
13155         MinGW64 has: #define pthread_sigmask(H, S1, S2) 0
13156         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Call the
13157         function to ensure it's available.
13159 2015-05-31  Pádraig Brady  <P@draigBrady.com>
13161         readlinkat: avoid OS X 10.10 trailing slash bug
13162         * doc/posix-functions/readlink.texi: Mention that OS X 10.10
13163         has this bug.
13164         * doc/posix-functions/readlinkat.texi: Likewise.  Also mention
13165         that OS X 10.10 has this function.
13166         * lib/readlinkat.c (rpl_readlinkat): Handle the trailing slash bug,
13167         as done for readlink().
13168         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check for the readlink()
13169         trailing slash bug, and assume readlinkat() has the same issue.
13170         Also fix a typo where $gl_cv_decl_readlink_works was tested,
13171         rather than the correct $gl_cv_decl_readlinkat_works.
13173 2015-05-29  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
13175         acl-permissions: Fix build on Mac OS X and older AIX (Bug#20681)
13176         * lib/set-permissions.c (set_acls): Fix more errors introduced in the acl
13177         module rewrite.
13179         acl-permissions: Fix build on Solaris and Cygwin
13180         Reported by Tom G. Christensen <tgc@jupiterrise.com>:
13181         * lib/set-permissions.c (set_acls): The count, entries, ace_count, and
13182         ace_entries variables have moved into struct permission_context but
13183         they were still accessed as local variables here.
13185 2015-05-29  Pádraig Brady  <P@draigBrady.com>
13187         linkat: avoid OS X 10.10 trailing slash with symlink bug
13188         On Darwin 14.3.0 linkat(,"path1",,"dangling_symlink/",)
13189         causes the symlink to be dereferenced, and if it points
13190         to a non existent file, that file will be created as
13191         a hard link to "path1".
13192         This fixes a test failure in test-linkat.c.
13193         * m4/linkat.m4 (gl_FUNC_LINKAT): Augment the test with
13194         this case.  The existing workaround in linkat.c for
13195         trailing slash issues, suffices for this case.
13196         * doc/posix-functions/linkat.texi: Add OS X 10.10 to
13197         the list of platforms with trailing slash issues.
13199 2015-05-28  Pádraig Brady  <P@draigBrady.com>
13201         unlinkat: handle ignoring of ".." on Darwin 14
13202         * lib/unlinkat.c: unlinkat() has the same bug as unlink()
13203         on Mac OS X 10.10, where it ignores paths with a trailing "..",
13204         so handle in the same manner.
13205         * m4/unlinkat.m4: Comment on this Darwin issue.
13206         * doc/posix-functions/unlink.texi: Update the latest version
13207         where the issue was seen.
13208         * doc/posix-functions/unlinkat.texi: Mention this issue.
13209         Fixes a test failure in test-unlinkat.c.
13211 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
13213         qacl: split into qcopy-acl and qset-acl
13214         Emacs needs the former, but not the latter.
13215         * modules/acl-permissions: New file, containing most of the old qacl.
13216         * modules/file-has-acl (Depends-on): Depend on acl-permissions, not qacl.
13217         * modules/qacl: Now merely depends on qcopy-acl and qset-acl.
13218         * modules/qcopy-acl, modules/qset-acl: New files.
13219         * MODULES.html.sh (File system functions):
13220         Mention the new modules, and mention qacl while we're at it.
13222 2015-05-27  Glenn Morris  <rgm@gnu.org>
13224         gitlog-to-changelog: new option --ignore-line
13225         (This patch is imported from the GNU Emacs master.)
13226         This option ignores individual commit lines matching a pattern.
13227         * build-aux/gitlog-to-changelog: Add --ignore-line option.
13229 2015-05-27  Andreas Gruenbacher  <agruenba@redhat.com>
13231         qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
13232         Implement get_permissions and set_permissions primitives for getting all
13233         the permissions of a file, storing them, and later setting them. (In the
13234         minimal case, the permissions consist only of a file mode.) Reimplement
13235         qset_acl and qcopy_acl based on these new primitives: this avoids code
13236         duplication and makes error handling more consistent.
13237         The Solaris and Cygwin code still uses duplicate code paths for setting
13238         a file mode while making sure that no acls exist and setting an explicit
13239         acl; this is no worse than before, but could be cleaned up.  The AIX
13240         code still doesn't read ACLs, it only makes sure that acls don't get in
13241         the way when setting a file mode.
13242         * lib/acl-internal.h (struct permission_context): New data structure.
13243         (get_permissions, set_permissions, free_permission_context): Declare.
13244         * lib/acl-internal.c (free_permission_context): New helper function.
13245         * lib/get-permissions.c (get_permissions): New helper function split off
13246         from qcopy_acl.
13247         * lib/set-permissions.c: (set_acls_from_mode): On Solaris, Cygwin, and
13248         AIX, set a file's permissions based only on a file mode.
13249         (acl_from_mode, context_acl_from_mode, context_aclv_from_mode): All
13250         other platforms construct a temporary acl from the file mode and set
13251         that acl in the same way as setting an acl read from the source file.
13252         This should help avoid code duplication and inconsistent / buggy
13253         behavior.
13254         (set_acls): New helper function Split off from qcopy_acl.
13255         (chmod_or_fchmod): Moved here from qset-acl.c.
13256         (set_permissions): New helper function.
13257         * lib/qcopy-acl.c (qcopy_acl): Rewrite using get_permissions and
13258         set_permissions.
13259         * lib/qset-acl.c (qset_acl): Rewrite using set_permissions.
13260         * modules/qacl: Add get-permissions.c and set-permissions.c.
13262         file-has-acl: Split feature tests again (Bug#20667)
13263         * lib/file-has-acl.c: Instead of testing for
13264         XATTR_NAME_POSIX_ACL_ACCESS and XATTR_NAME_POSIX_ACL_DEFAULT,
13265         define them when needed.
13266         * m4/acl.m4 (gl_FILE_HAS_ACL): With that, Paul's
13267         GETXATTR_WITH_POSIX_ACLS change shouldn't be needed anymore.
13269 2015-05-27  Pádraig Brady  <P@draigBrady.com>
13271         string: fix build failure on BSD/OSX with FORTIFY_SOURCE
13272         This avoids a conflict with "FORTIFY_SOURCE" variants
13273         of the string functions when they're replaced on NetBSD-6.0.1
13274         and Darwin-14.3.0 at least.
13275         * lib/string.in.h: Avoid including our "lib/string.h" while
13276         including the system <string.h>.
13278 2015-05-26  Eric Blake  <eblake@redhat.com>
13280         stdio: limit __gnu_printf__ witness to gcc 4.4+
13281         * lib/error.h (_GL_ATTRIBUTE_SPEC_PRINTF): Move gcc version probe...
13282         * m4/stdio_h.m4 (gl_STDIO_H): ...here.
13284         error: use correct printf attributes on mingw
13285         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF): New define.
13287         inttypes: force correct mingw PRIdMAX even without <stdio.h>
13288         * modules/inttypes (Depends-on): Require extensions, so that mingw
13289         always uses GNU style inttypes.
13290         * lib/inttypes.in.h: On mingw, include <stdio.h>.
13292         stdio: fix probe on mingw under gcc 5.1
13293         * m4/stdio_h.m4 (gl_STDIO_H): Change to compile test, to work
13294         around new gcc preprocessor rules.
13296 2015-05-07  Glenn Morris  <rgm@gnu.org>
13298         gitlog-to-changelog: parse "Tiny-change"
13299         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
13300         "Copyright-paperwork-exempt".  (Bug#20324)
13302 2015-05-06  Pádraig Brady  <P@draigBrady.com>
13304         doc: document glibc posix_fallocate() issues
13305         * doc/posix-functions/posix_fallocate.texi: Mention the
13306         glibc efficiency problems and issues with NFS.
13308 2015-05-05  Karl Berry  <karl@freefriends.org>
13310         * build-aux/gendocs.sh (usage): document new css default
13311         for HTML (--htmlarg).
13313 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
13315         extern-inline: no need for workaround in GCC 5.1
13316         * doc/extern-inline.texi (extern inline):
13317         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
13318         GCC bugs 54113 and 63877 are fixed in GCC 5.1, so don't work
13319         around these bugs in GCC 5.1 and later.  Maybe in a decade or
13320         two we can remove these workarounds.
13322 2015-04-28  Pádraig Brady  <P@draigBrady.com>
13324         eealloc, pagealign_alloc, xalloc: avoid clang warnings
13325         Avoid [-Wunknown-attributes] warnings like:
13326         warning: unknown attribute '__alloc_size__' ignored
13327         * lib/xalloc.h: Don't use the __alloc_size__  attribute
13328         with clang, as support has been fully removed as of clang 3.5:
13329         https://github.com/llvm-mirror/clang/commit/c047507a
13330         * lib/eealloc.h: Likewise.
13331         * lib/pagealign_alloc.h: Likewise.
13333 2015-04-27  Paul Eggert  <eggert@cs.ucla.edu>
13335         tests: pacify GCC 5.1's stricter printf checking
13336         * tests/test-dirname.c (main):
13337         * tests/test-getaddrinfo.c (simple):
13338         * tests/test-getlogin.c (main):
13339         * tests/test-getndelim2.c (main):
13340         * tests/test-inttostr.c (CK):
13341         * tests/test-md5.c (main):
13342         * tests/test-read-file.c (main):
13343         * tests/test-sha1.c (main):
13344         Fix mismatches between printf format and value signedness.
13345         * tests/test-inttostr.c (FMT, CAST_VAL, V_min, V_max):
13346         Remove, as CAST_VAL always returned a value of type uintmax_t.
13348         fts: port to GCC 5.1 with --enable-gcc-warnings
13349         Without this fix, GCC 5.1 (correctly) warns about a subscript
13350         error on the fts_name component of FTSENT.  It's actually a
13351         flexible member, so define it that way on C99 or later hosts.
13352         * lib/fts.c (fts_alloc): Use offsetof, not sizeof, for a
13353         structure that now has a flexible array member.
13354         * lib/fts_.h (__FLEXIBLE_ARRAY_MEMBER): New macro.
13355         (FTSENT): fts_name is now flexible on C99-or-later platforms.
13356         * modules/fts (Depends-on): Add flexmember.
13358 2015-04-26  Paul Eggert  <eggert@cs.ucla.edu>
13360         file-has-acl: port to CentOS 6
13361         Problem reported by Tom G. Christensen in:
13362         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00074.html
13363         * lib/file-has-acl.c: Use GETXATTR_WITH_POSIX_ACLS instead of a
13364         combination of HAVE_SYS_XATTR_H, HAVE_LINUX_XATTR_H, and
13365         HAVE_GETXATTR.
13366         * m4/acl.m4 (gl_FILE_HAS_ACL): Test fot the entire combination of
13367         linux/xattr.h, sys/xattr.h, getxattr, XATTR_NAME_POSIX_ACL_ACCESS,
13368         and XATTR_NAME_POSIX_ACL_DEFAULT, since that's what
13369         file-has-acl.c actually needs.
13371 2015-04-26  Pádraig Brady  <P@draigBrady.com>
13373         file-has-acl: always return false when ACLs aren't supported
13374         * lib/file-has-acl.c (file_has_acl): Consistent with other paths,
13375         change the GNU/Linux getxattr path, to transform "not supported"
13376         errors to a false return rather than an error.  This is handled
13377         within file_has_acl() due to the platform specific tests to
13378         determine if ACLs are not supported.
13380 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
13382         gettext: propagate po/Makefile.in.in too
13383         * build-aux/po/Makefile.in.in: Copy from latest gettext.
13384         * config/srclist.txt: In build-aux/po, copy Makefile.in.in and
13385         remove-potcdate.sin from $GETTEXT.  This fixes a version mismatch
13386         between Makefile.in.in and the gettext-runtime m4 files.
13388 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
13390         file-has-acl: new module, split from acl
13391         And add a new module file-has-acl-tests to match.
13392         I ran into a problem with the recent changes to the acl module,
13393         as they introduced a typo 'test use_xattrs = 0' into 'configure'.
13394         When using the fixed version with Emacs, I discovered that
13395         file-has-acl wasn't separated out well enough for Emacs (e.g., it
13396         had multiple libraries, but needed only one), so I fixed that too.
13397         * NEWS: Document this incompatible change.
13398         * modules/file-has-acl, modules/file-has-acl-tests: New files.
13399         * m4/acl.m4 (gl_FUNC_ACL_ARG): New macro, split from gl_FUNC_ACL.
13400         Initialize gl_need_lib_has_acl.
13401         (gl_FUNC_ACL): Require it.
13402         Simplify use of 'test'.  Set LIB_HAS_ACL if gl_need_lib_has_acl.
13403         Move the file-has-acl.c-relevant stuff to ...
13404         (gl_FILE_HAS_ACL): ... this new macro.  Rewrite to fix 'test
13405         use_xattrs = 0' typo, and omit some needless work.  Set
13406         gl_need_lib_has_acl=1 if we'll need LIB_HAS_ACL to be set
13407         when gl_FUNC_ACL is called.
13408         * modules/acl (Files, lib_SOURCES): Remove lib/file-has-acl.c.
13409         (Link): Remove $(LIB_HAS_ACL).
13410         * modules/acl-tests (Files, Depends-on, configure.ac, TESTS)
13411         (check_PROGRAMS): Move stuff relevant to file-has-acl to
13412         modules/file-has-acl-tests.
13413         (test_file_has_acl_LDADD): Move to modules/file-has-acl-tests.
13415         manywarnings: add GCC 5.1 warnings
13416         * build-aux/gcc-warning.spec: Add -Wabi=, -Warray-bounds,
13417         -Warray-bounds=, -Wc++14-compat, -Wc90-c99-compat,
13418         -Wc99-c11-compat, -Wshadow-ivar, -Wsized-deallocation,
13419         -Wsuggest-override, -Wuse-without-only.  Change
13420         -Wnormalized=... operands to match 5.1.
13421         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wbool-compare,
13422         -Wchkp, -Wdesignated-init, -Wdiscarded-array-qualifiers,
13423         -Wdiscarded-qualifiers, -Wformat-signedness,
13424         -Wincompatible-pointer-types, -Wint-conversion,
13425         -Wlogical-not-parentheses, -Wmemset-transposed-args, -Wodr,
13426         -Wshift-count-negative, -Wshift-count-overflow,
13427         -Wsizeof-array-argument, -Wsuggest-final-methods,
13428         -Wsuggest-final-types, -Wswitch-bool.  Remove -Warray-bounds,
13429         and add -Warray-bounds=2 as a special case.
13431 2015-04-21  Simon Josefsson  <simon@josefsson.org>
13433         doc: update FDL template to match FDL examples.
13434         * doc/alloca-opt.texi:
13435         * doc/alloca.texi:
13436         * doc/c-ctype.texi:
13437         * doc/c-strcase.texi:
13438         * doc/c-strcaseeq.texi:
13439         * doc/c-strcasestr.texi:
13440         * doc/c-strstr.texi:
13441         * doc/c-strtod.texi:
13442         * doc/c-strtold.texi:
13443         * doc/ctime.texi:
13444         * doc/error.texi:
13445         * doc/gcd.texi:
13446         * doc/gnulib-tool.texi:
13447         * doc/inet_ntoa.texi:
13448         * doc/intprops.texi:
13449         * doc/lib-symbol-visibility.texi:
13450         * doc/maintain.texi:
13451         * doc/parse-datetime.texi:
13452         * doc/quote.texi:
13453         * doc/regexprops-generic.texi:
13454         * doc/standards.texi: Remove spurious 'with' in FDL license
13455         template.
13457 2015-04-21  Paul Eggert  <eggert@cs.ucla.edu>
13459         lstat: fix cross-compilation 'ln -s' problem
13460         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
13461         Have the test program call 'symlink' rather than a separate
13462         script run 'ln -s'; this is more likely to work in
13463         cross-compilation environments.  Reported by Pavel Fedin in:
13464         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00060.html
13466 2015-04-16  Ludovic Courtès  <ludo@gnu.org>
13468         gendocs.sh: default to a common CSS style sheet for HTML output
13469         * build-aux/gendocs.sh (htmlarg): Change default value.
13471 2015-04-15  Mats Erik Andersson  <gnu@gisladisker.se>
13473         gnulib-tool: output bold attribute more portably
13474         * gnulib-tool (func_show_module_list): Change hexadecimal
13475         numbers to octal in BOLD_ON and BOLD_OFF.  The use of hex
13476         encoded numbers as arguments to `printf' is not portable,
13477         and is not claimed by POSIX.  This is the case with FreeBSD.
13479 2015-04-15  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
13481         qacl: Simplify HP-UX acl_nontrivial check
13482         * lib/acl-internal.c: Remove struct stat parameter from HP-UX's version of
13483         acl_nontrivial. Check if the acl has at most three entries instead (it must
13484         have exactly three entries according to the HP-UX documentation). Ignore
13485         uids and gids as long as an entry is either for a user (i.e., the owner),
13486         a group (i.e., the owning group), or others.
13487         * lib/acl-internal.h: Change HP-UX's acl_nontrivial prototype.
13488         * lib/qcopy-acl.c (qcopy_acl): With that, we no longer need to stat the file.
13490 2015-04-15  Andreas Gruenbacher   <andreas.gruenbacher@gmail.com>
13492         acl: On Linux, check for acls without libacl
13493         On Linux, use the getxattr syscall instead of the acl_extended_file libacl
13494         library function to check for the presence of acls, avoiding a library.
13495         * lib/file-has-acl.c: Include xattr headers if we have them.
13496         (file_has_acl): On Linux, use getxattr().
13497         * m4/acl.m4 (gl_FUNC_ACL): Define LIB_HAS_ACL as the libraries to link with for
13498         file_has_acl(). Check for xattr headers and getxattr().
13500 2015-04-14  Ángel González  <keisial@gmail.com>
13502         tempname: avoid unused parameter warnings (trivial)
13503         * lib/tempname.c (try_dir): Tag with __GL_UNUSED.
13504         (try_nocreate): Likewise.
13506 2015-04-14  HIRAMATSU Yoshifumi  <hiramatu@boreas.dti.ne.jp>
13508         fseeko: fix build failure on NetBSD >= 6 (trivial)
13509         * lib/fseeko.c (feeko): NetBSD 6 changed the definition of _offset
13510         from 'fpos_t struct' to __off_t, which is a typedef of __int64_t.
13512 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
13514         gitlog-to-changelog: port to MS-Windows
13515         * build-aux/gitlog-to-changelog (git_dir_option):
13516         Use strftime with "%Y-%m-%d", not "%F", to avoid a bug in
13517         MS-Windows Perl.  Reported by Eli Zaretskii in:
13518         http://lists.gnu.org/r/emacs-devel/2015-04/msg00504.html
13520 2015-04-07  Karl Berry  <karl@gnu.org>
13522         gendocs: new option --tex for passing args to texi2dvi.
13523         * build-aux/gendocs.sh: new option --tex, default -t @finalout.
13524         (TEXI2DVI): cut to just command name.
13525         (usage): mention new option, and update copyright.
13526         <generate_tex>: use it.
13528 2015-04-07  Karl Berry  <karl@gnu.org>
13530         * config/srclistvars.sh (GETTEXT): new definition.
13531         * config/srclist.txt: use it for gettext .m4 files.
13532         Thread starting at http://lists.gnu.org/r/bug-gnulib/201
13533         and confirmed at http://lists.gnu.org/r/bug-gnulib/2015-02/msg00146.html
13534         and continuing into April.
13536 2015-04-07  Daiki Ueno  <ueno@gnu.org>
13538         uniname/uniname-tests: fix failure due to alias
13539         Reported by Jack Howarth in:
13540         <https://lists.gnu.org/r/bug-libunistring/2015-04/msg00000.html>.
13541         * tests/uniname/test-uninames.c (name_has_alias): New function.
13542         (test_inverse_lookup): Exclude character name with valid alias,
13543         from randomly generated character names.
13544         (main): Fill unicode_aliases before calling test functions.
13546 2015-04-03  Giuseppe Scrivano  <gscrivan@redhat.com>
13548         hash: remove deprecated hash_insert0 function
13549         * lib/hash.h (hash_insert0): Remove deprecated function.
13550         * lib/hash.c (hash_insert0): Likewise.
13552 2015-04-02  Pádraig Brady  <P@draigBrady.com>
13554         mountlist: remove dependency on libmount
13555         * lib/mountlist.c (read_file_system_list): Parse /proc/self/mountinfo
13556         directly, rather than depending on libmount, which has many
13557         dependencies due to its dependence on libselinux, as detailed at:
13558         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00063.html
13559         Note we restrict this to __linux__ as that's probably where this
13560         interface will remain.  If ever porting, it would be best
13561         to first pull the makedev() wrapper from coreutils to a gnulib module.
13562         Note also we don't add a getline dependency to the mountlist module,
13563         as all Linux versions are sufficient.
13565 2015-04-02  Paul Eggert  <eggert@cs.ucla.edu>
13567         stddef: port to pre-C11 GCC on x86
13568         On this platform, max_align_t should have an alignment of 8 even
13569         though the storage alignments of double, long, etc. max out at 4.
13570         Inspired by a comment of Andreas Schwab's here:
13571         https://sourceware.org/ml/libc-alpha/2015-04/msg00017.html
13572         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS) [!HAVE_MAX_ALIGN_T]: New macro.
13573         (max_align_t) [!HAVE_MAX_ALIGN_T]: Use it.
13574         * tests/test-stddef.c: Test __alignof__ too, if available.
13576 2015-03-24  Pádraig Brady  <P@draigBrady.com>
13578         quotearg-simple-tests: add missing gl_FUNC_MMAP_ANON dependency
13579         * modules/quotearg-simple-tests: Reference m4/mmap-anon.m4
13581 2015-03-24  Tobias Stoeckmann  <tobias@stoeckmann.org>
13583         yesno: make EOL optional in ENABLE_NLS case also (trival)
13584         * lib/yesno.c (yesno): Check for EOL before replacing.
13585         * tests/test-yesno.sh: Add a test case (test along with gettext).
13587 2015-03-22  Paul Eggert  <eggert@cs.ucla.edu>
13589         fdopendir-tests: test it does not close its arg
13590         * tests/test-fdopendir.c (main): Test that fdopendir does not
13591         close its argument.  From a suggestion by David Grayson in:
13592         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00039.html
13594 2015-03-20  Paul Eggert  <eggert@cs.ucla.edu>
13596         gitlog-to-changelog: trim trailing white space
13597         * build-aux/gitlog-to-changelog (main):
13598         Trim trailing white space from commit message lines.
13599         This is helpful for processing the GNU Emacs repository,
13600         which dates back to 1985 and contains a lot of such lines.
13602         gitlog-to-changelog: new option --ignore-matching
13603         * build-aux/gitlog-to-changelog (usage, git_dir_option, main):
13604         Support new option --ignore-matching=PAT, which ignores all
13605         commit messages whose first line matches PAT.
13607 2015-03-19  Paul Eggert  <eggert@cs.ucla.edu>
13609         fdopendir: port better to MinGW
13610         * lib/fdopendir.c (fd_clone_opendir) [REPLACE_FCHDIR]:
13611         Use 'dup' if dirfd fails.  Suggested by Eli Zaretskii in:
13612         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00033.html
13613         * modules/fdopendir (Depends-on): Add dirfd.
13615 2015-03-18  Paul Eggert  <eggert@cs.ucla.edu>
13617         fdopendir: fix typo in comment
13618         * lib/fdopendir.c (fdopendir_with_dup): REPLACE_FCHDIR was misspelled.
13620 2015-03-09  Eric Blake  <eblake@redhat.com>
13622         error: document all entry points provided
13623         * doc/glibc-functions/error_print_progname.texi
13624         (error_print_progname): Mention the error module.
13625         * doc/glibc-functions/error_at_line.texi (error_at_line):
13626         Likewise.
13627         * doc/glibc-functions/error_message_count.texi
13628         (error_message_count): Likewise.
13629         * doc/glibc-functions/error_one_per_line.texi
13630         (error_one_per_line): Likewise.
13632 2015-03-03  Paul Eggert  <eggert@cs.ucla.edu>
13634         vasnprintf: pacify clang 3.5.0
13635         Problem reported by Werner Lemberg in:
13636         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00000.html
13637         * lib/vasnprintf.c (VASNPRINTF): Omit casts that clang objects to.
13638         The casts aren't needed, since the characters in question are ASCII.
13640 2015-02-24  Paul Eggert  <eggert@cs.ucla.edu>
13642         glob, etc.: port to MSVC v18 on MS-Windows 8.1
13643         * lib/dirent--.h (GNULIB_defined_opendir):
13644         * lib/dirent.in.h (GNULIB_defined_opendir)
13645         (GNULIB_defined_closedir):
13646         * lib/getcwd.c, lib/glob.c, lib/mountlist.c (opendir, closedir):
13647         #undef only if Gnulib defined it.
13649         poll: port to MSVC v18 on MS-Windows 8.1
13650         Problem reported by Gisle Vanem in:
13651         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00139.html
13652         * lib/poll.c: Always include <sys/select.h> and <sys/socket.h>.
13653         * modules/poll (Depends-on) [!HAVE_POLL || REPLACE_POLL]:
13654         Add sys_socket.
13656 2015-02-24  Pádraig Brady  <P@draigBrady.com>
13658         tests: support stderr verification with returns_()
13659         * tests/init.sh (returns_): Disable tracing for this wrapper
13660         function, so that stderr of the wrapped command is unchanged,
13661         allowing for verification of the contents.
13663 2015-02-24  Pavel Hrdina  <phrdina@redhat.com>
13665         passfd: avoid valgrind uninitalised data warning
13666         * lib/passfd.c (sendfd): Reset the msg_controllen of msghdr,
13667         to include just the fd we've initialized, rather than including
13668         the extra space used for alignment.
13670 2015-02-23  Paul Eggert  <eggert@cs.ucla.edu>
13672         uniwbrk/u32-wordbreaks-tests: fix copyright
13673         * tests/uniwbrk/test-uc-wordbreaks.c: Fix copyright date.
13675         dup2: doc and test for Android bug
13676         Reported by Kevin Cernekee in:
13677         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00125.html
13678         * doc/posix-functions/dup2.texi (dup2): Document the bug.
13679         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the bug.
13681 2015-02-23  Kevin Cernekee  <cernekee@google.com>
13683         Replace dup2() on Android
13684         * m4/dup2.m4 (gl_FUNC_DUP2): Android implements dup2() using dup3().
13685         Since dup3(fd, fd) fails but dup2(fd, fd) should pass, test-dup2
13686         fails.  Using rpl_dup2() fixes this because it has an explicit test
13687         for this condition.
13689 2015-02-22  Paul Eggert  <eggert@cs.ucla.edu>
13691         Android doesn't define RLIM_SAVED_*
13692         Portability problem reported by Kevin Cernekee in:
13693         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00122.html
13694         * doc/posix-headers/sys_resource.texi (sys/resource.h):
13695         Mention the portability problem.
13696         * lib/getdtablesize.c (RLIM_SAVED_CUR, RLIM_SAVED_MAX):
13697         Define if not defined.
13698         * m4/dup2.m4 (gl_FUNC_DUP2):
13699         * m4/fcntl.m4 (gl_FUNC_FCNTL):
13700         Likewise.
13702 2015-02-21  Paul Eggert  <eggert@cs.ucla.edu>
13704         vasnprintf-posix-tests: use consistent test
13705         * tests/test-vasnprintf-posix.c (test_function):
13706         Use "<" in assert instead of "<=", for consistency with other tests.
13708 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
13710         printf, isinf, etc.: noncanonical != NaN
13711         Do not require that isinf, printf, etc. treat noncanonical
13712         values as NaNs.  Instead, require only that they do not crash.
13713         Problem reported by Joseph Myers in:
13714         https://sourceware.org/ml/libc-alpha/2015-02/msg00244.html
13715         * doc/posix-functions/dprintf.texi (dprintf):
13716         * doc/posix-functions/fprintf.texi (fprintf):
13717         * doc/posix-functions/isfinite.texi (isfinite):
13718         * doc/posix-functions/isinf.texi (isinf):
13719         * doc/posix-functions/isnan.texi (isnan):
13720         * doc/posix-functions/printf.texi (printf):
13721         * doc/posix-functions/snprintf.texi (snprintf):
13722         * doc/posix-functions/sprintf.texi (sprintf):
13723         * doc/posix-functions/vdprintf.texi (vdprintf):
13724         * doc/posix-functions/vfprintf.texi (vfprintf):
13725         * doc/posix-functions/vprintf.texi (vprintf):
13726         * doc/posix-functions/vsnprintf.texi (vsnprintf):
13727         * doc/posix-functions/vsprintf.texi (vsprintf):
13728         Document this.
13729         * m4/isfinite.m4 (gl_ISFINITEL_WORKS):
13730         * m4/isinf.m4 (gl_ISINFL_WORKS):
13731         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS):
13732         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE):
13733         * tests/test-isfinite.c (test_isfinitel):
13734         * tests/test-isinf.c (test_isinfl):
13735         * tests/test-isnan.c (test_long_double):
13736         * tests/test-isnanl.h (main):
13737         * tests/test-snprintf-posix.h (test_function):
13738         * tests/test-sprintf-posix.h (test_function):
13739         * tests/test-vasnprintf-posix.c (test_function):
13740         * tests/test-vasprintf-posix.c (test_function):
13741 o       Test only that noncanonical values do not cause crashes, not that
13742         they are treated as NaNs.  In some cases this means a larger
13743         output buffer is needed.
13745 2015-02-20  Jaroslav Skarvada  <jskarvad@redhat.com>
13747         fts: remove redundant close() (trivial)
13748         * lib/fts.c (fts_read): Remove redundant call to close().
13749         Spotted by coverity.
13751 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
13753         getdtablesize: port better for Android
13754         Problem reported by Kevin Cernekee in:
13755         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00112.html
13756         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Mention bug.
13757         * lib/getdtablesize.c (getdtablesize): Don't fall back on _SC_OPEN_MAX.
13758         Instead, just use getrlimit, taking care to avoid Cygwin bug.
13760         poll: fixes for large fds
13761         * lib/poll.c (poll): Don't check directly for NFD too large.
13762         Don't rely on undefined behavior in FD_SET when an arg exceeds
13763         FD_SETSIZE.  Always set revents afterwards, even if to zero.
13764         * tests/test-poll.c (poll1): Set revents to -1 instead of 0,
13765         as that makes the test a bit stricter.
13767 2015-02-19  Kevin Cernekee  <cernekee@google.com>
13769         fcntl: Fix cross compiling
13770         * m4/fcntl.m4 (gl_FUNC_FCNTL): Assign the guessed result to the
13771         correct variable name (gl_cv_func_fcntl_f_dupfd_works).
13773 2015-02-18  Paul Eggert  <eggert@cs.ucla.edu>
13775         dup2, fcntl: cross-compile better for Android
13776         Problem reported by Kevin Cernekee in:
13777         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00109.html
13778         * m4/dup2.m4 (gl_FUNC_DUP2): Don't guess no when cross-compiling
13779         for a Linux kernel.  That kernel bug was fixed on 2009-05-11, and
13780         there's little need to cross-compile for older kernels nowadays.
13781         * m4/fcntl.m4 (gl_FUNC_FCNTL): When cross-compiling, guess no only
13782         for systems where the bug is known to occur (AIX, Cygwin, Haiku).
13784 2015-02-18  Pádraig Brady  <P@draigBrady.com>
13786         getopt: don't crash on memory exhaustion
13787         * lib/getopt.c (_getopt_internal_r): Use degraded diagnostics on
13788         memory exhaustion.  In the _LIBC case we use alloca() as is
13789         already done in glibc, so we don't need to consider the separate
13790         error path in that awkward case.  Also fix a memory leak when
13791         ambiguous options are present.
13792         Reported by Tobias Stoeckmann
13794 2015-02-17  Mike Miller  <mtmiller@ieee.org>
13796         tempname: allow compilation with C++ (trivial)
13797         * lib/tempname.h [C++]: Specify extern "C" linkage.
13798         * lib/tempname.h (try_tempname):
13799         * lib/tempname.c (__try_tempname, __gen_tempname):
13800         Rename 'try' to 'tryfunc'.
13802 2015-02-17  Paul Eggert  <eggert@cs.ucla.edu>
13804         dup2, fcntl: port to AIX
13805         * m4/dup2.m4 (gl_FUNC_DUP2):
13806         * m4/fcntl.m4 (gl_FUNC_FCNTL):
13807         Prefer getrusage (RLIM_NOFILE ...)/rlim_cur to sysconf (_SC_OPEN_MAX).
13808         The former works on AIX 7.1 but the latter does not.
13809         Also, this may work better with Android; see:
13810         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00100.html
13812 2015-02-16  Paul Eggert  <eggert@cs.ucla.edu>
13814         getdtablesize, dup2, fcntl: port to Android
13815         Problem reported by Kevin Cernekee in:
13816         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00092.html
13817         * doc/glibc-functions/getdtablesize.texi (getdtablesize):
13818         Mention that getdtablesize doesn't work on Android.
13819         * lib/getdtablesize.c: Use getrlimit substitute only if
13820         getdtablesize is declared.  This should suffice for Cygwin
13821         while not breaking Android.
13822         * m4/dup2.m4 (gl_FUNC_DUP2):
13823         * m4/fcntl.m4 (gl_FUNC_FCNTL):
13824         Prefer sysconf (_SC_OPEN_MAX) to getdtablesize, as the former is
13825         standardized but the latter is not, and sysconf works on Android.
13826         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE):
13827         Also check that getdtablesize is declared.
13828         This removes the need for a special case for Android.
13830 2015-02-16  Kevin Cernekee  <cernekee@google.com>
13832         localename: Implement gl_locale_name_thread_unsafe for Android
13833         * lib/localename.c: Android API level >= 21 supports two hardcoded
13834         locales: C (POSIX) and C.UTF-8.  Distinguish them by checking
13835         the internal __locale_t struct.
13837 2015-02-16  Kamil Dudka  <kdudka@redhat.com>
13839         fts: avoid crash when a cycle is added while traversing
13840         This could be triggered by auto-mounting a recursive bind mount.
13841         Reported by Michael Chapman in: https://bugzilla.redhat.com/1188498
13842         * lib/fts.c (fts_read): Avoid removing the original hash table item
13843         when leaving a directory that caused a cycle, and preserve the FTS_DC
13844         flag.
13846 2015-02-16  Daiki Ueno  <ueno@gnu.org>
13848         uniname/uniname: support character alias
13849         * lib/uniname/gen-uninames.lisp (main): New argument ALIASFILE.
13850         Generate one-way mapping from aliases to codepoints in the
13851         generated tables.  Special case variation selectors to reduce
13852         table size.
13853         * lib/uniname/uniname.c (unicode_character_name): Special case
13854         variation selectors.
13855         (unicode_name_character): Special case variation selectors and
13856         their aliases.
13857         * lib/uniname/uninames.h: Regenerate.
13858         * tests/uniname/NameAliases.txt: New file, taken from UCD 7.0.0.
13859         * modules/uniname/uniname-tests (Files): Add
13860         tests/uniname/NameAliases.txt.
13861         * tests/uniname/test-uninames.c: Mark as static.
13862         (ALIASLEN): Define.
13863         (struct unicode_alias): New struct.
13864         (unicode_aliases): New variable.
13865         (fill_aliases): New function.
13866         (test_alias_lookup): New test function.
13867         (main): Run the 'test_alias_lookup' test if the second argument is
13868         given.
13869         * tests/uniname/test-uninames.sh: Supply NameAliases.txt as the
13870         second argument.
13872 2015-02-11  Kevin Cernekee  <cernekee@google.com>
13874         Fix FILE struct compatibility with Android API level >= 21
13875         * lib/stdio-impl.h: Test explicitly for __ANDROID__ instead of
13876         __sferror.  Recent versions of Bionic's stdio.h no longer define
13877         __sferror.
13878         * lib/fbufmode.c: Likewise.
13879         * lib/fflush.c: Likewise.
13880         * lib/fpurge.c: Likewise.
13881         * lib/freadable.c: Likewise.
13882         * lib/freadahead.c: Likewise.
13883         * lib/freading.c: Likewise.
13884         * lib/freadptr.c: Likewise.
13885         * lib/freadseek.c: Likewise.
13886         * lib/fseeko.c: Likewise.
13887         * lib/fseterr.c: Likewise.
13888         * lib/fwritable.c: Likewise.
13890         Assume unbroken ungetc() on Android
13891         * m4/ungetc.m4: Add Android case to host OS check.  The ungetc()
13892         test case passed when running on an Android host, and the code
13893         hasn't really changed since 2009.
13895         getdtablesize: Fix Android build
13896         * m4/getdtablesize.m4: Add Android case to host OS check.  Recent NDK
13897         versions have this symbol in the .so library (at least 32-bit
13898         platforms) but are missing the declaration in the header file,
13899         causing the m4 logic to guess incorrectly.
13901         localename: Fix Android build
13902         * modules/localename (Depends-on): Add langinfo.
13904         getugroups: Fix Android build
13905         * lib/getugroups.c: Don't reference unsupported {get,set,end}grent
13906         functions.
13908         euidaccess: Fix Android build
13909         * modules/euidaccess (Depends-on): Add fcntl-h to ensure that
13910         AT_EACCESS gets declared.
13912         linkat_nofollow: Add fallback case for cross compiling
13913         * m4/linkat.m4: Guess no for Darwin, yes otherwise.
13915         net_if: Handle content-free <net/if.h> system headers
13916         * m4/net_if_h.m4: Check to make sure <net/if.h> actually defines
13917         struct if_nameindex.  If not, enable the replacement header.
13919         signal_h: Fix Android build
13920         * lib/signal.in.h: Add Android to the list of platforms that declare
13921         pthread_sigmask() in <pthread.h> instead of <signal.h>.
13923         duplocale: Fix Android build of duplocale-tests
13924         * modules/duplocale-tests (Depends-on): Add langinfo, as the header
13925         is included by test-duplocale.c (but not by duplocale.c).
13926         * modules/duplocale-tests (configure.ac): Check for monetary.h.
13927         * tests/test-duplocale.c: Skip test if monetary.h is absent.
13928         * doc/posix-headers/monetary.texi: Add Android to the list of
13929         platforms missing monetary.h.
13931 2015-02-11  Pádraig Brady  <P@draigBrady.com>
13933         tests: avoid recent -Werror=unused-variable regression in test-locale
13934         * tests/test-locale.c (main): Reference the variable to avoid the
13935         "unused variable" warning.
13937 2015-02-11  Pádraig Brady  <P@draigBrady.com>
13939         maint: various whitespace cleanups in tempname
13940         * lib/tempname.c: Normalize spacing and line length.
13941         * lib/tempname.h: Likewise.
13942         * modules/tempname: Likewise.
13944 2015-02-11  Pádraig Brady  <P@draigBrady.com>
13946         tests: provide returns_() to simplify exit status checking
13947         * tests/init.sh (returns_): A new function for use in tests,
13948         to allow for easier checking of return values, where you expect
13949         a command to exit with failure status.  By checking for a particular
13950         exit code, you don't hide any crashes for example.
13952 2015-02-11  Pádraig Brady  <P@draigBrady.com>
13954         mountlist: only use libmount when specified
13955         There are currently many shared libs dependencies introduced by
13956         libmount with associated runtime and virt mem overhead.
13957         Therefore don't enable by default.
13958         * m4/ls-mntd-fs.m4: Use --with-libmount to enable at build time.
13960 2015-02-08  Daiki Ueno  <ueno@gnu.org>
13962         uniname/unimame-tests: don't link with -lunistring
13963         * modules/uniname/uniname-tests (Makefile.am): Don't link against
13964         $(LIBUNISTRING).  Document the rationale why we need to
13965         conditionalize the test.
13967 2015-02-07  Paul Eggert  <eggert@cs.ucla.edu>
13969         fstrcmp: don't assume strlen < INT_MAX
13970         * lib/fstrcmp.c: Include stddef.h and stdint.h.
13971         (uintptr_t): Remove, as we're now assuming stdint.
13972         (OFFSET, EXTRA_CONTEXT_FIELDS, fstrcmp_bounded):
13973         Prefer ptrdiff_t to int when the value could exceed INT_MAX
13974         if the input string is long.
13975         (fstrcmp_bounded): Check for size-calculation overflow.  Prefer
13976         uintptr_t to size_t when the underlying value is a pointer casted
13977         to an unsigned integer.  Avoid unnecessary 'buffer != NULL' test.
13978         * modules/fstrcmp (Depends-on): Add stdint.
13980         diffseq: prefer ptrdiff_t to ssize_t
13981         * lib/diffseq.h: In commentary, prefer ptrdiff_t to ssize_t.
13982         ptrdiff_t is the natural type for signed indexes.
13983         On a few older platforms, ssize_t is narrower than size_t.
13985         xalloc: fix typo that suppressed warnings
13986         * lib/xalloc.h: Add missing _GL_INLINE_HEADER_END.
13987         This typo, introduced a couple of years ago, mistakenly suppressed
13988         some -Wsuggest-attribute=const, -Wmissing-prototypes, and
13989         -Wmissing-declarations warnings.
13991         full-read: fix license notice typo
13992         * lib/full-read.h: Remove a stray line in the license notice.
13993         Reported by Sam Ellis in: http://bugs.gnu.org/19808
13995         crypto/gc: fix a -Wswitch warning
13996         Reported by Bruce Korb in:
13997         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00046.html
13998         * lib/gc-gnulib.c (gc_hash_open): Fail faster if MODE is nonzero.
14000 2015-02-03  Pádraig Brady  <P@draigBrady.com>
14002         gnulib-tool: fix handling of patch(1) diagnostics
14003         * gnulib-tool: Send diagnostics from patch(1) to stderr,
14004         as otherwise gnulib-tool will reparse that output and attempt
14005         to lookup modules.
14007 2015-02-03  Pádraig Brady  <P@draigBrady.com>
14009         bootstrap: exit immediately upon gnulib-tool failure
14010         * build-aux/bootstrap: Exit immediately if gnulib-tool fails.
14011         This was noticed when gnulib-tool exited early due to failure
14012         to apply a patch in coreutils at http://hydra.nixos.org/eval/1172233,
14013         but various confusing errors were then given as the build proceeded.
14015 2015-02-02  Andreas Gruenbacher  <agruen@gnu.org>
14017         symlinkat: include all required header files
14018         * lib/symlinkat.c (HAVE_SYMLINK_AT): Add <sys/stat.h> for fstatat(),
14019         and string.h for strlen(), required at least on OS X 10.10 (Yosemite).
14020         Reported at https://savannah.gnu.org/bugs/index.php?44151
14021         and by Jack Howarth.
14023 2015-01-29  Pádraig Brady  <P@draigBrady.com>
14025         localename: support Solaris 12 and illumos
14026         * lib/localename.c (gl_locale_name_thread_unsafe): call
14027         getlocalename_l() on newer __sun platforms.
14028         Reported by Alexander Pyhalov.
14029         Fix suggested by Rich Burridge.
14031 2015-01-29  Alexander Pyhalov  <alp@rsu.ru>
14033         locale: fix tests on illumos (trivial)
14034         * tests/test-locale.c: LC_GLOBAL_LOCALE is a function call on illumos,
14035         so move from global scope to main().
14037 2015-01-24  Daiki Ueno  <ueno@gnu.org>
14039         unictype: avoid undefined left-shift behavior
14040         * lib/unictype/bidi_of.c (uc_bidi_class): Building libunistring with
14041         gcc's -fsanitize=shift and running its tests triggered:
14042           unictype/bidi_of.c:43:60: runtime error: left shift of 40167 by 16 \
14043             places cannot be represented in type 'int'
14044         Cast LHS to 'unsigned int' after integer promotion.
14045         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
14046         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
14048 2015-01-20  Daiki Ueno  <ueno@gnu.org>
14050         libunistring: bump version of unitypes dependants
14051         Due to the header file search order, all the headers which depend
14052         on unitypes.h need to be generated, when the preinstalled
14053         libunistring is older.
14054         * modules/unicase/base (configure.ac): Bump minimum version to
14055         0.9.4.
14056         * modules/uniconv/base (configure.ac): Likewise.
14057         * modules/unilbrk/base (configure.ac): Likewise.
14058         * modules/uninorm/base (configure.ac): Likewise.
14059         * modules/unistdio/base (configure.ac): Likewise.
14060         * modules/unistr/base (configure.ac): Likewise.
14061         * modules/uniwbrk/base (configure.ac): Likewise.
14062         * modules/uniwidth/base (configure.ac): Likewise.
14064 2015-01-20  Daiki Ueno  <ueno@gnu.org>
14066         unictype/category-none: fix link with libunistring
14067         Since _UC_CATEGORY_NONE is not a public symbol, it will be
14068         prefixed with "libstring_" when compiled as part of libunistring.
14069         To avoid undefined symbol at link time, increase the minimum
14070         version when the dependant modules are updated.
14071         * modules/unictype/category-none (configure.ac): Bump minimum
14072         version to 0.9.5.
14074 2015-01-20  Daiki Ueno  <ueno@gnu.org>
14076         unitypes: fix build with installed libunistring
14077         The minimum version has not bumped after _UC_ATTRIBUTE_CONST and
14078         _UC_ATTRIBUTE_PURE were added to unitypes.in.h.
14079         * modules/unitypes (configure.ac): Bump minimum version to 0.9.4.
14081 2015-01-15  Paul Eggert  <eggert@cs.ucla.edu>
14083         time: port to MinGW32 3.21
14084         Problem reported by Eli Zaretskii in:
14085         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00042.html
14086         * lib/time.in.h:
14087         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC):
14088         * modules/time (Depends-on):
14089         Fall back on unistd.h if the other include files don't define
14090         struct timespec.
14092         update-copyright: apply to self
14093         * build-aux/update-copyright: Fix copyright date.  How ironic!
14095 2015-01-15  Daiki Ueno  <ueno@gnu.org>
14097         libunistring: update to Unicode 7.0.0
14098         * lib/unictype/joininggroup_byname.gperf: Add Straight Waw and
14099         Manichaean names.
14100         * lib/unictype/joininggroup_name.h: Likewise.
14101         * lib/unictype.in.h (UC_JOINING_GROUP_STRAIGHT_WAW)
14102         (UC_JOINING_GROUP_MANICHAEAN_ALEPH): New enumeration values.
14103         * lib/gen-uni-tables.c (UC_JOINING_GROUP_STRAIGHT_WAW)
14104         (UC_JOINING_GROUP_MANICHAEAN_*): New enumeration values.
14105         (fill_arabicshaping, joining_group_as_c_identifier): Support those
14106         enum values.
14107         (is_property_alphabetic): Accept newly added characters to
14108         cuneiform numeric signs.
14109         (is_property_default_ignorable_code_point): Reject U+0605.
14110         (FIELDLEN): Increase from 120 to 160.
14111         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0605,
14112         U+08FF, U+0C00, U+0C81, U+0D01, U+1AB0..U+1ABE, U+1BAC..U+1BAD,
14113         U+1CF8..U+1CF9, U+1DE7..U+1DF5, U+A9E5, U+AA7C, U+FE27..U+FE2D,
14114         U+102E0, U+10376..U+1037A, U+10AE5..U+10AE6, U+1107F, U+11173,
14115         U+1122F..U+11231, U+11234, U+11236..U+11237, U+112DF,
14116         U+112E3..U+112EA, U+11301, U+1133C, U+11340, U+11366..U+1136C,
14117         U+11370..U+11374, U+114B3..U+114B8, U+114BA, U+114BF..U+114C0,
14118         U+114C2..U+114C3, U+115B2..U+115B5, U+115BC..U+115C0,
14119         U+11633..U+1163A, U+1163D, U+1163F..U+11640, U+16AF0..U+16AF4,
14120         U+16B30..U+16B36, U+1BC9D..U+1BC9E, U+1BCA0..U+1BCA3, and
14121         U+1E8D0..U+1E8D6.
14122         (uc_width): Adjust nonspacing_table_ind boundary from 240 to 248.
14123         * tests/uniwidth/test-uc_width2.sh: Same updates as in
14124         lib/uniwidth/width.c.
14125         * all generated files under lib/uni* and tests/uni*: Regenerate.
14127 2015-01-14  Daiki Ueno  <ueno@gnu.org>
14129         libunistring: update to Unicode 6.3.0
14130         * lib/uniwbrk.in.h (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
14131         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support WB7a, WB7b, and WB7c.
14132         Update WB5, WB6, WB7, WB9, WB11, WB12, WB13a, and WB13b.
14133         * lib/uniwbrk/wbrktable.h (uniwbrk_table): Adjust table size.
14134         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support rule WB7a.
14135         Update WB5, WB9, WB10, WB13a, and WB13b.
14136         * tests/uniwbrk/test-uc-wordbreaks.c
14137         (wordbreakproperty_to_string): Support WBP_DQ, WBP_SQ, and WBP_HL.
14138         * lib/gen-uni-tables.c (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
14139         (UC_BIDI_PDI): New enumeration values.
14140         (bidi_category_byname): Support those enum values.
14141         (is_WBP_MIDNUMLET): Exclude 0x0027 (SINGLE QUOTE), which is now a
14142         dedicated property assigned.
14143         (is_property_case_ignorable): Check 0x0027.
14144         (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
14145         (get_wbp, debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
14146         (output_wbp): Support those enum values.
14147         * lib/unictype.in.h (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
14148         (UC_BIDI_PDI): New enumeration values.
14149         * lib/unictype/bidi_byname.gperf: Add those property names.
14150         * lib/uniwidth/width.c (nonspacing_table_data): Add U+061C,
14151         U+180E, U+1A1B, and U+2066..U+2069.
14152         * tests/uniwidth/test-uc_width2.sh: Same updates as in
14153         lib/uniwidth/width.c.
14154         * all generated files under lib/uni* and tests/uni*: Regenerate.
14156 2015-01-14  Daiki Ueno  <ueno@gnu.org>
14158         libunistring: update to Unicode 6.2.0
14159         * lib/unilbrk/lbrktables.h (LBP_RI): New enumeration value.
14160         (unilbrk_table): Adjust table size.
14161         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
14162         for LBP_RI.
14163         * lib/uniwbrk.in.h (WBP_RI): New enumeration value.
14164         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support rule WB13c.
14165         Normalize table index skipping ignored properties.
14166         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support WBP_RI.  Remove
14167         WBP_EXTEND and WBP_FORMAT, which are now computed without using
14168         the table.
14169         * lib/uniwbrk/wbrktable.h: Adjust table size.
14170         * lib/unigbrk.in.h (GBP_RI): New enumeration value.
14171         * lib/unigbrk/uc-is-grapheme-break.c (UC_IS_GRAPHEME_BREAK):
14172         Support rule GB8a.
14173         (UC_GRAPHEME_BREAKS_FOR, gb_table): Support GBP_RI.
14174         * tests/unigbrk/test-uc-is-grapheme-break.c
14175         (graphemebreakproperty_to_string): Support GBP_RI.
14176         * tests/uniwbrk/test-uc-wordbreaks.c
14177         (wordbreakproperty_to_string): Support WBP_RI.
14178         * lib/gen-uni-tables.c (LBP_RI): New enumeration value.
14179         (get_lbp, debug_output_lbp, fill_org_lbp, debug_output_org_lbp)
14180         (output_lbp): Support LBP_RI.  Adjust some characters changed from
14181         LBP_AL to LBP_ID.
14182         (output_lbp): Support LBP_RI.
14183         (WBP_RI): New enumeration value.
14184         (debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
14185         (output_wbp): Support WBP_RI.
14186         (GBP_RI): New enumeration value.
14187         (output_gbp_test, fill_org_gbp): Support GBP_RI.
14188         * all generated files under lib/uni* and tests/uni*: Regenerate.
14190 2015-01-14  Daiki Ueno  <ueno@gnu.org>
14192         libunistring: update to Unicode 6.1.0
14193         * lib/gen-uni-tables.c (output_joining_group): Switch to
14194         3-level table to accommodate joining groups defined with higher
14195         codepoint value.  Since there are only 88 groups defined in
14196         Unicode 7.0.0, use 7-bit packed format for level3 entries.
14197         (get_lbp): Update for Unicode 6.1.0.
14198         * lib/unictype/joininggroup_of.c (uc_joining_group): Adjust to use
14199         3-level table.
14200         * lib/unictype/joininggroup_byname.gperf: Add Rohingya Yeh
14201         joining group name.
14202         * lib/unictype/joininggroup_name.h: Likewise.
14203         * lib/unilbrk/lbrktables.h (LBP_HL): New enumeration value.
14204         (unilbrk_table): Adjust table size.
14205         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
14206         for LBP_HL.
14207         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0604,
14208         U+08E4..U+08FE, U+1BAB, U+1CF4, U+A674..U+A67B, U+A69F,
14209         U+AAEC..U+AAED, U+AAF6, U+11100..U+11102, U+11127..U+1112B,
14210         U+1112D..U+11134, U+11180..U+11181, U+111B6..U+111BE, U+116AB,
14211         U+116AD, U+116B0..U+116B5, U+116B7, U+16F8F..U+16F92.  Remove
14212         U+302E..U+302F.
14213         * tests/uniwidth/test-uc_width2.sh: Same updates as in
14214         lib/uniwidth/width.c.
14215         * all generated files under lib/uni* and tests/uni*: Regenerate.
14216         * modules/uni*/* (configure.ac): Bump minimum version to 0.9.5.
14218 2015-01-15  Daiki Ueno  <ueno@gnu.org>
14220         uniwbrk/u32-wordbreaks-tests: add conformance test
14221         * modules/uniwbrk/u32-wordbreaks-tests (Files): Add
14222         tests/uniwbrk/test-uc-wordbreaks.c,
14223         tests/uniwbrk/test-uc-wordbreaks.sh, and
14224         tests/uniwbrk/WordBreakTest.txt.
14225         (Makefile.am): Add uniwbrk/test-uc-wordbreaks.sh to $(TESTS), add
14226         test-uc-wordbreaks to $(check_PROGRAMS), and define
14227         test_uc_wordbreaks_SOURCES and test_uc_wordbreaks_LDADD.
14228         * tests/uniwbrk/test-uc-wordbreaks.sh: New file.
14229         * tests/uniwbrk/test-uc-wordbreaks.c: New file.
14231 2015-01-15  Daiki Ueno  <ueno@gnu.org>
14233         uniwbrk: ignore Extended/Format characters at BOL not BOS
14234         * lib/uniwbrk/u-wordbreaks.h (FUNC): Ignore Extend and Format
14235         characters if the previous character property is one of
14236         WBP_NEWLINE, WBP_CR, and WBP_LF.
14238 2015-01-11  Jim Meyering  <meyering@fb.com>
14240         test-strstr.c: avoid a trivial leak
14241         * tests/test-strstr.c (main): Free haystack.
14243         update-copyright: recognize groff's \(co marker
14244         * build-aux/update-copyright (circle_c_re): Also accept
14245         uses of \(co, as found in gzip.1.
14247 2015-01-08  Pádraig Brady  <P@draigBrady.com>
14249         maint.mk: fix compatibility with OS X nm
14250         * top/maint.mk (_gl_tight_scope): Use the -g option to
14251         show exported items rather than the -e option which is
14252         ignored on all platforms except OS X where it gives an error.
14253         Reported by Assaf Gordon.
14255 2015-01-07  KO Myung-Hun  <komh@chollian.net>
14257         localcharset: improve charset detection on OS/2
14258         Use system codepage when appropriate.  Map OS/2 codepages to
14259         GNU canonical charset names if possible.
14260         * lib/config.charset: Don't output aliases if "$os" is os2*.
14261         * lib/localcharset.c (get_charset_aliases) [OS2]: Hardcode the
14262         result for OS/2.
14263         (locale_charset) [OS2]: Use system codepage if codeset is omitted
14264         from the locale name which is neither "C" nor "POSIX".
14266 2015-01-06  Paul Eggert  <eggert@cs.ucla.edu>
14268         count-leading-zeros: use 64-bit intrinsics on 32-bit Windows
14269         This reverts the last patch but one, as it shouldn't be needed now
14270         that the typo is fixed.
14271         * lib/count-leading-zeros.h (count_leading_zeros_ll):
14272         * lib/count-trailing-zeros.h:
14273         * lib/count-one-bits.h:
14274         Go back to using 64-bit intrinsics.
14276         count-leading-zeros: fix pragma typos
14277         * lib/count-leading-zeros.h (_BitScanReverse, _BitScanReverse64):
14278         Fix typos in declaration of intrinsics when _MSC_VER.
14280 2015-01-06  Pádraig Brady  <P@draigBrady.com>
14282         count-leading-zeros: avoid 64-bit intrinsics on 32-bit Windows
14283         * lib/count-leading-zeros.h (count_leading_zeros_ll): Use 32 bit
14284         intrinsics in this case.
14285         * lib/count-trailing-zeros.h: Likewise.
14286         * lib/count-one-bits.h: Likewise.
14288 2015-01-06  Daiki Ueno  <ueno@gnu.org>
14290         uniname/uniname: update to Unicode 7.0.0
14291         To accommodate new characters added since Unicode 5.1.0, this
14292         changes the internal representation of codepoint ranges.
14293         Previously, we grouped codepoint ranges by manually assigned 4-bit
14294         tag, which only allowed 16 groups.  This removes the limitation by
14295         switching to binary search on a table.  For the detail rationale
14296         and the benchmark results, see:
14297         https://lists.gnu.org/r/bug-libunistring/2014-06/msg00001.html
14298         * lib/uniname/gen-uninames.lisp (unicode-char): Rename CODE member
14299         to INDEX, as it no longer represents a codepoint.
14300         (range): New struct.
14301         (main): Switch to intervals list from a bit-pattern based
14302         classification.
14303         * lib/uniname/uninames.h: Regenerate.
14304         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 7.0.0.
14305         * modules/uniname/base (configure.ac): Bump minimum version to
14306         0.9.5.
14307         * modules/uniname/uniname (configure.ac): Bump minimum version to
14308         0.9.5.
14310 2015-01-05  Eric Blake  <eblake@redhat.com>
14312         doc: update INSTALL from autoconf
14313         * doc/install.texi: Resync from autoconf.
14314         * doc/INSTALL: Reflect recent autoconf update.
14315         * doc/INSTALL.ISO: Likewise.
14316         * doc/INSTALL.UTF-8: Likewise.
14318         stdio: fix use of PRIdMAX on modern mingw
14319         * m4/stdio_h.m4 (gl_STDIO_H): Probe for printf flavor via inttypes.
14320         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use result
14321         to work with modern mingw.
14323 2015-01-05  Daniel P. Berrange  <berrange@redhat.com>  (tiny change)
14325         pthread: detect git mingw builds with only partial pollution
14326         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for additional
14327         pollution, as seen temporarily in Fedora 21.
14329 2015-01-04  Paul Eggert  <eggert@cs.ucla.edu>
14331         lib-symbol-versions: cache script check
14332         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT):
14333         Cache the check for linker version scripts.
14334         From a suggestion by Christophe Curis in:
14335         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00011.html
14337 2015-01-04  Benno Schulenberg  <bensberg@justemail.net>
14339         maint: fix grammar nits in propername (trivial change)
14340         * lib/propername.h: Remove a mistaken comma and a duplicate "from",
14341         and use an adequate verb and tense.
14343 2015-01-02  Ludovic Courtès  <ludo@gnu.org>
14345         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
14346         * module/gendocs: Add 'doc/gendocs_template_min'.
14348         * build-aux/gendocs.sh: Change email addresses and upstream URLs
14349         from to Gnulib's.
14350         (scripturl, templateurl): Adjust accordingly.
14352 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
14354         gendocs: copyright date and version fix
14355         Reported by Karl Berry in:
14356         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00002.html
14357         * build-aux/gendocs.sh, doc/gendocs_template, doc/gendocs_template_min:
14358         Fix copyright date.
14359         * build-aux/gendocs.sh (scriptversion): Update.
14361 2015-01-01  Karl Berry  <karl@gnu.org>
14363         * doc/install.texi,
14364         * build-aux/mdate-sh,
14365         * build-aux/depcomp,
14366         * build-aux/config.guess,
14367         * build-aux/config.sub,
14368         * build-aux/ar-lib,
14369         * build-aux/compile: revert copyright updates (some from last
14370         year) in slaved files.
14372 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
14374         version-etc: new year
14375         * doc/gnulib.texi:
14376         * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date.
14377         * all files: Run 'make update-copyright'.
14379 2014-12-30  Pádraig Brady  <P@draigBrady.com>
14381         xstrtol: ensure errno is reset
14382         Since commit 3bf75404, on 26-09-1998, errno may not have been reset.
14383         Noticed with a spurious coreutils test failure on Darwin 14.0.0.
14385         * lib/xstrtol.c (__xstrtol): Always reset errno before returning.
14387 2014-12-28  Paul Eggert  <eggert@cs.ucla.edu>
14389         utimens: fix dependency typo
14390         * modules/utimens (Depends-on): Remove 'assure'.
14391         This bug was introduced in the recent 'assure' patch.
14393 2014-12-22  Eric Blake  <eblake@redhat.com>
14395         docs: mention why libgen.h is bad
14396         * doc/posix-headers/libgen.texi (libgen.h): Refer to dirname module.
14398 2014-12-20  Paul Eggert  <eggert@cs.ucla.edu>
14400         assure: new module
14401         This works better than 'assert' when compiling with -DNDEBUG,
14402         as it avoids some compiler diagnostics in that case.
14403         Reported by Norihiro Tanaka in:
14404         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00215.html
14405         * MODULES.html.sh (func_all_modules): Add 'assure'.
14406         * lib/assure.h, modules/assure: New files.
14407         * lib/chdir-long.c, lib/cycle-check.c, lib/fchdir.c, lib/fts.c:
14408         * lib/poll.c, lib/savewd.c, lib/xstrtol.c:
14409         Prefer 'assure' to 'assert'.
14410         * lib/utimens.c: Stop using 'assert'; it wasn't helpful.
14411         * modules/chdir-long, modules/cycle-check, modules/fchdir:
14412         * modules/poll, modules/savewd, modules/utimens, modules/xstrtol:
14413         Depend on 'assure'.
14415 2014-12-16  Paul Eggert  <eggert@cs.ucla.edu>
14417         stdalign: port better to HP compilers
14418         * m4/stdalign.m4 (gl_STDALIGN_H): Try the test if __HP_cc or
14419         __HP_aCC are nonzero, to be consistent with the 2014-01-20 patch.
14421         stdalign: work around Apple GCC 4.0 bug
14422         Reported by David Fang in:
14423         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00194.html
14424         * lib/stdalign.in.h (_Alignas):
14425         * m4/stdalign.m4 (gl_STDALIGN_H):
14426         Do not use aligned attribute with GCC 4.0 on Apple.
14428 2014-12-16  Pádraig Brady  <P@draigBrady.com>
14430         getcwd: fix test failure on OS X 10.9
14431         * m4/getcwd-path-max.m4: Avoid the replacement if it
14432         won't be effective due to the PATH_MAX limitation of lstat().
14433         (gl_cv_func_getcwd_path_max): Adjust to indicate this case.
14434         * m4/getcwd.m4 (gl_FUNC_GETCWD): Define HAVE_GETCWD_SHORTER
14435         for this case for use in tests, and also exclude this
14436         case when setting REPLACE_GETCWD.
14437         * tests/test-getcwd.c (test_long_name): Restrict the
14438         tested path length so that lstat() will not be passed
14439         a path greater than PATH_MAX.
14440         Also key a test condition on HAVE_OPENAT_SUPPORT rather
14441         than AT_FDCWD, since the latter is set unconditionally
14442         since Sep 2009 in commit 52c658e9.
14444 2014-12-14  Tim Rühsen  <tim.ruehsen@gmx.de>
14446         parse-datetime: avoid a compiler warning with byacc (trivial)
14447         * lib/parse-datetime.y (yylex): Use the same prototype in the
14448         function definition as the declaration, to avoid a -Wstrict-prototypes
14449         warning seen when using byacc.
14451 2014-12-12  Daiki Ueno  <ueno@gnu.org>
14453         unicase/locale-language-tests: fix LOCALE_FR test
14454         * tests/unicase/test-locale-language.sh: Really use $LOCALE_FR for
14455         a French locale with traditional encoding.
14456         Reported by umerqayam in:
14457         http://lists.gnu.org/r/bug-libunistring/2014-12/msg00000.html
14459 2014-12-12  Paul Eggert  <eggert@cs.ucla.edu>
14461         stddef: support C11's max_align_t
14462         * doc/posix-headers/stddef.texi (stddef.h): Document max_align_t.
14463         * lib/stddef.in.h (_@GUARD_PREFIX@_STDDEF_H) [__need_wint_t]:
14464         Do not undef, as that might cause max_align_t to be defined twice.
14465         Instead, change use to check for _GL_STDDEF_WINT_T too.
14466         (max_align_t) [!HAVE_MAX_ALIGN_T]: New decl.
14467         * m4/stddef_h.m4 (gl_STDDEF_H, gl_STDDEF_H_DEFAULTS):
14468         Check for max_align_t.
14469         * modules/stddef (stddef.h): Substitute HAVE_MAX_ALIGN_T.
14470         * modules/stddef-tests (Depends-on): Add stdalign.
14471         * tests/test-stddef.c: Test max_align_t.
14473 2014-12-11  Daiki Ueno  <ueno@gnu.org>
14475         unistd: fix iOS check conditional
14476         On Mac OS X 10.8, the TARGET_* macros are unconditonally defined
14477         as 0 or 1 in <TargetConditionals.h>, and the previous check always
14478         yielded true on non-iOS environment.
14479         * lib/unistd.in.h (environ) [__APPLE__]: Check the values of
14480         TARGET_OS_IPHONE and TARGET_IPHONE_SIMULATOR, instead of whether
14481         they are defined.
14483 2014-12-09  Paul Eggert  <eggert@cs.ucla.edu>
14485         posixtm: avoid compiler warning in a better way
14486         * lib/posixtm.c (IF_LINT): Remove.
14487         (year, posix_time_parse):
14488         Return true (not 0) if successful.  All callers changed.
14489         (posix_time_parse): Simplify to pacify GCC without need for IF_LINT.
14491 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
14493         * lib/relocatable.c (relocate): Prepend $UNIXROOT to pathname if it is
14494         started with '/' on EMX.
14496 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
14498         freopen: workaround freopen() on OS/2 kLIBC
14499         * lib/freopen.c (rpl_freopen): Workaround.
14500         * m4/freopen.m4: Add os2* case.
14502         get_shared_library_fullname: port to EMX
14503         * lib/relocatable.c: Define strcmp and strncmp to stricmp and strnicmp
14504         on EMX, respectively.
14505         (_DLL_InitTerm): New on EMX.
14506         (get_shared_library_fullname): Implement on EMX.
14508         find_executable: port to EMX
14509         * lib/progreloc.c (find_executable): Implement on EMX.
14511         sched: check struct sched_param in spawn.h as well
14512         * lib/sched.in.h: Include spawn.h on kLIBC.
14513         * lib/sched_h.m4: Check struct sched_param in spawn.h as well.
14515 2014-12-08  Martin Kletzander  <mkletzan@redhat.com>  (tiny change)
14517         bootstrap: Allow perl modules in $buildreq
14518         * build-aux/bootstrap: Add case for perl modules.
14520 2014-12-08  Pádraig Brady  <P@draigBrady.com>
14522         apply _GL_ATTRIBUTE_PURE to some inline functions
14523         clang 3.4.2 flagged these inline functions as pure
14524         * lib/savewd.h (savewd_errno): Set _GL_ATTRIBUTE_PURE.
14525         * lib/sig-handler.h (get_handler): Likewise.
14526         * lib/stat-time.h (get_stat_{a,c,m,birth}time{,_ns}): Likewise.
14527         * lib/timespec.h (timespec_cmp, timespec_sign): Likewise.
14529 2014-12-06  Pádraig Brady  <P@draigBrady.com>
14531         vasnprintf: fix potential use after free
14532         * lib/vasnprintf.c (VASNPRINTF): Fix free-memory read,
14533         flagged by clang-analyzer 3.4.2.
14535 2014-12-05  Pádraig Brady  <P@draigBrady.com>
14537         filevercmp, posixtm: avoid compiler warnings with -O3
14538         * lib/filevercmp.h (filevercmp): Tag with _GL_ATTRIBUTE_PURE
14539         * lib/posixtm.c: (IF_LINT): Define.
14540         (posix_time_parse): Use it to void a "may be used uninitialized"
14541         warning, seen only with -O3.
14543 2014-12-05  Bruno Haible  <bruno@clisp.org>
14545         Fix LDBL80_WORDS macro on big endian platforms.
14546         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Add missing parenthesis in
14547         LDBL80_WORDS macro.
14548         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
14549         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
14550         * tests/test-isfinite.c (test_isfinitel): Likewise.
14551         * tests/test-isinf.c (test_isinfl): Likewise.
14552         * tests/test-isnan.c (test_long_double): Likewise.
14553         * tests/test-isnanl.h (main): Likewise.
14554         * tests/test-snprintf-posix.h (LDBL80_WORDS): Add missing parenthesis.
14555         * tests/test-sprintf-posix.h (LDBL80_WORDS): Likewise.
14556         * tests/test-vasnprintf-posix.c (LDBL80_WORDS): Likewise.
14557         * tests/test-vasprintf-posix.c (LDBL80_WORDS): Likewise.
14558         Reported by Pádraig Brady.
14560 2014-12-02  KO Myung-Hun  <komh78@gmail.com>
14562         git-version-gen: do not print new line characters
14563         * build-aux/git-version-gen: Use printf instead of echo and tr.
14565         gnulib-tool: recognize x:* as an absolute path
14566         * gnulib-tool (func_gnulib_dir): Add ?:* case.
14567         (func_relconcat): Likewise.
14569 2014-12-02  Andrei Borzenkov  <arvidjaar@gmail.com>
14571         argp: avoid extraneous translation and mem leak with empty pre doc
14572         * lib/argp-help.c (argp_doc): Never translate the empty string,
14573         when "\v" is the first or last character of the string, as that
14574         has a reserved meaning to return the header info from a po file.
14575         This also fixes a small memory leak in the !post case.
14576         The issue can be seen with this command for example:
14577         LC_MESSAGES=en_US grub2-mknetdir --help
14579 2014-11-27  Daiki Ueno  <ueno@gnu.org>
14581         uniname/uniname-tests: skip if system's libunistring is used
14582         * modules/uniname/uniname-tests (Makefile.am): Skip test if
14583         uniname/uniname module is not compiled.
14585 2014-11-27  Pádraig Brady  <P@draigBrady.com>
14587         printf: fix configure check on big endian systems
14588         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Add missing bracket.
14590 2014-11-22  Daiki Ueno  <ueno@gnu.org>
14592         pipe-filter-gi, pipe-filter-ii: port to AIX
14593         On AIX 7.1, 'select' is defined as static and cannot be referred
14594         to from inline function.
14595         * lib/pipe-filter-aux.h (nointr_select): Remove, manually expand
14596         the definition...
14597         * lib/pipe-filter-gi.c (filter_loop): ...here, and...
14598         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): ...here.
14600 2014-11-20  Paul Eggert  <eggert@cs.ucla.edu>
14602         gitlog-to-changelog: add --until
14603         * build-aux/gitlog-to-changelog: Support new --until option.
14604         Need described by Eli Zaretskii in: http://bugs.gnu.org/19113
14606 2014-11-14  Paul Eggert  <eggert@cs.ucla.edu>
14608         extern-inline: update commentary about GCC bugs
14609         * m4/extern-inline.m4: Add another GCC bug number to comments.
14611 2014-11-13  Daiki Ueno  <ueno@gnu.org>
14613         gen-uni-tables: untabify
14614         * lib/gen-uni-tables.c: Untabify.
14616 2014-11-13  Daiki Ueno  <ueno@gnu.org>
14618         gen-uni-tables: check out-of-range values added to 3-level tables
14619         * lib/gen-uni-tables.c (output_category, output_bidi_category)
14620         (output_joining_type, output_ident_category): Check out-of-range
14621         values added to 3-level tables.
14623 2014-11-13  Daiki Ueno  <ueno@gnu.org>
14625         gen-uni-tables: utilize 'assert'
14626         * lib/gen-uni-tables.c: Include <assert.h>.
14627         (output_category, output_combclass, output_decimal_digit_test)
14628         (output_decimal_digit, output_digit_test, output_digit)
14629         (output_numeric, get_mirror_value, fill_properties)
14630         (fill_property30, is_property_alphabetic)
14631         (is_property_default_ignorable_code_point)
14632         (is_property_uppercase, is_property_lowercase)
14633         (is_property_cased, is_property_case_ignorable)
14634         (is_property_changes_when_lowercased, is_property_iso_control)
14635         (is_property_math, fill_arabicshaping, output_joining_group)
14636         (fill_scripts, fill_blocks, output_lbp, fill_org_wbp)
14637         (output_wbp, fill_org_gbp, get_decomposition)
14638         (output_decomposition, fill_composition_exclusions)
14639         (debug_output_composition_tables, output_composition_tables)
14640         (redistribute_casefolding_rules, output_casing_rules): Use
14641         'assert (EXPR);' instead of 'if (!EXPR) abort ();' for better error
14642         reporting.
14644 2014-11-13  Daiki Ueno  <ueno@gnu.org>
14646         gen-uni-tables: cosmetic improvements
14647         * lib/gen-uni-tables.c: Escape newlines in the Emacs file local
14648         variables specification.
14649         (is_outdigit): Remove unused function.
14651 2014-11-12  Jeroen Roovers  <jer@gentoo.org>  (tiny change)
14653         fcntl-h-tests: port to PA-RISC GNU/Linux
14654         * tests/test-fcntl-h.c (main): Check O_SYNC is different from O_DSYNC.
14656 2014-11-10  Paul Eggert  <eggert@cs.ucla.edu>
14658         fts: port to C89
14659         Problem reported for MSVC 16 by Gisle Vanem in:
14660         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00027.html
14661         * lib/fts.c (fts_build): Avoid declaration before statement.
14663 2014-11-06  Paul Eggert  <eggert@cs.ucla.edu>
14665         unistd: port to iOS
14666         Problem reported by André Klitzing in:
14667         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00013.html
14668         * lib/unistd.in.h (environ): Do not include crt_externs.h on iOS.
14670 2014-11-05  Paul Eggert  <eggert@cs.ucla.edu>
14672         obstack: do not reject malloc-style obstack_chunkfun, obstack_freefun
14673         Problem reported by Alan Modra in:
14674         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00007.html
14675         * lib/obstack.h (obstack_chunkfun, obstack_freefun):
14676         Always cast the function arg, reverting this part of the previous
14677         change.
14679 2014-11-04  Paul Eggert  <eggert@cs.ucla.edu>
14681         obstack: avoid potentially-nonportable function casts
14682         * lib/obstack.c (CALL_CHUNKFUN, CALL_FREEFUN):
14683         Remove, replacing with ...
14684         (call_chunkfun, call_freefun): New static functions.
14685         All uses changed.  Avoid potentially-nonportable casts.
14686         (chunkfun_type, freefun_type): Remove typedefs; no longer used.
14687         (_obstack_begin_worker): Omit last two args, since they
14688         rely on potentially-nonportable casts.  All callers changed.
14689         * lib/obstack.h (_OBSTACK_CAST): New macro.
14690         Use it everywhere the old API used a potentially-nonportable cast.
14691         The new API doesn't cast.
14692         (struct obstack): Use unions rather than requiring
14693         potentially-nonportable casts.
14694         (obstack_chunkfun, obstack_freefun): Return void.
14696 2014-11-03  Alan Modra  <amodra@gmail.com>
14698         obstack: fix macro return values
14699         * lib/obstack.h (obstack_next_free): Return void *.
14700         (obstack_1grow_fast, obstack_blank_fast): Return void.
14701         For __GNUC__ macros:
14702         (obstack_1grow, obstack_blank): Remove now unnecessary (void) 0.
14703         For !__GNUC__ macros:
14704         (obstack_make_room, obstack_grow, obstack_grow0)
14705         (obstack_ptr_grow_fast, obstack_int_grow_fast): Return void.
14707 2014-11-03  Paul Eggert  <eggert@cs.ucla.edu>
14709         obstack: do not assume system-supplied obstack is size_t safe
14710         * m4/obstack.m4: New file.
14711         * modules/obstack (Files): Add it.
14713         obstack: port to platforms that #define __alignof__
14714         * lib/obstack.c: Include <alignof.h> if !defined __alignof__,
14715         not if !_LIBC.  We don't know of any platforms that #define
14716         __alignof__, but it might be useful in tests.  Conversely,
14717         glibc assumes GCC.
14719 2014-11-03  Pádraig Brady  <P@draigBrady.com>
14721         linkat: don't unconditionally replace on GNU/Linux
14722         * m4/linkat.m4 (gl_FUNC_LINKAT): The compile check for AT_SYMLINK_FOLLOW
14723         was redundant for a few reasons.  It was present to support compiling
14724         on new systems but running on the old narrow window of Linux 2.6.1[67].
14725         It setup and cleaned up test files which weren't actually used.
14726         On non __linux__ it compile tested AT_SYMLINK_FOLLOW, but that is
14727         implicit in the following check.
14729 2014-11-03  Pádraig Brady  <P@draigBrady.com>
14731         linkat: wrap to handle symlinks on OS X 10.10
14732         * m4/linkat.m4 (gl_FUNC_LINKAT): linkat() is available on Yosemite
14733         but not usable because it doesn't support creating hardlinks
14734         to symlinks.  Therefore add a generic test for this capability
14735         and fallback to our emulation if linkat() fails with ENOTSUP.
14737 2014-11-02  Paul Eggert  <eggert@cs.ucla.edu>
14739         open, openat: document nonstandard FreeBSD, NetBSD O_NOFOLLOW errno
14740         * doc/posix-functions/open.texi (open):
14741         * doc/posix-functions/openat.texi (openat):
14742         Document that these functions do not set errno to ELOOP when
14743         a symlink is opened with O_NOFOLLOW.
14745 2014-10-31  Paul Eggert  <eggert@cs.ucla.edu>
14747         obstack: add NEWS entry for recent incompatible changes
14748         * NEWS: Describe recent changes.
14750 2014-10-30  Pádraig Brady  <P@draigBrady.com>
14752         mountlist: don't use libmount to decide on dummy/remote
14753         * lib/mountlist.c (read_file_system_list): Don't use the libmount
14754         routines to determine whether a file system is dummy or remote,
14755         as they're not currently compatible.  For example the remoteness
14756         is determined on file system type (for which the list seems incomplete),
14757         rather than simply checking for a ':' in the device name.
14758         Also libmount currently determines that 'tmpfs' is a dummy file system
14759         even though it has associated storage.
14761 2014-10-29  Paul Eggert  <eggert@cs.ucla.edu>
14763         obstack: prefer __alignof__ to alignof
14764         This is for portability to pre-4.7 GCC when compiling glibc.
14765         See Joseph S. Myers in:
14766         http://sourceware.org/ml/libc-alpha/2014-10/msg00703.html
14767         * lib/obstack.c (__alignof__) [!_LIBC && !__GNUC__]:
14768         New macro, defined by including and using <alignof.h>.
14769         (MAX): New macro.
14770         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Redefine in terms of these.
14771         Do not use enums as they are not portable to some broken compilers.
14772         * modules/obstack (Depends-on): Depend on alignof, not stdalign.
14774         obstack: prefer alignof to calculating alignments by hand
14775         * lib/obstack.c: Include <stdalign.h>.
14776         (struct fooalign): Remove.
14777         (DEFAULT_ALIGNMENT): Use alignof rather than the old offsetof hack.
14778         * modules/obstack (Depends-on): Add stdalign.
14780 2014-10-28  Paul Eggert  <eggert@cs.ucla.edu>
14782         obstack: use size_t alignments and check for overflow
14783         * lib/obstack.c, lib/obstack.h (_obstack_begin, _obstack_begin_1):
14784         * lib/obstack.c (_obstack_begin_worker, _obstack_newchunk):
14785         * lib/obstack.h (struct obstack.alignment_mask):
14786         Use _OBSTACK_SIZE_T, not int, for alignments.
14787         * lib/obstack.c (_obstack_newchunk): Fail if the size calculation
14788         overflows, e.g., when adding the alignment.
14790 2014-10-29  Alan Modra  <amodra@gmail.com>
14792         obstack: 64-bit obstack support, part 3
14793         This finally enables full 64-bit obstack support.  The glibc
14794         shared library specific code is removed from obstack.c too, and
14795         the error handling code conditionally compiled under control of
14796         another macro, _OBSTACK_NO_ERROR_HANDLER.
14797         * lib/obstack.h: Include string.h earlier.
14798         (_OBSTACK_INTERFACE_VERSION): Define.
14799         (_OBSTACK_SIZE_T, _CHUNK_SIZE_T): Define as size_t for version 2.
14800         * lib/obstack.c: Don't include shlib-compat.h.
14801         (OBSTACK_INTERFACE_VERSION): Delete.
14802         (_OBSTACK_ELIDE_CODE): Rename from ELIDE_CODE.  Define when version 1
14803         glibc code is compatible with version 2.  Don't include stdio.h for
14804         __GNU_LIBRARY.
14805         (obstack_exit_failure, print_and_abort, obstack_alloc_failed_handler):
14806         Omit when _OBSTACK_NO_ERROR_HANDLER defined.  Include stdio.h here.
14807         (_obstack_compat, _obstack, _obstack_newchunk, obstack_free): Delete
14808         glibc shared library specific source.
14810         obstack: 64-bit obstack support, part 2
14811         This gets us 4G obstack support, without changing ABI
14812         compatibility, apart from possibly introducing some
14813         signed/unsigned comparison warnings in code that uses obstack.h.
14814         a) Replace "int" size parameters, return values, and macro local vars
14815            with _OBSTACK_SIZE_T, an "unsigned int" for now.
14816         b) Make obstack.chunk_size a _CHUNK_SIZE_T, an "unsigned long" for now.
14817         c) Make all obstack macros checking available room use obstack_room.
14818            "next_free + desired > chunk_limit" may wrap the lhs for chunks
14819            allocated near the top of memory.
14820         d) Use unsigned comparisons, and macro locals to support >2G on 32-bit.
14821         * lib/obstack.h (_OBSTACK_SIZE_T): Define.  Use throughout
14822         in place of "int" size parameters, return values and local vars.
14823         (_CHUNK_SIZE_T): Define.
14824         (struct obstack): Make chunk_size a _CHUNK_SIZE_T.  Make temp
14825         union use an _OBSTACK_SIZE_T integer type.
14826         For __GNUC__ versions of the following macros...
14827         (obstack_room): Rename local var.
14828         (obstack_make_room): Use obstack_room.
14829         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
14830         obstack_int_grow, obstack_blank): Likewise.
14831         (obstack_finish): Use unsigned comparison when comparing aligned
14832         next_free against chunk_limit.
14833         (obstack_free): Cast OBJ to remove possible const qualifier.
14834         For !__GNUC__ versions of the following macros...
14835         (obstack_make_room): Use obstack_room.
14836         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
14837         obstack_int_grow, obstack_blank): Likewise.
14838         (obstack_finish): Use unsigned comparision when comparing aligned
14839         next_free against chunk_limit.
14840         (obstack_free): Use temp.p and same comparisons as __GNUC__ version.
14841         * lib/obstack.c (_obstack_begin_worker): Make "size" parameter
14842         _OBSTACK_SIZE_T.
14843         (_obstack_begin, _obstack_begin_1): Likewise.
14844         (_obstack_newchunk): Likewise for length parameter.  Use size_t locals.
14845         (_obstack_memory_used): Return and use _OBSTACK_SIZE_T local.
14847         obstack: 64-bit obstack support, part 1
14848         a) Correct calls to alloc function, to use a size_t arg.  "long" is
14849            just wrong on targets like x86_64-mingw64 where "long" is 32 bits
14850            and "size_t" 64 bits.
14851         b) Consolidate _obstack_begin and _obstack_begin1 code.
14852         * lib/obstack.h (struct obstack <chunkfun>): Correct prototype to
14853         use "size_t" rather than "long".
14854         (_obstack_begin, _obstack_begin1): Likewise.
14855         (obstack_init, obstack_begin, obstack_specify_allocation_with_arg,
14856         obstack_chunkfun): Update alloc function casts.
14857         * lib/obstack.c (CALL_CHUNKFUN): Update chunkfun cast.
14858         (chunkfun_type, freefun_type): New typdefs.
14859         (_obstack_begin_worker): Split out from ..
14860         (_obstack_begin, _obstack_begin_1): ..here.
14862         obstack: tidy part 2
14863         a) Don't be concerned about "not polluting the namespace with stddef.h
14864            symbols" in obstack.h, since gnulib string.h includes stddef.h
14865            anyway, and it seems unlikely that anyone would care.
14866         b) Don't roll our own slow memcpy in _obstack_newchunk.
14867         c) Rename obstack_free to _obstack_free.  This makes the naming
14868            consistent with other obstack functions and obviates the need for
14869            __obstack_free.  Ancient obstack.c defined both obstack_free and
14870            _obstack_free.  We continue to do that for _LIBC via an alias.
14871         d) Miscellaneous macro fixes.  The expression used to test for gcc-2.8
14872            is clever, but nowadays gcc warns on undefined macros.  You'll get
14873            an undefined macro warning if simulating an old gcc with -U__GNUC__
14874            -U__GNUC_MINOR__ -D__GNUC__=1.
14875         * lib/obstack.h: Include stddef.h unconditionally.  Formatting fixes.
14876         (PTR_INT_TYPE): Delete, replace with ptrdiff_t.
14877         (__obstack_free): Delete, update refs.
14878         (_obstack_free): Rename from obstack_free.
14879         (__extension__): Avoid undefined macro warning for __GNUC_MINOR__.
14880         (obstack_object_size, obstack_room): Parenthesise !__GNUC__ versions.
14881         * lib/obstack.c: Don't include stddef.h.
14882         (COPYING_UNIT): Delete.
14883         (_obstack_begin): Formatting fix.
14884         (_obstack_newchunk): Use memcpy to move existing object to new chunk.
14885         (_obstack_free): Rename from __obstack_free, update alias.  Move
14886         undef of obstack_free to where it is needed.
14888         obstack: tidy part 1
14889         a) Rename temp fields.  temp.tempint and temp.tempptr just looks ugly
14890            to me, and result in overlong lines after later patches.
14891         b) Move error handling code, to avoid a forward declaration and to
14892            simplify later patches in this series.
14893         * lib/obstack.h (struct obstack <temp>): Rename fields of union
14894         and update all uses.
14895         * lib/obstack.c: Include stdlib.h earlier.
14896         (obstack_exit_failure, obstack_alloc_failed_handler): Move later
14897         in file.
14898         (print_and_abort): Remove now redundant forward declaration.
14900 2014-10-24  Paul Eggert  <eggert@cs.ucla.edu>
14902         socketlib, sockets, sys_socket: Use AC_REQUIRE to pacify autoconf.
14903         Without this change, in bleeding-edge fileutils Autoconf complains
14904         that gl_SOCKETLIB etc. are AC_REQUIREd after being invoked.
14905         * modules/socketlib (configure.ac): AC_REQUIRE gl_SOCKETLIB.
14906         * modules/sockets (configure.ac): AC_REQUIRE gl_SOCKETS.
14907         * modules/sys_socket (configure.ac): AC_REQUIRE gl_HEADER_SYS_SOCKET.
14909 2014-10-24  Daiki Ueno  <ueno@gnu.org>
14911         iconv: avoid false detection of non-working iconv
14912         The INBUF arguments of iconv can be either 'const char **'
14913         or 'char **'.  If CC is g++, the difference causes a compile error
14914         and thus leads to a false detection of non-working iconv.
14915         Reported by Eli Zaretskii and Werner LEMBERG in:
14916         <https://lists.gnu.org/r/bug-gnulib/2014-10/msg00023.html>.
14917         * m4/iconv.m4 (AM_ICONV_LINK): Try all possible argument types of
14918         iconv.  Bump serial number.
14920 2014-10-23  Pádraig Brady  <P@draigBrady.com>
14922         bootstrap: print more diagnostics for missing programs
14923         * build-aux/bootstrap: only suppress stderr when checking for
14924         alternative program names.  This supports programs issuing non
14925         standard error messages.
14927 2014-10-23  Pádraig Brady  <P@draigBrady.com>
14929         bootstrap: only update the gnulib submodule
14930         * build-aux/bootstrap: Restrict the "submodule update" command
14931         to the gnulib path.
14933 2014-10-18  Paul Eggert  <eggert@cs.ucla.edu>
14935         symlinkat: port to AIX 7.1
14936         * doc/posix-functions/symlinkat.texi (symlinkat):
14937         Mention AIX porting problem.
14938         * lib/symlinkat.c: Always include errno.h.
14939         (rpl_symlinkat) [HAVE_SYMLINKAT]: New function.
14940         * lib/unistd.in.h (symlinkat): Add replacement machinery.
14941         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Check symlinkat behavior.
14942         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_SYMLINKAT.
14943         * modules/symlinkat (Depends-on): Add fstatat if REPLACE_SYMLINKAT.
14944         (configure.ac): Also compile replacement if REPLACE_SYMLINKAT.
14945         * modules/unistd (unistd.h): Substitute REPLACE_SYMLINKAT.
14947         readlinkat: port to AIX 7.1
14948         * doc/posix-functions/readlink.texi (readlink):
14949         * doc/posix-functions/readlinkat.texi (readlinkat):
14950         Mention AIX porting problem.
14951         * lib/readlinkat.c (rpl_readlinkat) [HAVE_READLINKAT]:
14952         New function.
14953         * lib/unistd.in.h (readlinkat): Add replacement machinery.
14954         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check readlinkat signature.
14955         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_READLINKAT.
14956         * modules/readlinkat (configure.ac): Also compile replacement
14957         if REPLACE_READLINKAT.
14958         * modules/unistd (unistd.h): Substitute REPLACE_READLINKAT.
14960 2014-10-12  Karl Berry  <karl@gnu.org>
14962         * doc/posix-functions/dirname.texi: remove spurious {.
14964 2014-09-28  Ben Pfaff  <blp@cs.stanford.edu>
14966         basename, dirname: Improve documentation.
14967         * doc/posix-functions/basename.texi: Mention dirname module and
14968         base_name() function.
14969         * doc/posix-functions/dirname.texi: Mention dir_name() and
14970         mdir_name() functions.
14971         Suggested by Werner LEMBERG <wl@gnu.org>.
14973 2014-09-24  Jim Meyering  <meyering@fb.com>
14975         exclude: declare exclude_patopts static
14976         * lib/exclude.c (exclude_patopts): Declare static,
14977         to avoid triggering a -Wmissing-prototypes warning.
14978         The alternative (declaring it in the .h file) would
14979         require publicizing the private "struct patopts".
14981 2014-09-21  Werner Lemberg  <wl@gnu.org>
14983         dirname: support compilation with C++
14984         * lib/dirname.h: Add necessary C linkage declarations.
14986 2014-09-16  Paul Eggert  <eggert@cs.ucla.edu>
14988         qsort_r: include <config.h>
14989         Problem reported by Tom G. Christensen in:
14990         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00071.html
14991         * lib/qsort.c [!_LIBC]: Include <config.h> first.
14993 2014-09-16  Dylan Cali  <calid1984@gmail.com>
14995         avltree-list: avoid compiler warnings (trivial)
14996         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
14997         -Werror=suggest-attribute=pure.
14998         * lib/gl_array_list.c: Likewise.
14999         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Add extern
15000         declaration to avoid -Werror=missing-prototypes.  This is not added
15001         to a header as only exported for tests.  Add (void) to the
15002         check_invariants() call to indicate we're discarding the result
15003         in this context which avoids -Werror=unused-value.  Note we don't
15004         use ignore_value here to avoid a dependency as we know we'll not
15005         be adding __attribute__((warn_unused_result)) to check_invariants().
15006         Add _GL_ATTRIBUTE_CONST to avoid -Werror=suggest-attribute=const.
15008 2014-09-15  Paul Eggert  <eggert@cs.ucla.edu>
15010         qsort_r: new module, for GNU-style qsort_r
15011         * m4/qsort_r.m4: New file.  Forgot to add this earlier.
15013 2014-09-15  Werner LEMBERG  <wl@gnu.org>
15015         strerror_r-posix: support compilation with C++
15016         * lib/strerror_r.c: Add necessary C linkage declarations.
15018 2014-09-11  Johannes Zarl  <johannes.zarl@jku.at>
15020         fcntl-h: fix compilation with Intel C++ compiler (trivial)
15021         * lib/fcntl.in.h: ICC has the same issue as GCC <= 4.2.
15023 2014-09-09  Fridolin Pokorny  <fpokorny@redhat.com>
15025         mountlist: use /proc/self/mountinfo when available
15026         Use libmount to propagate device IDs provided by Linux in
15027         /proc/self/mountinfo.  This will give more accurate output when
15028         using df in chroot'ed environments as the device IDs are not
15029         determined by stat() which may be inaccurate within the chroot.
15030         * lib/mountlist.c (read_file_system_list): Use the libmount routines
15031         from util-linux to parse "/proc/self/mountinfo" or fall back to
15032         standard getmntent() processing.
15033         * m4/ls-mntd-fs.m4: Check for libmount only when 1-argument
15034         getmntent() is used, as is the case on GNU/Linux.
15036 2014-09-07  Eric Wong  <normalperson@yhbt.net>
15038         users.txt: add cmogstored
15039         cmogstored has used gnulib since the beginning in 2012 to support
15040         GNU/Linux, FreeBSD, and GNU/kFreeBSD.
15042 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
15044         Trivial change.
15045         * gnulib-tool: Use same options as build-aux/bootstrap to download
15046         PO files.
15048 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
15050         Trivial change.
15051         * gnulib-tool: Fallback to wget when rsync of PO files fails.
15053 2014-09-04  Eric Blake  <eblake@redhat.com>
15055         maintainer-makefile: add syntax check for useless ';;'
15056         * top/maint.mk (sc_prohibit_double_semicolon): New rule.
15058 2014-09-04  Paul Eggert  <eggert@cs.ucla.edu>
15060         pthread, pthread_sigmask, threadlib: port to Ubuntu 14.04
15061         Problem reported by Assaf Gordon in:
15062         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html
15063         Apparently Ubuntu is doing some fancy link-time optimization
15064         that doesn't work with -lpthread but does work with -pthread.
15065         Work around the bug by preferring -pthread to -lpthread.
15066         * m4/pthread.m4 (gl_PTHREAD_CHECK):
15067         * m4/threadlib.m4 (gl_THREADLIB_BODY): Prefer -pthread to -lpthread.
15068         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
15069         Treat -pthread like -lpthread.
15071 2014-09-04  Eric Blake  <eblake@redhat.com>
15073         error: drop spurious semicolon
15074         * lib/error.c (__error_at_line): Fix ';;'.
15076 2014-09-02  Paul Eggert  <eggert@cs.ucla.edu>
15078         gnulib-common.m4: port to GCC 4.2.1 and Sun Studio 12 C++
15079         * m4/gnulib-common.m4 (AC_C_RESTRICT):
15080         Override AC_C_RESTRICT unconditionally.
15081         Update from autoconf, incorporating:
15082         2014-09-02 autoconf: port 'restrict' to GCC 4.2.1
15083         2009-01-28 Fix AC_C_RESTRICT for Sun Studio 12 C++.
15085 2014-09-01  Paul Eggert  <eggert@cs.ucla.edu>
15087         manywarnings: add GCC 4.9 warnings
15088         Also, make it easier to maintain this in the future.
15089         * build-aux/gcc-warning.spec: Add -Wabi-tag,
15090         -Wconditionally-supported, -Wdelete-incomplete,
15091         -Winherited-variadic-ctor, -Wvirtual-move-assign, -Wzerotrip.
15092         Remove duplicates.  Use tabs uniformly, as that's what 'cut' wants.
15093         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wdate-time,
15094         -Wopenmp-simd.  Use -fdiagnostics-show-option and -funit-at-a-time
15095         only for older GCC versions that need them.  Handle
15096         -Wnormalized=nfc specially, so that the 'comm' command used
15097         for maintenance doesn't get confused.
15099 2014-08-31  Paul Eggert  <eggert@cs.ucla.edu>
15101         vasnprintf: fix bugs in width computation
15102         * lib/vasnprintf.c (VASNPRINTF):
15103         Rework previous change, which introduced a bug,
15104         to avoid the warning in a different way.
15105         Avoid undefined behavior if the width arg is less than -INT_MAX.
15106         Avoid unnecessary use of HAS_WIDTH local.
15108 2014-08-31  Thien-Thi Nguyen  <ttn@gnu.org>  (tiny change)
15110         vasnprintf: Avoid signed/unsigned comparison warning.
15111         * lib/vasnprintf.c (VASNPRINTF): To calculate padding,
15112         compare end addr of generated string w/ maximum end addr.
15114 2013-08-30  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
15116         parse-datetime: Avoid pointer difference.
15117         * lib/parse-datetime.y (yylex): Compare pointer to end of buffer,
15118         instead of calculating difference of pointers.  This removes an
15119         annoying warning, devoid of any use.
15121 2014-08-29  Paul Eggert  <eggert@cs.ucla.edu>
15123         qsort_r: new module, for GNU-style qsort_r
15124         This works even on FreeBSD, which has an incompatible qsort_r API.
15125         * MODULES.html.sh: Add it.
15126         * doc/glibc-functions/qsort_r.texi: It's now supported.
15127         * lib/qsort.c: New file, taken from glibc with minor changes
15128         inside "#ifndef _LIBC" and with an unnecessary "#include <alloca.h>"
15129         removed.
15130         * lib/qsort_r.c: New file, compiled only on FreeBSD.
15131         * lib/stdlib.in.h (qsort_r): Declare in the usual way.
15132         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS):
15133         * modules/qsort_r, modules/qsort_r-tests: New files.
15134         * modules/stdlib (Makefile): Set up its defaults.
15135         * tests/test-qsort_r.c: New file.
15137 2014-08-08  Paul Eggert  <eggert@cs.ucla.edu>
15139         vla: new module
15140         GNU RCS can use this, mostly for documentation I expect.  See:
15141         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00025.html
15142         * MODULES.html.sh: Add vla.
15143         * lib/vla.h, modules/vla: New files.
15145 2014-08-07  Daiki Ueno  <ueno@gnu.org>
15147         localename: make gl_locale_name_thread really thread-safe on Windows
15148         * lib/localename.c [WINDOWS_NATIVE && !IN_LIBINTL]: Include
15149         "glthread/lock.h".
15150         (get_lcid_lock) [WINDOWS_NATIVE]: New variable.
15151         (get_lcid) [WINDOWS_NATIVE]: Lock while looking for an LCID.
15153 2014-08-07  Paul Eggert  <eggert@cs.ucla.edu>
15155         getpass: don't assume struct termios
15156         Problem report and trivial fix by Jonas 'Sortie' Termansen in:
15157         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00015.html
15158         * lib/getpass.c (getpass): Port to systems lacking struct termios.
15160         getdtablesize: fall back on sysconf (_SC_OPEN_MAX)
15161         Problem reported by Jonas 'Sortie' Termansen in:
15162         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00023.html
15163         * lib/getdtablesize.c (getdtablesize) [_SC_OPEN_MAX]:
15164         Implement via sysconf for platforms that lack getdtablesize.
15166         vararrays: modernize AC_C_VARARRAYS for C11
15167         This backports a change I recently made to Autoconf.
15168         * m4/vararrays.m4 (AC_C_VARARRAYS): Define __STDC_NO_VLA__ if
15169         VLAs are not supported, as this is what C11 does.  The old macro
15170         HAVE_C_VARARRAYS is still defined if they are supported, but is
15171         now obsolescent.  Also, check for VLA bug in GCC 3.4.3.
15173 2014-08-07  Alessandro Degano  <degano@cern.ch>  (tiny change)
15175         relocatable-prog-wrapper: port gettext to OS X 10.8 + GCC 4.8.1
15176         * build-aux/install-reloc (func_create_wrapper): Also wrap
15177         strerror-override, stat, stat.
15179 2014-08-05  Paul Eggert  <eggert@cs.ucla.edu>
15181         sys_select: fix FD_ZERO problem on Solaris 10
15182         * lib/sys_select.in.h: Fix Solaris 10 bug where "#include
15183         <sys/time.h>" followed by "#include <sys/select.h>" caused FD_ZERO
15184         to expand to an expression that invoked memset without necessarily
15185         including <string.h>.  The problem was that the first include
15186         defined _SYS_TIME_H, causing the second include to short-circuit.
15187         Fix a similar problem with <sys/types.h> followed by <sys/select.h>.
15188         Also, fix what appears to be a cut-and-paste typo, by replacing
15189         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H with
15190         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H.
15192         accept: document Solaris 10 type glitch
15193         * doc/posix-functions/accept.texi (accept): Mention that
15194         Solaris 10 'accept' takes void * last arg, not socklen_t *.
15196 2014-08-04  Paul Eggert  <eggert@cs.ucla.edu>
15198         extern-inline: port to FreeBSD, DragonFly
15199         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Also assume the bug
15200         is present if either __DragonFly__ or __FreeBSD__ is defined.
15201         FreeBSD problem reported by Andrey Borzenkov in:
15202         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
15203         Also, worry about __APPLE__ only if __MACH__ is also defined,
15204         as this is more consistent with the rest of gnulib.
15205         (_GL_EXTERN_INLINE_STDHEADER_BUG): Rename this internal macro from
15206         _GL_EXTERN_INLINE_APPLE_BUG, since the bug is not limited to Apple.
15208 2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
15210         regex: Make #if/#ifdef usage consistent for DEBUG
15211         * lib/regex_internal.c: Use "#if defined DEBUG && DEBUG" instead
15212         of the inconsistent usage of #if and #ifdef as that works with
15213         both Glibc and Gnulib's style.
15215 2014-07-31  Eric Blake  <eblake@redhat.com>
15217         openat-die: use _Noreturn markup
15218         * modules/openat-die (Depends-on): Add snippet/_Noreturn.
15219         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Mark
15220         _Noreturn.
15222 2014-07-30  Eric Blake  <eblake@redhat.com>
15224         test-open: port to cygwin, which lacks Fortify
15225         * tests/test-open.h (ALWAYS_INLINE): New macro.
15226         (__always_inline): Don't abuse internal symbol on non-glibc.
15228 2014-07-19  Eli Zaretskii  <eliz@gnu.org>
15230         localename: Enforce declarations before statements.
15231         * localename.c (gl_locale_name_thread): Declare 'lcid' before the
15232         first statement.
15234 2014-07-18  Jim Meyering  <meyering@fb.com>
15236         test-userspec: don't look up numeric user names
15237         * tests/test-userspec.c: I found a system for which getpwnam("0")
15238         returned a pointer to a non-root user's entry, and that made the
15239         test fail.
15240         (T): Prefix each numeric input with "+", to inhibit lookup.
15242 2014-07-15  Eli Zaretskii  <eliz@gnu.org>
15244         localcharset, localename: MS-Windows support for non-default locales
15245         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Before
15246         falling back on the default system codepage, try extracting
15247         the codepage from what 'setlocale' returns.  This allows to
15248         take into account changes of the codeset due to non-default
15249         locale set by a previous call to 'setlocale'.
15250         * lib/localename.c (LOCALE_NAME_MAX_LENGTH) [WINDOWS_NATIVE]:
15251         Define if not already defined.
15252         (enum_locales_fn, get_lcid) [WINDOWS_NATIVE]: New functions.
15253         (gl_locale_name_thread) [WINDOWS_NATIVE]: Produce the
15254         current locale by calling 'setlocale', then converting the
15255         locale name into LCID by calling 'get_lcid'.  This allows to
15256         take into account changes in the current locale from the
15257         default one, in contrast to GetThreadLocale.
15259 2014-07-14  Daiki Ueno  <ueno@gnu.org>
15261         announce-gen: avoid failure when Digest::SHA is installed
15262         When Digest::SHA is available, Digest::SHA1 is not loaded and thus
15263         Digest::SHA1->new in print_checksums fails.
15264         * build-aux/announce-gen (digest_classes): New associative array
15265         for available message digest implementations.
15266         (print_locations): Use it.
15268 2014-07-13  Pádraig Brady  <P@draigBrady.com>
15270         gettext: revert "update macros to version 0.19"
15271         This reverts commit 9b9370ca, as it currently requires that
15272         developers of any project that explicitly uses the gettext module
15273         or implicitly uses it through the utimens-tests or
15274         futimens-tests modules, use gettext >= 0.19.
15275         However there are some stability and availablity issues with
15276         that version at present.  We can reinstate this soon, when stability
15277         is addressed and packages are more readily available.
15279 2014-07-12  Jim Meyering  <meyering@fb.com>
15281         regex: don't deref NULL upon heap allocation failure
15282         * lib/regcomp.c (parse_dup_op): Handle duplicate_tree
15283         failure in one more place.
15284         To trigger the segfault, configure grep -with-included-regex,
15285         build it, and run these commands:
15286         ( ulimit -v 300000; echo a|src/grep -E a+++++++++++++++++++++ )
15287         I discovered this while replying to a private report from
15288         Jens Schleusener about excessive memory consumption by grep
15289         when using a regular expression like the one above.
15291 2014-07-11  Paul Eggert  <eggert@cs.ucla.edu>
15293         regex: fix memory leak in compiler
15294         Fix by Andreas Schwab in:
15295         https://sourceware.org/ml/libc-alpha/2014-06/msg00503.html
15296         * lib/regcomp.c (parse_reg_exp): Deallocate partially
15297         constructed tree before returning error.
15299 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
15301         announce-gen: avoid perl warnings
15302         * build-aux/announce-gen: add two minor checks to avoid
15303         "use of uninitialized value" warnings when command-line parameters are
15304         missing.
15306 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
15308         localename: avoid -Wsuggest-attribute={const,pure} warnings
15309         * lib/localename.c (string_has): Tag internal function as pure.
15310         * lib/localename.h (gl_locale_name_default): Tag extern declaration
15311         as const when appropriate.
15313 2014-07-10  Eli Zaretskii  <eliz@gnu.org>
15315         nl_langinfo: Fix last change.
15316         * lib/nl_langinfo.c (includes): Drop redundant include.
15318 2014-07-10  Siddhesh Poyarekar  <siddhesh@redhat.com>
15320         error: Fix -Wundef warnings in glibc
15321         * lib/error.c [_LIBC]: Define default macros for
15322         glibc.
15323         (print_errno_message) [defined HAVE_STRERROR_R || _LIBC]:
15324         Check _LIBC before STRERROR_R_CHAR_P.
15326         error: Sync from glibc master
15327         * lib/error.c [_LIBC]: Remove INTUSE usage.
15328         (error_tail): Remove unused macro ALLOCA_LIMIT.
15329         Fix potential buffer overflow.  Fix potential NULL dereference
15330         in strcmp.
15332 2014-07-09  Pavel Hrdina  <phrdina@redhat.com> (tiny change)
15334         nl_langinfo: fix build under mingw
15335         * lib/nl_langinfo.c (includes): Pick up <windows.h> for GetACP().
15337 2014-07-09  Andrew D Warshall  <warshall@99main.com>
15339         mountlist: do not classify a bind-mounted dir entry as "dummy"
15340         * m4/ls-mntd-fs.m4: Check for hasmntopt() on platforms with
15341         1-argument getmntent() (instead of assuming absence).
15343 2014-07-08  Eric Blake  <eblake@redhat.com>
15345         maint.mk: less syntax-check noise when SIGPIPE is ignored
15346         * top/maint.mk (_sc_header_without_use)
15347         (sc_require_config_h_first): Parse full list.
15349 2014-07-07  Eli Zaretskii  <eliz@gnu.org>
15350             Paul Eggert  <eggert@cs.ucla.edu>
15352         nl_langinfo: CODESET on MS-Windows and more items from localeconv
15353         * lib/langinfo.in.h (DECIMAL_POINT, THOUSANDS_SEP, GROUPING)
15354         (CURRENCY_SYMBOL, INT_CURR_SYMBOL, MON_DECIMAL_POINT)
15355         (MON_THOUSANDS_SEP, MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN)
15356         (FRAC_DIGITS, INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES)
15357         (P_SEP_BY_SPACE, N_SEP_BY_SPACE, P_SIGN_POSN, N_SIGN_POSN): Define.
15358         * lib/nl_langinfo.c: Include <locale.h> and <string.h> early.
15359         Include <stdio.h> if Microsoft Windows.
15360         Include <time.h> if !REPLACE_NL_LANGINFO.
15361         (ctype_codeset): New function, taken from rpl_nl_langinfo,
15362         and with improvements for Microsoft Windows.
15363         (rpl_nl_langinfo): Use it.
15364         (nl_langinfo) [!REPLACE_NL_LANGINFO]: Likewise.
15365         Compute the values of RADIXCHAR, THOUSEP, GROUPING, CRNCYSTR,
15366         INT_CURR_SYMBOL, MON_DECIMAL_POINT, MON_THOUSANDS_SEP,
15367         MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN, FRAC_DIGITS,
15368         INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES, P_SEP_BY_SPACE,
15369         N_SEP_BY_SPACE, P_SIGN_POSN, and N_SIGN_POSN from the
15370         corresponding values returned by 'localeconv'.  Compute the values
15371         of AM_STR, PM_STR, DAY_n, ABDAY_n, MON_n, and ABMON_n by calling
15372         'strftime' with a suitable struct tm value.
15374 2014-07-05  Paul Eggert  <eggert@cs.ucla.edu>
15376         Bruno Haible has stepped down as maintainer.
15377         See Karl Berry in:
15378         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00004.html
15379         Daiki Ueno has volunteered to maintain libunistring; see:
15380         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00005.html
15381         * modules/gen-uni-tables, modules/libunistring:
15382         * modules/libunistring-optional, modules/ucs4-utf16, modules/ucs4-utf8:
15383         * modules/unicase/base, modules/unicase/cased:
15384         * modules/unicase/empty-prefix-context:
15385         * modules/unicase/empty-suffix-context, modules/unicase/ignorable:
15386         * modules/unicase/locale-language, modules/unicase/special-casing:
15387         * modules/unicase/tocasefold, modules/unicase/tolower:
15388         * modules/unicase/totitle, modules/unicase/toupper:
15389         * modules/unicase/u16-casecmp, modules/unicase/u16-casecoll:
15390         * modules/unicase/u16-casefold, modules/unicase/u16-casemap:
15391         * modules/unicase/u16-casexfrm, modules/unicase/u16-ct-casefold:
15392         * modules/unicase/u16-ct-tolower, modules/unicase/u16-ct-totitle:
15393         * modules/unicase/u16-ct-toupper, modules/unicase/u16-is-cased:
15394         * modules/unicase/u16-is-casefolded, modules/unicase/u16-is-invariant:
15395         * modules/unicase/u16-is-lowercase, modules/unicase/u16-is-titlecase:
15396         * modules/unicase/u16-is-uppercase, modules/unicase/u16-prefix-context:
15397         * modules/unicase/u16-suffix-context, modules/unicase/u16-tolower:
15398         * modules/unicase/u16-totitle, modules/unicase/u16-toupper:
15399         * modules/unicase/u32-casecmp, modules/unicase/u32-casecoll:
15400         * modules/unicase/u32-casefold, modules/unicase/u32-casemap:
15401         * modules/unicase/u32-casexfrm, modules/unicase/u32-ct-casefold:
15402         * modules/unicase/u32-ct-tolower, modules/unicase/u32-ct-totitle:
15403         * modules/unicase/u32-ct-toupper, modules/unicase/u32-is-cased:
15404         * modules/unicase/u32-is-casefolded, modules/unicase/u32-is-invariant:
15405         * modules/unicase/u32-is-lowercase, modules/unicase/u32-is-titlecase:
15406         * modules/unicase/u32-is-uppercase, modules/unicase/u32-prefix-context:
15407         * modules/unicase/u32-suffix-context, modules/unicase/u32-tolower:
15408         * modules/unicase/u32-totitle, modules/unicase/u32-toupper:
15409         * modules/unicase/u8-casecmp, modules/unicase/u8-casecoll:
15410         * modules/unicase/u8-casefold, modules/unicase/u8-casemap:
15411         * modules/unicase/u8-casexfrm, modules/unicase/u8-ct-casefold:
15412         * modules/unicase/u8-ct-tolower, modules/unicase/u8-ct-totitle:
15413         * modules/unicase/u8-ct-toupper, modules/unicase/u8-is-cased:
15414         * modules/unicase/u8-is-casefolded, modules/unicase/u8-is-invariant:
15415         * modules/unicase/u8-is-lowercase, modules/unicase/u8-is-titlecase:
15416         * modules/unicase/u8-is-uppercase, modules/unicase/u8-prefix-context:
15417         * modules/unicase/u8-suffix-context, modules/unicase/u8-tolower:
15418         * modules/unicase/u8-totitle, modules/unicase/u8-toupper:
15419         * modules/unicase/ulc-casecmp, modules/unicase/ulc-casecoll:
15420         * modules/unicase/ulc-casexfrm, modules/unicodeio:
15421         * modules/uniconv/base, modules/uniconv/u16-conv-from-enc:
15422         * modules/uniconv/u16-conv-to-enc:
15423         * modules/uniconv/u16-strconv-from-enc:
15424         * modules/uniconv/u16-strconv-from-locale:
15425         * modules/uniconv/u16-strconv-to-enc:
15426         * modules/uniconv/u16-strconv-to-locale:
15427         * modules/uniconv/u32-conv-from-enc, modules/uniconv/u32-conv-to-enc:
15428         * modules/uniconv/u32-strconv-from-enc:
15429         * modules/uniconv/u32-strconv-from-locale:
15430         * modules/uniconv/u32-strconv-to-enc:
15431         * modules/uniconv/u32-strconv-to-locale:
15432         * modules/uniconv/u8-conv-from-enc, modules/uniconv/u8-conv-to-enc:
15433         * modules/uniconv/u8-strconv-from-enc:
15434         * modules/uniconv/u8-strconv-from-locale:
15435         * modules/uniconv/u8-strconv-to-enc:
15436         * modules/uniconv/u8-strconv-to-locale, modules/unictype/base:
15437         * modules/unictype/bidicategory-all:
15438         * modules/unictype/bidicategory-byname:
15439         * modules/unictype/bidicategory-name, modules/unictype/bidicategory-of:
15440         * modules/unictype/bidicategory-test, modules/unictype/bidiclass-all:
15441         * modules/unictype/bidiclass-byname:
15442         * modules/unictype/bidiclass-longname, modules/unictype/bidiclass-name:
15443         * modules/unictype/bidiclass-of, modules/unictype/bidiclass-test:
15444         * modules/unictype/block-all, modules/unictype/block-list:
15445         * modules/unictype/block-of, modules/unictype/block-test:
15446         * modules/unictype/category-C, modules/unictype/category-Cc:
15447         * modules/unictype/category-Cf, modules/unictype/category-Cn:
15448         * modules/unictype/category-Co, modules/unictype/category-Cs:
15449         * modules/unictype/category-L, modules/unictype/category-LC:
15450         * modules/unictype/category-Ll, modules/unictype/category-Lm:
15451         * modules/unictype/category-Lo, modules/unictype/category-Lt:
15452         * modules/unictype/category-Lu, modules/unictype/category-M:
15453         * modules/unictype/category-Mc, modules/unictype/category-Me:
15454         * modules/unictype/category-Mn, modules/unictype/category-N:
15455         * modules/unictype/category-Nd, modules/unictype/category-Nl:
15456         * modules/unictype/category-No, modules/unictype/category-P:
15457         * modules/unictype/category-Pc, modules/unictype/category-Pd:
15458         * modules/unictype/category-Pe, modules/unictype/category-Pf:
15459         * modules/unictype/category-Pi, modules/unictype/category-Po:
15460         * modules/unictype/category-Ps, modules/unictype/category-S:
15461         * modules/unictype/category-Sc, modules/unictype/category-Sk:
15462         * modules/unictype/category-Sm, modules/unictype/category-So:
15463         * modules/unictype/category-Z, modules/unictype/category-Zl:
15464         * modules/unictype/category-Zp, modules/unictype/category-Zs:
15465         * modules/unictype/category-all, modules/unictype/category-and:
15466         * modules/unictype/category-and-not, modules/unictype/category-byname:
15467         * modules/unictype/category-longname, modules/unictype/category-name:
15468         * modules/unictype/category-none, modules/unictype/category-of:
15469         * modules/unictype/category-or, modules/unictype/category-test:
15470         * modules/unictype/category-test-withtable:
15471         * modules/unictype/combining-class:
15472         * modules/unictype/combining-class-all:
15473         * modules/unictype/combining-class-byname:
15474         * modules/unictype/combining-class-longname:
15475         * modules/unictype/combining-class-name, modules/unictype/ctype-alnum:
15476         * modules/unictype/ctype-alpha, modules/unictype/ctype-blank:
15477         * modules/unictype/ctype-cntrl, modules/unictype/ctype-digit:
15478         * modules/unictype/ctype-graph, modules/unictype/ctype-lower:
15479         * modules/unictype/ctype-print, modules/unictype/ctype-punct:
15480         * modules/unictype/ctype-space, modules/unictype/ctype-upper:
15481         * modules/unictype/ctype-xdigit, modules/unictype/decimal-digit:
15482         * modules/unictype/digit, modules/unictype/joininggroup-all:
15483         * modules/unictype/joininggroup-byname:
15484         * modules/unictype/joininggroup-name, modules/unictype/joininggroup-of:
15485         * modules/unictype/joiningtype-all:
15486         * modules/unictype/joiningtype-byname:
15487         * modules/unictype/joiningtype-longname:
15488         * modules/unictype/joiningtype-name, modules/unictype/joiningtype-of:
15489         * modules/unictype/mirror, modules/unictype/numeric:
15490         * modules/unictype/property-all, modules/unictype/property-alphabetic:
15491         * modules/unictype/property-ascii-hex-digit:
15492         * modules/unictype/property-bidi-arabic-digit:
15493         * modules/unictype/property-bidi-arabic-right-to-left:
15494         * modules/unictype/property-bidi-block-separator:
15495         * modules/unictype/property-bidi-boundary-neutral:
15496         * modules/unictype/property-bidi-common-separator:
15497         * modules/unictype/property-bidi-control:
15498         * modules/unictype/property-bidi-embedding-or-override:
15499         * modules/unictype/property-bidi-eur-num-separator:
15500         * modules/unictype/property-bidi-eur-num-terminator:
15501         * modules/unictype/property-bidi-european-digit:
15502         * modules/unictype/property-bidi-hebrew-right-to-left:
15503         * modules/unictype/property-bidi-left-to-right:
15504         * modules/unictype/property-bidi-non-spacing-mark:
15505         * modules/unictype/property-bidi-other-neutral:
15506         * modules/unictype/property-bidi-pdf:
15507         * modules/unictype/property-bidi-segment-separator:
15508         * modules/unictype/property-bidi-whitespace:
15509         * modules/unictype/property-byname:
15510         * modules/unictype/property-case-ignorable:
15511         * modules/unictype/property-cased:
15512         * modules/unictype/property-changes-when-casefolded:
15513         * modules/unictype/property-changes-when-casemapped:
15514         * modules/unictype/property-changes-when-lowercased:
15515         * modules/unictype/property-changes-when-titlecased:
15516         * modules/unictype/property-changes-when-uppercased:
15517         * modules/unictype/property-combining:
15518         * modules/unictype/property-composite:
15519         * modules/unictype/property-currency-symbol:
15520         * modules/unictype/property-dash:
15521         * modules/unictype/property-decimal-digit:
15522         * modules/unictype/property-default-ignorable-code-point:
15523         * modules/unictype/property-deprecated:
15524         * modules/unictype/property-diacritic:
15525         * modules/unictype/property-extender:
15526         * modules/unictype/property-format-control:
15527         * modules/unictype/property-grapheme-base:
15528         * modules/unictype/property-grapheme-extend:
15529         * modules/unictype/property-grapheme-link:
15530         * modules/unictype/property-hex-digit:
15531         * modules/unictype/property-hyphen:
15532         * modules/unictype/property-id-continue:
15533         * modules/unictype/property-id-start:
15534         * modules/unictype/property-ideographic:
15535         * modules/unictype/property-ids-binary-operator:
15536         * modules/unictype/property-ids-trinary-operator:
15537         * modules/unictype/property-ignorable-control:
15538         * modules/unictype/property-iso-control:
15539         * modules/unictype/property-join-control:
15540         * modules/unictype/property-left-of-pair:
15541         * modules/unictype/property-line-separator:
15542         * modules/unictype/property-logical-order-exception:
15543         * modules/unictype/property-lowercase, modules/unictype/property-math:
15544         * modules/unictype/property-non-break:
15545         * modules/unictype/property-not-a-character:
15546         * modules/unictype/property-numeric:
15547         * modules/unictype/property-other-alphabetic:
15548         * modules/unictype/property-other-default-ignorable-code-point:
15549         * modules/unictype/property-other-grapheme-extend:
15550         * modules/unictype/property-other-id-continue:
15551         * modules/unictype/property-other-id-start:
15552         * modules/unictype/property-other-lowercase:
15553         * modules/unictype/property-other-math:
15554         * modules/unictype/property-other-uppercase:
15555         * modules/unictype/property-paired-punctuation:
15556         * modules/unictype/property-paragraph-separator:
15557         * modules/unictype/property-pattern-syntax:
15558         * modules/unictype/property-pattern-white-space:
15559         * modules/unictype/property-private-use:
15560         * modules/unictype/property-punctuation:
15561         * modules/unictype/property-quotation-mark:
15562         * modules/unictype/property-radical:
15563         * modules/unictype/property-sentence-terminal:
15564         * modules/unictype/property-soft-dotted:
15565         * modules/unictype/property-space:
15566         * modules/unictype/property-terminal-punctuation:
15567         * modules/unictype/property-test, modules/unictype/property-titlecase:
15568         * modules/unictype/property-unassigned-code-value:
15569         * modules/unictype/property-unified-ideograph:
15570         * modules/unictype/property-uppercase:
15571         * modules/unictype/property-variation-selector:
15572         * modules/unictype/property-white-space:
15573         * modules/unictype/property-xid-continue:
15574         * modules/unictype/property-xid-start:
15575         * modules/unictype/property-zero-width, modules/unictype/scripts:
15576         * modules/unictype/scripts-all, modules/unictype/syntax-c-ident:
15577         * modules/unictype/syntax-c-whitespace:
15578         * modules/unictype/syntax-java-ident:
15579         * modules/unictype/syntax-java-whitespace, modules/unigbrk/base:
15580         * modules/unigbrk/u16-grapheme-breaks:
15581         * modules/unigbrk/u16-grapheme-next, modules/unigbrk/u16-grapheme-prev:
15582         * modules/unigbrk/u32-grapheme-breaks:
15583         * modules/unigbrk/u32-grapheme-next, modules/unigbrk/u32-grapheme-prev:
15584         * modules/unigbrk/u8-grapheme-breaks, modules/unigbrk/u8-grapheme-next:
15585         * modules/unigbrk/u8-grapheme-prev, modules/unigbrk/uc-gbrk-prop:
15586         * modules/unigbrk/uc-is-grapheme-break:
15587         * modules/unigbrk/ulc-grapheme-breaks, modules/unilbrk/base:
15588         * modules/unilbrk/tables, modules/unilbrk/u16-possible-linebreaks:
15589         * modules/unilbrk/u16-width-linebreaks:
15590         * modules/unilbrk/u32-possible-linebreaks:
15591         * modules/unilbrk/u32-width-linebreaks:
15592         * modules/unilbrk/u8-possible-linebreaks:
15593         * modules/unilbrk/u8-width-linebreaks, modules/unilbrk/ulc-common:
15594         * modules/unilbrk/ulc-possible-linebreaks:
15595         * modules/unilbrk/ulc-width-linebreaks, modules/uniname/base:
15596         * modules/uniname/uniname, modules/uninorm/base:
15597         * modules/uninorm/canonical-decomposition:
15598         * modules/uninorm/compat-decomposition, modules/uninorm/composition:
15599         * modules/uninorm/decompose-internal, modules/uninorm/decomposing-form:
15600         * modules/uninorm/decomposition, modules/uninorm/decomposition-table:
15601         * modules/uninorm/filter, modules/uninorm/nfc, modules/uninorm/nfd:
15602         * modules/uninorm/nfkc, modules/uninorm/nfkd:
15603         * modules/uninorm/u16-normalize, modules/uninorm/u16-normcmp:
15604         * modules/uninorm/u16-normcoll, modules/uninorm/u16-normxfrm:
15605         * modules/uninorm/u32-normalize, modules/uninorm/u32-normcmp:
15606         * modules/uninorm/u32-normcoll, modules/uninorm/u32-normxfrm:
15607         * modules/uninorm/u8-normalize, modules/uninorm/u8-normcmp:
15608         * modules/uninorm/u8-normcoll, modules/uninorm/u8-normxfrm:
15609         * modules/unistdio/base, modules/unistdio/u-printf-args:
15610         * modules/unistdio/u16-asnprintf, modules/unistdio/u16-asprintf:
15611         * modules/unistdio/u16-printf-parse, modules/unistdio/u16-snprintf:
15612         * modules/unistdio/u16-sprintf, modules/unistdio/u16-u16-asnprintf:
15613         * modules/unistdio/u16-u16-asprintf, modules/unistdio/u16-u16-snprintf:
15614         * modules/unistdio/u16-u16-sprintf:
15615         * modules/unistdio/u16-u16-vasnprintf:
15616         * modules/unistdio/u16-u16-vasprintf:
15617         * modules/unistdio/u16-u16-vsnprintf:
15618         * modules/unistdio/u16-u16-vsprintf, modules/unistdio/u16-vasnprintf:
15619         * modules/unistdio/u16-vasprintf, modules/unistdio/u16-vsnprintf:
15620         * modules/unistdio/u16-vsprintf, modules/unistdio/u32-asnprintf:
15621         * modules/unistdio/u32-asprintf, modules/unistdio/u32-printf-parse:
15622         * modules/unistdio/u32-snprintf, modules/unistdio/u32-sprintf:
15623         * modules/unistdio/u32-u32-asnprintf:
15624         * modules/unistdio/u32-u32-asprintf, modules/unistdio/u32-u32-snprintf:
15625         * modules/unistdio/u32-u32-sprintf:
15626         * modules/unistdio/u32-u32-vasnprintf:
15627         * modules/unistdio/u32-u32-vasprintf:
15628         * modules/unistdio/u32-u32-vsnprintf:
15629         * modules/unistdio/u32-u32-vsprintf, modules/unistdio/u32-vasnprintf:
15630         * modules/unistdio/u32-vasprintf, modules/unistdio/u32-vsnprintf:
15631         * modules/unistdio/u32-vsprintf, modules/unistdio/u8-asnprintf:
15632         * modules/unistdio/u8-asprintf, modules/unistdio/u8-printf-parse:
15633         * modules/unistdio/u8-snprintf, modules/unistdio/u8-sprintf:
15634         * modules/unistdio/u8-u8-asnprintf, modules/unistdio/u8-u8-asprintf:
15635         * modules/unistdio/u8-u8-snprintf, modules/unistdio/u8-u8-sprintf:
15636         * modules/unistdio/u8-u8-vasnprintf, modules/unistdio/u8-u8-vasprintf:
15637         * modules/unistdio/u8-u8-vsnprintf, modules/unistdio/u8-u8-vsprintf:
15638         * modules/unistdio/u8-vasnprintf, modules/unistdio/u8-vasprintf:
15639         * modules/unistdio/u8-vsnprintf, modules/unistdio/u8-vsprintf:
15640         * modules/unistdio/ulc-asnprintf, modules/unistdio/ulc-asprintf:
15641         * modules/unistdio/ulc-fprintf, modules/unistdio/ulc-printf-parse:
15642         * modules/unistdio/ulc-snprintf, modules/unistdio/ulc-sprintf:
15643         * modules/unistdio/ulc-vasnprintf, modules/unistdio/ulc-vasprintf:
15644         * modules/unistdio/ulc-vfprintf, modules/unistdio/ulc-vsnprintf:
15645         * modules/unistdio/ulc-vsprintf, modules/unistr/base:
15646         * modules/unistr/u16-check, modules/unistr/u16-chr:
15647         * modules/unistr/u16-cmp, modules/unistr/u16-cmp2:
15648         * modules/unistr/u16-cpy, modules/unistr/u16-cpy-alloc:
15649         * modules/unistr/u16-endswith, modules/unistr/u16-mblen:
15650         * modules/unistr/u16-mbsnlen, modules/unistr/u16-mbtouc:
15651         * modules/unistr/u16-mbtouc-unsafe, modules/unistr/u16-mbtoucr:
15652         * modules/unistr/u16-move, modules/unistr/u16-next:
15653         * modules/unistr/u16-prev, modules/unistr/u16-set:
15654         * modules/unistr/u16-startswith, modules/unistr/u16-stpcpy:
15655         * modules/unistr/u16-stpncpy, modules/unistr/u16-strcat:
15656         * modules/unistr/u16-strchr, modules/unistr/u16-strcmp:
15657         * modules/unistr/u16-strcoll, modules/unistr/u16-strcpy:
15658         * modules/unistr/u16-strcspn, modules/unistr/u16-strdup:
15659         * modules/unistr/u16-strlen, modules/unistr/u16-strmblen:
15660         * modules/unistr/u16-strmbtouc, modules/unistr/u16-strncat:
15661         * modules/unistr/u16-strncmp, modules/unistr/u16-strncpy:
15662         * modules/unistr/u16-strnlen, modules/unistr/u16-strpbrk:
15663         * modules/unistr/u16-strrchr, modules/unistr/u16-strspn:
15664         * modules/unistr/u16-strstr, modules/unistr/u16-strtok:
15665         * modules/unistr/u16-to-u32, modules/unistr/u16-to-u8:
15666         * modules/unistr/u16-uctomb, modules/unistr/u32-check:
15667         * modules/unistr/u32-chr, modules/unistr/u32-cmp:
15668         * modules/unistr/u32-cmp2, modules/unistr/u32-cpy:
15669         * modules/unistr/u32-cpy-alloc, modules/unistr/u32-endswith:
15670         * modules/unistr/u32-mblen, modules/unistr/u32-mbsnlen:
15671         * modules/unistr/u32-mbtouc, modules/unistr/u32-mbtouc-unsafe:
15672         * modules/unistr/u32-mbtoucr, modules/unistr/u32-move:
15673         * modules/unistr/u32-next, modules/unistr/u32-prev:
15674         * modules/unistr/u32-set, modules/unistr/u32-startswith:
15675         * modules/unistr/u32-stpcpy, modules/unistr/u32-stpncpy:
15676         * modules/unistr/u32-strcat, modules/unistr/u32-strchr:
15677         * modules/unistr/u32-strcmp, modules/unistr/u32-strcoll:
15678         * modules/unistr/u32-strcpy, modules/unistr/u32-strcspn:
15679         * modules/unistr/u32-strdup, modules/unistr/u32-strlen:
15680         * modules/unistr/u32-strmblen, modules/unistr/u32-strmbtouc:
15681         * modules/unistr/u32-strncat, modules/unistr/u32-strncmp:
15682         * modules/unistr/u32-strncpy, modules/unistr/u32-strnlen:
15683         * modules/unistr/u32-strpbrk, modules/unistr/u32-strrchr:
15684         * modules/unistr/u32-strspn, modules/unistr/u32-strstr:
15685         * modules/unistr/u32-strtok, modules/unistr/u32-to-u16:
15686         * modules/unistr/u32-to-u8, modules/unistr/u32-uctomb:
15687         * modules/unistr/u8-check, modules/unistr/u8-chr:
15688         * modules/unistr/u8-cmp, modules/unistr/u8-cmp2, modules/unistr/u8-cpy:
15689         * modules/unistr/u8-cpy-alloc, modules/unistr/u8-endswith:
15690         * modules/unistr/u8-mblen, modules/unistr/u8-mbsnlen:
15691         * modules/unistr/u8-mbtouc, modules/unistr/u8-mbtouc-unsafe:
15692         * modules/unistr/u8-mbtoucr, modules/unistr/u8-move:
15693         * modules/unistr/u8-next, modules/unistr/u8-prev:
15694         * modules/unistr/u8-set, modules/unistr/u8-startswith:
15695         * modules/unistr/u8-stpcpy, modules/unistr/u8-stpncpy:
15696         * modules/unistr/u8-strcat, modules/unistr/u8-strchr:
15697         * modules/unistr/u8-strcmp, modules/unistr/u8-strcoll:
15698         * modules/unistr/u8-strcpy, modules/unistr/u8-strcspn:
15699         * modules/unistr/u8-strdup, modules/unistr/u8-strlen:
15700         * modules/unistr/u8-strmblen, modules/unistr/u8-strmbtouc:
15701         * modules/unistr/u8-strncat, modules/unistr/u8-strncmp:
15702         * modules/unistr/u8-strncpy, modules/unistr/u8-strnlen:
15703         * modules/unistr/u8-strpbrk, modules/unistr/u8-strrchr:
15704         * modules/unistr/u8-strspn, modules/unistr/u8-strstr:
15705         * modules/unistr/u8-strtok, modules/unistr/u8-to-u16:
15706         * modules/unistr/u8-to-u32, modules/unistr/u8-uctomb, modules/unitypes:
15707         * modules/uniwbrk/base, modules/uniwbrk/table:
15708         * modules/uniwbrk/u16-wordbreaks, modules/uniwbrk/u32-wordbreaks:
15709         * modules/uniwbrk/u8-wordbreaks, modules/uniwbrk/ulc-wordbreaks:
15710         * modules/uniwbrk/wordbreak-property, modules/uniwidth/base:
15711         * modules/uniwidth/u16-strwidth, modules/uniwidth/u16-width:
15712         * modules/uniwidth/u32-strwidth, modules/uniwidth/u32-width:
15713         * modules/uniwidth/u8-strwidth, modules/uniwidth/u8-width:
15714         * modules/uniwidth/width, modules/utf16-ucs4:
15715         * modules/utf16-ucs4-unsafe, modules/utf8-ucs4:
15716         * modules/utf8-ucs4-unsafe:
15717         Change maintainer from Bruno Haible to Daiki Ueno.
15718         This is my guess at the libunistring modules; please feel free
15719         to fix if I guessed incorrectly.
15720         * modules/accept4, modules/acl, modules/acos, modules/acosf:
15721         * modules/alignof, modules/amemxfrm, modules/ansi-c++-opt:
15722         * modules/areadlink, modules/array-list, modules/array-mergesort:
15723         * modules/array-oset, modules/asin, modules/asinf, modules/astrxfrm:
15724         * modules/atan, modules/atan2, modules/atan2f, modules/atanf:
15725         * modules/avltree-list, modules/avltree-oset, modules/avltreehash-list:
15726         * modules/binary-io, modules/bison-i18n, modules/btowc:
15727         * modules/c-ctype, modules/c-strcase, modules/c-strcaseeq:
15728         * modules/c-strcasestr, modules/c-strstr, modules/calloc-posix:
15729         * modules/canonicalize-lgpl, modules/careadlinkat, modules/carray-list:
15730         * modules/cbrt, modules/cbrt-ieee, modules/cbrtf, modules/cbrtf-ieee:
15731         * modules/cbrtl, modules/cbrtl-ieee, modules/ceil, modules/ceil-ieee:
15732         * modules/ceilf, modules/ceilf-ieee, modules/ceill, modules/ceill-ieee:
15733         * modules/chdir, modules/classpath, modules/clean-temp, modules/close:
15734         * modules/closedir, modules/concat-filename, modules/copy-file:
15735         * modules/copysign, modules/copysignf, modules/copysignl, modules/cos:
15736         * modules/cosf, modules/cosh, modules/coshf, modules/csharpcomp:
15737         * modules/csharpcomp-script, modules/csharpexec:
15738         * modules/csharpexec-script, modules/ctype, modules/diffseq:
15739         * modules/dprintf, modules/dprintf-posix, modules/dup:
15740         * modules/dup2-obsolete, modules/dup3, modules/duplocale:
15741         * modules/eealloc, modules/environ, modules/erf, modules/erfc:
15742         * modules/errno, modules/execute, modules/exp, modules/exp-ieee:
15743         * modules/exp2, modules/exp2-ieee, modules/exp2f, modules/exp2f-ieee:
15744         * modules/exp2l, modules/exp2l-ieee, modules/expf, modules/expf-ieee:
15745         * modules/expl, modules/expl-ieee, modules/expm1, modules/expm1-ieee:
15746         * modules/expm1f, modules/expm1f-ieee, modules/expm1l:
15747         * modules/expm1l-ieee, modules/fabs, modules/fabs-ieee, modules/fabsf:
15748         * modules/fabsf-ieee, modules/fabsl, modules/fabsl-ieee:
15749         * modules/fatal-signal, modules/fbufmode, modules/fchdir:
15750         * modules/fclose, modules/fd-hook, modules/fdopen, modules/filename:
15751         * modules/findprog, modules/findprog-lgpl, modules/floor:
15752         * modules/floor-ieee, modules/floorf, modules/floorf-ieee:
15753         * modules/floorl, modules/floorl-ieee, modules/fma, modules/fma-ieee:
15754         * modules/fmaf, modules/fmaf-ieee, modules/fmal, modules/fmal-ieee:
15755         * modules/fmod, modules/fmod-ieee, modules/fmodf, modules/fmodf-ieee:
15756         * modules/fmodl, modules/fmodl-ieee, modules/fopen, modules/fpieee:
15757         * modules/fprintf-posix, modules/fpucw, modules/fpurge:
15758         * modules/freadable, modules/freadahead, modules/freadptr:
15759         * modules/freadseek, modules/freopen, modules/frexp:
15760         * modules/frexp-ieee, modules/frexp-nolibm, modules/frexpf:
15761         * modules/frexpf-ieee, modules/frexpl, modules/frexpl-ieee:
15762         * modules/frexpl-nolibm, modules/fseek, modules/fseeko:
15763         * modules/fseterr, modules/fstat, modules/fstrcmp, modules/ftell:
15764         * modules/ftello, modules/full-read, modules/full-write:
15765         * modules/fwritable, modules/fwriteerror, modules/gcd:
15766         * modules/get-rusage-as, modules/get-rusage-data:
15767         * modules/getdtablesize, modules/getrusage, modules/gettext:
15768         * modules/gettext-h, modules/git-merge-changelog, modules/gperf:
15769         * modules/grantpt, modules/havelib, modules/host-cpu-c-abi:
15770         * modules/hostent, modules/hypot, modules/hypot-ieee, modules/hypotf:
15771         * modules/hypotf-ieee, modules/hypotl, modules/hypotl-ieee:
15772         * modules/iconv, modules/iconv-h, modules/iconv_open:
15773         * modules/iconv_open-utf, modules/idpriv-drop, modules/idpriv-droptemp:
15774         * modules/ilogb, modules/ilogbf, modules/ilogbl, modules/imaxabs:
15775         * modules/imaxdiv, modules/integer_length, modules/integer_length_l:
15776         * modules/integer_length_ll, modules/ioctl, modules/isatty:
15777         * modules/isblank, modules/isnand, modules/isnand-nolibm:
15778         * modules/isnanf, modules/isnanf-nolibm, modules/isnanl:
15779         * modules/isnanl-nolibm, modules/iswblank, modules/iswctype:
15780         * modules/j0, modules/j1, modules/javacomp, modules/javacomp-script:
15781         * modules/javaexec, modules/javaexec-script, modules/javaversion:
15782         * modules/jn, modules/langinfo, modules/ldd, modules/ldexp:
15783         * modules/ldexp-ieee, modules/ldexpf, modules/ldexpf-ieee:
15784         * modules/ldexpl, modules/ldexpl-ieee, modules/lgamma:
15785         * modules/lib-symbol-visibility, modules/libsigsegv:
15786         * modules/linked-list, modules/linkedhash-list, modules/list:
15787         * modules/localcharset, modules/locale, modules/localeconv:
15788         * modules/localename, modules/lock, modules/log, modules/log-ieee:
15789         * modules/log10, modules/log10-ieee, modules/log10f:
15790         * modules/log10f-ieee, modules/log10l, modules/log10l-ieee:
15791         * modules/log1p, modules/log1p-ieee, modules/log1pf:
15792         * modules/log1pf-ieee, modules/log1pl, modules/log1pl-ieee:
15793         * modules/log2, modules/log2-ieee, modules/log2f, modules/log2f-ieee:
15794         * modules/log2l, modules/log2l-ieee, modules/logb, modules/logb-ieee:
15795         * modules/logbf, modules/logbf-ieee, modules/logbl, modules/logbl-ieee:
15796         * modules/logf, modules/logf-ieee, modules/login_tty:
15797         * modules/logl-ieee, modules/malloc-posix, modules/malloca:
15798         * modules/mbchar, modules/mbfile, modules/mbiter, modules/mbmemcasecmp:
15799         * modules/mbmemcasecoll, modules/mbrlen, modules/mbrtowc:
15800         * modules/mbscasecmp, modules/mbscasestr, modules/mbschr:
15801         * modules/mbscspn, modules/mbsinit, modules/mbslen:
15802         * modules/mbsncasecmp, modules/mbsnlen, modules/mbsnrtowcs:
15803         * modules/mbspbrk, modules/mbspcasecmp, modules/mbsrchr:
15804         * modules/mbsrtowcs, modules/mbssep, modules/mbsspn, modules/mbsstr:
15805         * modules/mbstok_r, modules/mbswidth, modules/mbtowc, modules/mbuiter:
15806         * modules/memchr-obsolete, modules/memcmp2, modules/minmax:
15807         * modules/mkdtemp, modules/mkostemp, modules/mktime-internal:
15808         * modules/modf, modules/modf-ieee, modules/modff, modules/modff-ieee:
15809         * modules/modfl, modules/modfl-ieee, modules/msvc-inval:
15810         * modules/msvc-nothrow, modules/multiarch, modules/nextafter:
15811         * modules/nl_langinfo, modules/no-c++, modules/nocrash:
15812         * modules/nonblocking, modules/open, modules/opendir, modules/openmp:
15813         * modules/oset, modules/pclose, modules/pipe, modules/pipe-filter-gi:
15814         * modules/pipe-filter-ii, modules/pipe2, modules/poll-h:
15815         * modules/posix_spawn, modules/posix_spawn-internal:
15816         * modules/posix_spawn_file_actions_addclose:
15817         * modules/posix_spawn_file_actions_adddup2:
15818         * modules/posix_spawn_file_actions_addopen:
15819         * modules/posix_spawn_file_actions_destroy:
15820         * modules/posix_spawn_file_actions_init:
15821         * modules/posix_spawnattr_destroy, modules/posix_spawnattr_getflags:
15822         * modules/posix_spawnattr_getpgroup:
15823         * modules/posix_spawnattr_getschedparam:
15824         * modules/posix_spawnattr_getschedpolicy:
15825         * modules/posix_spawnattr_getsigdefault:
15826         * modules/posix_spawnattr_getsigmask, modules/posix_spawnattr_init:
15827         * modules/posix_spawnattr_setflags, modules/posix_spawnattr_setpgroup:
15828         * modules/posix_spawnattr_setschedparam:
15829         * modules/posix_spawnattr_setschedpolicy:
15830         * modules/posix_spawnattr_setsigdefault:
15831         * modules/posix_spawnattr_setsigmask, modules/posix_spawnp:
15832         * modules/pow, modules/powf, modules/printf-frexp:
15833         * modules/printf-frexpl, modules/printf-posix, modules/printf-safe:
15834         * modules/progname, modules/propername, modules/pselect:
15835         * modules/pthread_sigmask, modules/ptsname, modules/ptsname_r:
15836         * modules/qacl, modules/quotearg-simple, modules/raise, modules/random:
15837         * modules/rbtree-list, modules/rbtree-oset, modules/rbtreehash-list:
15838         * modules/read, modules/readdir, modules/readlink:
15839         * modules/realloc-posix, modules/regex-quote, modules/relocatable-lib:
15840         * modules/relocatable-lib-lgpl, modules/relocatable-perl:
15841         * modules/relocatable-prog, modules/relocatable-prog-wrapper:
15842         * modules/relocatable-script, modules/remainder:
15843         * modules/remainder-ieee, modules/remainderf, modules/remainderf-ieee:
15844         * modules/remainderl, modules/remainderl-ieee, modules/rewinddir:
15845         * modules/rint, modules/rint-ieee, modules/rintf, modules/rintf-ieee:
15846         * modules/rintl, modules/rintl-ieee, modules/round-ieee:
15847         * modules/roundf-ieee, modules/roundl-ieee, modules/safe-read:
15848         * modules/safe-write, modules/sched, modules/servent, modules/setenv:
15849         * modules/setlocale, modules/sh-quote, modules/shutdown:
15850         * modules/signal, modules/signbit, modules/sigpipe:
15851         * modules/sigpipe-die, modules/sigprocmask, modules/sin, modules/sinf:
15852         * modules/sinh, modules/sinhf, modules/size_max, modules/sleep:
15853         * modules/snippet/arg-nonnull, modules/snippet/c++defs:
15854         * modules/snippet/link-warning, modules/snippet/unused-parameter:
15855         * modules/snprintf, modules/snprintf-posix, modules/spawn:
15856         * modules/spawn-pipe, modules/sprintf-posix, modules/sqrt:
15857         * modules/sqrt-ieee, modules/sqrtf, modules/sqrtf-ieee:
15858         * modules/sqrtl-ieee, modules/stdalign, modules/stdarg:
15859         * modules/stdbool, modules/stpcpy, modules/stpncpy, modules/strcase:
15860         * modules/strcasestr, modules/strcasestr-simple, modules/strcspn:
15861         * modules/streq, modules/strerror_r-posix, modules/striconv:
15862         * modules/striconveh, modules/striconveha, modules/strncat:
15863         * modules/strnlen1, modules/strpbrk, modules/strtod-obsolete:
15864         * modules/sublist, modules/sys_resource, modules/sys_utsname:
15865         * modules/sys_wait, modules/system-posix, modules/system-quote:
15866         * modules/tan, modules/tanf, modules/tanh, modules/tanhf:
15867         * modules/tcgetsid, modules/termios, modules/threadlib, modules/tls:
15868         * modules/tmpdir, modules/towctrans, modules/trunc, modules/trunc-ieee:
15869         * modules/truncf, modules/truncf-ieee, modules/truncl:
15870         * modules/truncl-ieee, modules/ttyname_r, modules/uname:
15871         * modules/unlockpt, modules/unsetenv, modules/vasnprintf:
15872         * modules/vasnprintf-posix, modules/vasprintf, modules/vasprintf-posix:
15873         * modules/vdprintf, modules/vdprintf-posix, modules/vfprintf-posix:
15874         * modules/vfscanf, modules/vma-iter, modules/vprintf-posix:
15875         * modules/vscanf, modules/vsnprintf-posix, modules/vsprintf-posix:
15876         * modules/wait-process, modules/waitpid, modules/wcpcpy:
15877         * modules/wcpncpy, modules/wcrtomb, modules/wcscasecmp, modules/wcscat:
15878         * modules/wcschr, modules/wcscmp, modules/wcscoll, modules/wcscpy:
15879         * modules/wcscspn, modules/wcsdup, modules/wcslen, modules/wcsncasecmp:
15880         * modules/wcsncat, modules/wcsncmp, modules/wcsncpy, modules/wcsnlen:
15881         * modules/wcsnrtombs, modules/wcspbrk, modules/wcsrchr:
15882         * modules/wcsrtombs, modules/wcsspn, modules/wcsstr, modules/wcstok:
15883         * modules/wcswidth, modules/wcsxfrm, modules/wctob, modules/wctomb:
15884         * modules/wctrans, modules/wctype, modules/wcwidth, modules/wmemchr:
15885         * modules/wmemcmp, modules/wmemcpy, modules/wmemmove, modules/wmemset:
15886         * modules/write, modules/xconcat-filename, modules/xlist:
15887         * modules/xmalloca, modules/xoset, modules/xprintf-posix:
15888         * modules/xreadlink, modules/xsetenv, modules/xsize, modules/xstriconv:
15889         * modules/xstriconveh, modules/xsublist, modules/xvasprintf-posix:
15890         * modules/y0, modules/y1, modules/yn:
15891         Remove Bruno Haible as maintainer; if he's the sole maintainer,
15892         change the maintainer to 'all'.  Let's hope someone volunteers.
15894 2014-06-27  Paul Eggert  <eggert@cs.ucla.edu>
15896         mktime: merge #if/#ifdef usage from glibc
15897         * lib/mktime.c: Use "#if defined DEBUG && DEBUG", not "#if DEBUG",
15898         as that works with both Glibc's and Gnulib's style.
15899         See thread starting at Siddhesh Poyarekar's bug report at:
15900         http://lists.gnu.org/r/bug-gnulib/2014-06/msg00102.html
15902 2014-06-20  Alfred M. Szmidt  <ams@gnu.org>
15904         git-version-gen: improve option descriptions
15905         * build-aux/git-version-gen: Mention that --prefix and --fallback
15906         have a mandatory argument.
15908 2014-06-19  Paul Eggert  <eggert@penguin.cs.ucla.edu>
15910         regex: fix memory leak in compiler
15911         Fix by Andreas Schwab in:
15912         https://sourceware.org/ml/libc-alpha/2014-06/msg00462.html
15913         * lib/regcomp.c (parse_expression): Deallocate partially
15914         constructed tree before returning error.
15916         regex: merge patch from libc
15917         2014-02-12  Joseph Myers  <joseph@codesourcery.com>
15918         Combine __USE_BSD and __USE_SVID into __USE_MISC.
15919         * lib/regex.h [__USE_BSD]: Change condition to [__USE_MISC].
15921 2014-06-17  Paul Eggert  <eggert@cs.ucla.edu>
15923         acl: port to gcc -Wredundant-decls
15924         From a request by Dmitry Antipov in:
15925         http://lists.gnu.org/r/emacs-devel/2014-06/msg00263.html
15926         * lib/acl.h (_GL_ACL_H): New macro.  Protect entire contents with
15927         "#ifndef _GL_ACL_H".
15929 2014-06-11  Bruce Korb  <bkorb@gnu.org>
15930         Jim Meyering  <meyering@fb.com>
15932         parse-duration: eliminate 68-year duration limit
15933         * lib/parse-duration.c: Include "intprops.h".
15934         (TIME_MAX): Rename to MAX_DURATION and define to
15935         TYPE_MAXIMUM(time_t).
15936         * modules/parse-duration (Depends-on): Add intprops.
15937         Reported by Jonas 'Sortie' Termansen.
15939 2014-06-14  Paul Eggert  <eggert@cs.ucla.edu>
15941         pthread: don't assume AC_CANONICAL_HOST, port better to Solaris, etc.
15942         * modules/pthread (Depends-on): Add 'extensions', as it defines
15943         _POSIX_PTHREAD_SEMANTICS, which is needed on Solaris.
15944         (configure.ac-early): New section.
15945         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, as
15946         it is no longer needed.
15948 2014-06-14  Pádraig Brady  <P@draigBrady.com>
15950         pthread: define thread-safe macros on some platforms
15951         * m4/pthread.m4 (gl_PTHREAD_CHECK): Define macros needed
15952         for thread-safe operation on some platforms.
15954 2014-06-13  Paul Eggert  <eggert@cs.ucla.edu>
15956         regex: don't be multithreaded if USE_UNLOCKED_IO.
15957         Problem reported by Michael Felt in: http://bugs.gnu.org/17773
15958         * lib/regex_internal.h: Do not use multithreaded version if
15959         USE_UNLOCKED_IO is defined.  This is a hack, but it works
15960         around a porting bug with coreutils 8.22 on AIX 7.1.
15962 2014-06-11  Daiki Ueno  <ueno@gnu.org>
15964         gettext: update macros to version 0.19
15965         * m4/intl.m4, m4/po.m4: Update from gettext-0.19.  In particular,
15966         depend on gl_EXTERN_INLINE and drop support for older Bison
15967         versions.
15969 2014-06-10  Pádraig Brady  <P@draigBrady.com>
15971         select,poll: fix console handle check on windows 8
15972         lib/poll.c (IsConsoleHandle): Change from testing the lower
15973         2 bits of the handle to the more expensive but accurate syscall.
15974         lib/select.c: Likewise.
15976 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
15978         select: fix waiting on anonymous pipes on MS-Windows
15979         * lib/select.c (rpl_select): Fall back to polling when select()
15980         indicates there is nothing to check, while due to the timeout not
15981         expiring, activity is indicated on one of the handles.
15982         Also clear the TIMEOUT argument if the timer does expire.
15984 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
15986         times: fix to return non constant value on MS-Windows
15987         * lib/times.c (times): Don't use the process creation time,
15988         rather clock() which on windows returns the number of
15989         clock ticks since the process started.
15991 2014-06-09  Michael Goffioul  <michael.goffioul@gmail.com>
15993         isatty: fix to work on windows 8
15994         * lib/isatty.c (IsConsoleHandle): Change from testing the lower
15995         2 bits of the handle to the more expensive but accurate syscall.
15997 2014-06-07  Paul Eggert  <eggert@cs.ucla.edu>
15999         maint: fix typo in fdl.texi
16000         * doc/fdl.texi: Fix typo (missing '@').
16001         Somehow this was in fdl.texi but not fdl-1.3.texi.
16003 2014-06-06  Ben Walton  <bdwalton@gmail.com>
16005         mountlist: avoid hasmntopt const type warning on solaris
16006         * lib/mountlist.c: Solaris defines the OPT param of hasmntopt()
16007         with char * instead of const char *.  Passing the constant string
16008         "ignore" generates a compiler warning.  For Solaris cast MNT_IGNORE
16009         to avoid the warning.
16011 2014-06-04  Eric Blake  <eblake@redhat.com>
16013         maintainer-makefile: delete obsolete code
16014         * top/maint.mk (build_aux): Drop old code, as threatened.
16016         maintainer-makefile: avoid spurious error messages
16017         * top/maint.mk (syntax-check): Guard definition and use of
16018         $(shell) by whether Makefile is present.
16020 2014-06-03  Ben Walton  <bdwalton@gmail.com>
16022         rename: avoid unused-but-set-variable compiler warning
16023         * lib/rename.c (rpl_rename):  In the non-Win32 variant of rpl_rename,
16024         it is possible that dst_exists may be set but not used.  Mark it with
16025         the unused attribute to avoid compiler warnings.
16027 2014-06-02  Ben Walton  <bdwalton@gmail.com>
16029         rename: mark a label as potentially unused
16030         * lib/rename.c (rpl_rename): Avoid compiler warnings seen on Solaris,
16031         by marking the out label as potentially unused.
16032         * m4/gnulib-common.m4: Mention the need for the trailing ; for C++.
16034 2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>
16036         gnulib-common.m4: Fix typo in _GL_UNUSED_LABEL.
16037         * m4/gnulib-common.m4 (_GL_UNUSED_LABEL): Omit trailing semicolon.
16039 2014-06-02  Ben Walton  <bdwalton@gmail.com>
16041         acl: apply pure attribute to two functions
16042         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial):
16043         Mark as "pure" as flagged by gcc 4.9 on Solaris 10.
16045 2014-06-01  Pádraig Brady  <P@draigBrady.com>
16047         gnulib-common.m4: add _GL_UNUSED_LABEL
16048         * m4/gnulib-common.m4: Add _GL_UNUSED_LABEL which is similar to
16049         _GL_UNUSED, but handles g++ < 4.5 not supporting this syntax.
16051 2014-05-31  Paul Eggert  <eggert@cs.ucla.edu>
16053         dup2, fcntl, fcntl-h: port to AIX 7.1
16054         This fixes some porting problems discovered when testing the latest
16055         grep snapshot on AIX 7.1.  I don't think if fixes any bugs
16056         in grep but it could be important for other applications.
16057         * doc/posix-functions/dup2.texi:
16058         * doc/posix-functions/fcntl.texi:
16059         * doc/posix-headers/fcntl.texi:
16060         Document AIX bugs.
16061         * lib/fcntl.in.h (O_CLOEXEC, O_NOFOLLOW, O_TTY_INIT) [_AIX]:
16062         Define to 0 if outside 'int' range.
16063         * m4/dup2.m4 (gl_FUNC_DUP2):
16064         * m4/fcntl.m4 (gl_FUNC_FCNTL):
16065         Check for getdtablesize.  If it's available, test a value just
16066         outside its range instead of testing 1000000.  When cross-compiling,
16067         guess that AIX will fail this improved test.
16069 2014-05-30  Paul Eggert  <eggert@cs.ucla.edu>
16071         printf, config.rpath: Port to FreeBSD 10.
16072         Problem reported by Tijl Coosemans in:
16073         http://lists.gnu.org/r/bug-gnulib/2014-05/msg00078.html
16074         * build-aux/config.rpath (hardcode_libdir_flag_spec)
16075         (hardcode_direct): Simplify FreeBSD configuration.
16076         (library_names_spec): Don't mishandle FreeBSD 10+.
16077         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE)
16078         (gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_F)
16079         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99)
16080         (gl_SNPRINTF_DIRECTIVE_N, gl_VSNPRINTF_ZEROSIZE_C99):
16081         Don't mishandle FreeBSD 10+ when cross-compiling.
16083         ftoastr: work around compiler bug in IBM xlc 12.1
16084         * lib/ftoastr.h (_GL_FLT_PREC_BOUND, _GL_DBL_PREC_BOUND)
16085         (_GL_LDBL_PREC_BOUND): Make these macros, not enums, to work
16086         around a compiler bug in IBM xlc 12.1.0.0: it complains
16087         '"ftoastr.c", line 80.37: 1506-045 (S) Undeclared identifier
16088         _GL_FLT_PREC_BOUND.'
16090 2014-05-30  Kieran Colford  <colfordk@gmail.com>
16092         valgrind-tests: fixed misleading help message
16093         * m4/valgrind-tests.m4: The help message generated by configure
16094         implied that valgrind was disabled by default, which it wasn't.
16095         Adjusted the help message using s/enable/disable/ to clarify.
16097 2014-05-30  Ulrich Weigand  <uweigand@de.ibm.com>
16099         isfinite, isinf, isnan tests: fix for little-endian PowerPC
16100         * tests/test-isfinite.c (test_isfinitel): Only manipulate the
16101         first double of a PowerPC "double double" pair.
16102         * tests/test-isinf.c (test_isinfl): Likewise.
16103         * tests/test-isnan.c (test_long_double): Likewise.
16104         * tests/test-isnanl.h (main): Likewise.
16105         * tests/test-signbit.c (test_signbitl): Likewise.
16107 2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>
16109         exclude-tests: port to AIX 7.1
16110         * modules/exclude-tests (test_exclude_LDADD): Add $(LIBTHREAD).
16111         Needed on AIX 7.1 with xlc V12.1, otherwise it won't link because
16112         the regex code uses locks.
16114 2014-05-28  Paul Eggert  <eggert@cs.ucla.edu>
16116         pthread_sigmask, timer-time: use gl_THREADLIB only if needed
16117         Without this fix, Emacs would sometimes call sigprocmask instead
16118         of pthread_sigmask, which is a no-no in multithreaded applications.
16119         Problem reported by Jorgen Schaefer in <http://bugs.gnu.org/17561>.
16120         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
16121         Suppress check for pthread_sigmask working without -lpthread if
16122         the application always links with -lpthread.  Do not link with
16123         $LIBMULTITHREAD if gl_THREADLIB is not defined.
16124         * m4/timer_time.m4 (gl_TIMER_TIME):
16125         Require gl_THREADLIB only if it is defined.  Do not append
16126         $LIBMULTITHREAD to LIB_TIMER_TIME if gl_THREADLIB is not defined.
16128 2014-05-27  Sylvain Beucler  <beuc@beuc.net>.
16130         gnulib-tool: wget translations using --no-verbose rather than --quiet
16131         This allows the user to see error messages if any (--quiet hides them)
16132         * gnulib-tool: Invoke wget with --no-verbose, rather than --quiet.
16134 2014-05-27  Sylvain Beucler  <beuc@beuc.net>
16136         gnulib-tool: adjust translation wget to avoid a https redirection
16137         Context: http://translationproject.org/latest/gnulib redirects to
16138            https://translationproject.org/latest/gnulib/
16139         Rationale: if the user falls back to wget, she doesn't have rsync and
16140         is probably in a minimal build environment, where packages such as
16141         'ca-certificates' are missing as well, resulting in a failed (and
16142         difficult to detect since ignored) translation initial fetch.
16143         Consequently let's avoid https if possible, and add the missing
16144         trailing slash.  This also avoids an unnecessary 302 redirection.
16145         * gnulib-tool: Add trailing slash to gnulib URL.
16147 2014-05-22  Pádraig Brady  <P@draigBrady.com>
16149         getlogin_r-tests: check return value rather than errno
16150         * tests/test-getlogin_r.c (main): As per POSIX we should be
16151         verifying the return value from getlogin_r() rather than errno.
16153 2014-05-22  Pádraig Brady  <P@draigBrady.com>
16155         getlogin_r-tests: fix various issues in recent change
16156         * tests/test-getlogin_r.c: Include required headers that were
16157         missed in recent commit eec20b4e.
16158         Also consistently check the errno rather than the return value from
16159         getlogin_r as POSIX only specifies that non zero is returned on error.
16160         * modules/getlogin_r-tests (configure.ac): Add the check for ttyname().
16162 2014-05-21  Paul Eggert  <eggert@cs.ucla.edu>
16164         fchdir: port 'open' and 'close' redefinitions to AIX 7.1
16165         * lib/chown.c, lib/clean-temp.c, lib/copy-file.c, lib/execute.c:
16166         * lib/fsusage.c, lib/gc-gnulib.c, lib/javacomp.c, lib/mountlist.c:
16167         * lib/openat-proc.c, lib/pagealign_alloc.c, lib/progreloc.c:
16168         * lib/spawn-pipe.c:
16169         Do not #undef 'open' and 'close'.  AIX 7 does '#define open open64'
16170         and then 'int open64(const char *, int, ...);', which means the
16171         declaration for 'open' gets lost if we later '#undef open'.
16172         Discovered while building grep pretest 2.18.151-1c770 on AIX 7.1,
16173         where the compilation reported the non-fatal error "In function
16174         'openat_proc_name' ... warning: implicit declaration of function
16175         'open'".  In this case the error is relatively harmless, but in
16176         other cases it might not be so minor.
16178 2014-05-20  Paul Eggert  <eggert@cs.ucla.edu>
16180         xalloc: don't potentially generate invalid code for xmemdup calls
16181         * lib/xalloc.h (xmemdup): Do not mark with _GL_ATTRIBUTE_ALLOC, as
16182         this function can initialize the newly-allocated storage with new
16183         pointers, which means this function is not malloc-like.  See:
16184         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56955
16186 2014-05-19  Pádraig Brady  <P@draigBrady.com>
16188         getlogin_r-tests: avoid false failure under sudo/ssh etc.
16189         * tests/test-getlogin_r.c (main): Sync up with test-getlogin.c
16190         changes from commit 97249cf29 to not depend on environment variables.
16192 2014-05-18  Pádraig Brady  <P@draigBrady.com>
16194         getlogin-tests: avoid false failure under cron
16195         * tests/test-getlogin.c (main): Avoid verifying errnos from ttyname()
16196         since that's not what's under test.  Centos 6 was seen to return
16197         EINVAL for ttyname() when run from cron.
16199 2014-05-16  Jim Meyering  <meyering@fb.com>
16201         mbrtowc.m4: fix a comment typo
16202         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Fix typo s/2/-2/ in
16203         emitted documentation string.
16205 2014-05-16  Paul Eggert  <eggert@cs.ucla.edu>
16207         mbrlen, mbrtowc: fix bug with empty input
16208         * lib/mbrtowc.c (rpl_mbrtowc) [MBRTOWC_EMPTY_INPUT_BUG]: Fix the bug.
16209         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): New macro.  It's not used,
16210         so this is mainly for documentation.
16211         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): New macro.
16212         (gl_FUNC_MBRTOWC): Use it.
16213         * tests/test-mbrtowc.c (main): Test for the bug.
16215 2014-05-15  Paul Eggert  <eggert@cs.ucla.edu>
16217         doc: document mbrtowc and mbrlen problem with empty input
16218         * doc/posix-functions/mbrlen.texi (mbrlen):
16219         * doc/posix-functions/mbrtowc.texi (mbrtowc):
16220         Document portability problem when the input string is empty.  See:
16221         https://sourceware.org/bugzilla/show_bug.cgi?id=16950
16223         doc: document exec* = spawn+exit bug with non-Cygwin Windows platforms
16224         Problem reported by Eli Zaretskii in:
16225         http://lists.gnu.org/r/bug-grep/2014-05/msg00118.html
16226         * doc/posix-functions/execl.texi (execl):
16227         * doc/posix-functions/execle.texi (execle):
16228         * doc/posix-functions/execlp.texi (execlp):
16229         * doc/posix-functions/execv.texi (execv):
16230         * doc/posix-functions/execve.texi (execve):
16231         * doc/posix-functions/execvp.texi (execvp):
16232         Mention spawn+exit problem on non-Cygwin Windows platforms.
16234 2014-05-14  Guilherme de Almeida Suckevicz  <guito.linux@gmail.com>
16236         getlogin-tests: avoid false failure under sudo/ssh etc.
16237         * modules/getlogin-tests (configure.ac): Check for ttyname().
16238         * tests/test-getlogin.c (main): Don't depend on environment variables
16239         to correlate with getlogin(), since sudo and ssh etc. can tamper
16240         with the LOGNAME and USER env vars.  Instead lookup the name from
16241         the uid associated with the stdin tty.
16243 2014-05-11  Paul Eggert  <eggert@cs.ucla.edu>
16245         mbsstr, quotearg, xstrtol: pacify IRIX 6.5 cc
16246         These were found when building the latest grep snapshot on IRIX 6.5.
16247         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Break "a=b=c;" into
16248         "b=c; a=b;", since IRIX 6.5 cc complains about the former if b is
16249         never used later.
16250         * lib/quotearg.c (quoting_options_from_style):
16251         * lib/xstrtol.c (__xstrtol):
16252         Use enum instead of 0, to pacify IRIX 6.5 cc.
16254 2014-04-18  Pádraig Brady  <P@draigBrady.com>
16256         gitlog-to-changelog: revert inclusion of git-log-fix file
16257         * build-aux/git-log-fix: Delete dummy file.
16258         * modules/gitlog-to-changelog: Don't reference (overwrite)
16259         the project specific git-log-fix file.
16261 2014-04-18  Assaf Gordon  <agordon@wi.mit.edu>
16263         maint.mk: Relax the copyright check to cater for non FSF projects
16264         * top/maint.mk (sc_copyright_check): Relax the check for $PACKAGE.texi
16265         to not require the "Free" suffix after the copyright years.
16267 2014-04-18  Natanael Copa  <ncopa@alpinelinux.org>
16269         physmem: use sysinfo on linux-gnu if _SC_PHYS_PAGES unavailable
16270         * lib/physmem.c (physmem_total): Some systems like musl libc don't yet
16271         support _SC_PHYS_PAGES.  Use the linux syscall sysinfo as fallback
16272         if _SC_PHYS_PAGES or _SC_PAGESIZE fails.
16273         (physmem_available): Likewise for _SC_AVPHYS_PAGES.
16275 2014-04-18  Paul Eggert  <eggert@cs.ucla.edu>
16277         exclude: port to strict C99
16278         Strict C does not allow converting a function pointer to void *
16279         and vice versa.  Pass a pointer to a function pointer instead.
16280         * lib/exclude.c (add_exclude_file):
16281         Pass the address of the function pointer.
16282         (call_addfn): And deference the address here, to match.
16284 2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>
16286         regex: do not depend on malloc-gnu
16287         * modules/regex (Depends-on): Remove malloc-gnu.
16288         It's no longer needed, because of the 2012-12-29 patch
16289         "regex: port to hosts where malloc (0) == NULL".
16290         Reported by Nathan Kennedy in:
16291         http://lists.gnu.org/r/bug-gnulib/2014-04/msg00026.html
16293 2014-04-16  Assaf Gordon  <agordon@wi.mit.edu>
16295         expl: avoid incorrect expl(small_value) on OpenBSD 5.4
16296         * m4/expl.m4 (gl_FUNC_EXPL): Add a check for this condition.
16297         * doc/posix-functions/expl.texi: Mention the workaround.
16299 2014-04-12  Paul Eggert  <eggert@cs.ucla.edu>
16301         xalloc: allow x2nrealloc (P, PN, S) where P && !*PN
16302         * lib/xalloc.h (x2nrealloc): Extend slightly, to allow the current
16303         size to be zero even when the pointer is nonnull.  This
16304         accommodates the use case where P is malloc (0) and *PN is 0 on a
16305         host where malloc (0) yields nonnull.
16307 2014-04-09  Eric Blake  <eblake@redhat.com>
16309         fts: avoid unnecessary strlen calls
16310         * lib/fts.c (_D_EXACT_NAMLEN): Restore definition when needed.
16312 2014-04-09  Paul Eggert  <eggert@cs.ucla.edu>
16314         fts: avoid unnecessary strlen calls
16315         * lib/fts.c (fts_build): Go back to using _D_EXECT_NAMLEN
16316         when that can be faster than strlen.
16318 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
16320         fts: avoid unnecessary strlen calls
16321         * lib/fts.c (_D_EXACT_NAMLEN): Remove macro.
16322         (fts_build): Store the length of the dp->d_name entry in a local variable
16323         instead of calling strlen() several times via the above, removed macro.
16324         For 'rm -rf some-dir' with e.g. 1M directory entries, this speeds up the
16325         run by ~4%, yet this reduces the execution time by about a third if run
16326         via "ltrace -c rm -rf some-dir".
16328 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
16330         obstack: Remove ancient NeXTSTEP gcc support conditional
16331         This change will ease merging with glibc.  The "#if ... __NEXT__"
16332         causes a warning with -Wundef which glibc now enables by default.
16333         Problem reported by Will Newton in
16334         <http://lists.gnu.org/r/bug-gnulib/2014-03/msg00032.html>.
16335         glibc <sys/cdefs.h> now uses __extension__ for GCC 2.8 or later,
16336         so go with that.
16337         * lib/obstack.h (__extension__):
16339 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
16341         obstack: merge with glibc changes
16342         * lib/obstack.c, lib/obstack.h: Merge from glibc.
16343         This is mostly indenting and commentary changes.
16344         Instances of 'register' have been removed.
16346 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
16348         strftime: wrap macros in "do {...} while(0)"
16349         * lib/strftime.c (DO_NUMBER): Wrap multi-statement code block of
16350         this macro in "do {...} while(0)" to prevent false use as a
16351         single statement, e.g., in an un-braced "{}" else-block.
16352         (DO_SIGNED_NUMBER, DO_TZ_OFFSET, DO_NUMBER_SPACEPAD): Likewise.
16353         (strftime_case_): Remove 'else' after 'goto' - which was the
16354         only non-fatal, un-braced use of one of the above macros.
16355         Spotted by coverity (NESTING_INDENT_MISMATCH).
16357 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
16359         modechange: avoid memory leaks for invalid octal modes
16360         * lib/modechange.c (mode_compile): During the parsing of
16361         notations like +40, free the 'mc' buffer for invalid mode
16362         strings like +17777 (greater than the maximum octal mode),
16363         =18 (bad octal mode characters) or u=1 ('affected' with
16364         octal modes).
16365         Reproducer, e.g.:
16366             $ valgrind --leak-check=full chmod +17777 file
16367         Introduced via the 2012-03-09 commit, 4730c3e3, "modechange:
16368         add notations +40, 00440, etc.".
16369         Spotted by coverity (RESOURCE_LEAK).
16371 2014-03-24  Paul Eggert  <eggert@cs.ucla.edu>
16373         gitlog-to-changelog: include a dummy git-log-fix file
16374         Problem reported by Nathan Stratton Treadway in:
16375         http://lists.gnu.org/r/bug-tar/2014-03/msg00082.html
16376         * build-aux/git-log-fix: New file.
16378 2014-03-13  Jim Meyering  <meyering@fb.com>
16380         gitlog-to-changelog: also include the file, git-log-fix
16381         * modules/gitlog-to-changelog (Files): Add git-log-fix.
16382         Reported by Assaf Gordon.
16384 2014-03-06  Paul Eggert  <eggert@cs.ucla.edu>
16386         regex: port to OS X 10.8.5 en_US.UTF-8 locale
16387         This fixes a bug when ignoring case and when comparing the
16388         titlecase letter 'Lj' (U+01C8 LATIN CAPITAL LETTER L WITH SMALL
16389         LETTER J) to the corresponding uppercase letter 'LJ' (U+01C7 LATIN
16390         CAPITAL LETTER LJ).  In the OS X 10.8.5 en_US.UTF-8 locale, the
16391         titlecase letter is neither lowercase nor uppercase, but
16392         uppercasing the titlecase letter (via towupper) yields the
16393         uppercase letter, so the two letters should match when ignoring case.
16394         Problem reported by Jim Meyering in <http://debbugs.gnu.org/16911#16>.
16395         * lib/regex_internal.c (build_wcs_upper_buffer, build_upper_buffer):
16396         Don't test whether a character is lowercase before uppercasing it.
16398 2014-03-04  Kevin Cernekee  <cernekee@gmail.com>
16400         stdint, read-file: fix missing SIZE_MAX on Android (tiny change)
16401         This is basically one of the options Bruno Haible proposed in:
16402         http://lists.gnu.org/r/bug-gnulib/2012-01/msg00282.html
16403         * lib/sys_types.in.h (_GL_INCLUDING_UNISTD_H): New macro.
16404         * lib/stdint.in.h: Use it.
16405         * modules/stdint (Depends-on): Add sys_types.
16407 2014-02-26  Pádraig Brady  <P@draigBrady.com>
16409         parse-datetime: fix crash or infloop in TZ="" parsing
16410         * lib/parse-datetime.y (parse_datetime): Break out of the
16411         TZ="" parsing loop once the second significant " is found.
16412         Also skip over any subsequent whitespace to be consistent
16413         with the non TZ= case.
16414         * tests/test-parse-datetime.c: Add test cases for TZ="" parsing.
16416 2014-02-26  Paul Eggert  <eggert@cs.ucla.edu>
16418         savedir: new symbol for fast-read version
16419         * lib/savedir.h (SAVEDIR_SORT_FASTREAD): New symbol, for programs
16420         like GNU cp that want to use SAVEDIR_SORT_INODE if available,
16421         SAVEDIR_SORT_NONE otherwise.  Problem reported by Bernhard Voelker in:
16422         http://lists.gnu.org/r/coreutils/2014-02/msg00037.html
16424 2014-02-25  Paul Eggert  <eggert@penguin.cs.ucla.edu>
16426         unistd: port readlink to Mac OS X 10.3.9
16427         * lib/unistd.in.h (_GL_INCLUDING_UNISTD_H): New macro, to work
16428         around self-include problem in Mac OS X 10.3.9 when combined with
16429         readlink module.  Problem reported by Klaus Zietler in
16430         <http://bugs.gnu.org/16825>.
16432 2014-02-23  Paul Eggert  <eggert@cs.ucla.edu>
16434         diffseq: remove TOO_EXPENSIVE heuristic
16435         Problem with diffutils reported by Vincent Lefevre in
16436         <http://bugs.gnu.org/16848>.  The simplest solution is to remove
16437         the TOO_EXPENSIVE heuristic that I added to GNU diff in 1993.
16438         Although appropriate for circa-1993 hardware, these days the heuristic
16439         seems to be more trouble than it's worth.
16440         * lib/diffseq.h: Modernize citations.
16441         (struct context): Remove member too_expensive.
16442         All uses changed.
16443         (struct partition): Remove members lo_minimal, hi_minimal.
16444         All uses changed.
16445         (diag, compareseq): Remove arg find_minimal.  All uses changed.
16446         (diag): Remove the TOO_EXPENSIVE heuristic that I added back in
16447         1993 to make 'diff' run faster (but not as well) on large inputs.
16448         These days, computers are fast enough that it's typically better
16449         to run slower but more accurately.
16450         * lib/fstrcmp.c: Remove duplicate comment.
16451         * lib/fstrcmp.c (strcmp_bounded):
16452         * lib/git-merge-changelog.c (compute_differences):
16453         Adjust to diffseq.h changes.
16454         * NEWS: Document the change.
16456         savedir: simplify by using stpcpy
16457         * lib/savedir.c (direntry_t): Remove size member.  All uses removed.
16458         (streamsavedir): Use stpcpy instead.
16459         * modules/savedir (Depends-on): Add stpcpy.
16461 2014-02-21  Pádraig Brady  <P@draigBrady.com>
16463         spawn: fix link error on uclibc
16464         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): use AC_SEARCH_LIBS,
16465         to incorporate -lrt if needed (on uclibc for example).
16466         * modules/posix_spawn: Reference the substituted LIB.
16468 2014-02-21  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>  (tiny change)
16469         timer: fix uClibc detection of threading
16470         * m4/time_time.m4 (gl_TIMER_TIME): Detect whether threads are
16471         enabled in uClibc.
16473 2014-02-21  Eric Blake  <eblake@redhat.com>
16475         maintainer-makefiles: provide AC_PROG_SED for older autoconf
16476         * m4/gnulib-common.m4 (AC_PROG_SED): Copy from newer autoconf.
16478 2014-02-21  Sergey Poznyakoff  <gray@gnu.org.ua>
16480         exclude: add support for posix regexps
16482         This commit adds support for POSIX extended regular expressions
16483         and fixes a long-standing memory leak (pattern buffer was never
16484         freed).  It also implements a new interface function to read
16485         exclude patterns from a FILE, which passes an additional parameter
16486         to its callback function, thereby allowing to preserve its state
16487         between invocations.
16489         * lib/exclude.c (struct patopts): Pack regex and pattern into union.
16490         (pattern_buffer): New struct.
16491         (exclude): New member patbuf.
16492         (exclude_add_pattern_buffer): New function.
16493         (free_exclude_segment): Free regexps.
16494         (free_exclude): Free allocated pattern buffers.
16495         (exclude_patopts): New function.
16496         (file_pattern_matches): Use exclude_patopts.
16497         (add_exclude): support regexps.
16498         (add_exclude_fp): New function.
16499         (add_exclude_file): Rewrite using add_exclude_fp.
16500         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
16501         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
16502         (add_exclude_fp)
16503         (add_exclude_file): Rewrite using add_exclude_fp.
16504         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
16505         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
16506         (add_exclude_fp)
16507         (exclude_add_pattern_buffer): New prototypes.
16508         * modules/exclude: Depends on regex and filename.
16510 2014-02-20  Eric Blake  <eblake@redhat.com>
16512         maintainer-makefiles: use $(SED) for syntax check
16513         * modules/maintainer-makefile (configure.ac): Check for sane sed.
16514         * top/maint.mk: Change sed to $(SED).
16516 2014-02-11  Sergey Poznyakoff  <gray@gnu.org.ua>
16517             Paul Eggert  <eggert@cs.ucla.edu>
16519         savedir: add sorting arg to savedir, streamsavedir; remove fdsavedir
16520         Patch based on an idea by Dick Streefland in
16521         <https://savannah.gnu.org/patch/?7892>.
16522         * NEWS: Document this.
16523         * lib/savedir.c (NAME_SIZE_DEFAULT): Remove.
16524         (direntry_t, comparison_function): New types.
16525         (direntry_cmp_name): New function.
16526         (direntry_cmp_inode) [D_INO_IN_DIRENT]: New function.
16527         (streamsavedir, savedir): New arg OPTION.
16528         (streamsavedir): Simplify memory allocation.
16529         (fdsavedir): Remove.
16530         * lib/savedir.h (enum savedir_option): New type.
16531         (streamsavedir, savedir): New arg OPTION.
16532         (fdsavedir): Remove.
16534 2014-02-05  Paul Eggert  <eggert@cs.ucla.edu>
16536         file-type: add support for doors and other less-common file types
16537         Problem with S_ISDOOR reported by Rich Burridge.
16538         * lib/file-type.c (file_type): Do S_ISLNK early too.  Do S_TYPEIS*
16539         macros before the rest.  Add S_ISCTG, S_ISDOOR, S_ISMPB, S_ISMPC,
16540         S_ISMPX, S_ISNAM, S_ISNWK, S_ISOFD, S_ISOFL, S_ISPORT, S_ISWHT.
16542 2014-01-23  Eric Blake  <eblake@redhat.com>
16544         pthread: work around winpthread header pollution on mingw
16545         * lib/time.in.h: Move pthread workarounds...
16546         * lib/pthread.in.h: ...here.
16547         * m4/pthread.m4 (gl_PTHREAD_CHECK): Also build pthread.h when we
16548         detect macro pollution on mingw.
16549         * doc/posix-headers/pthread.texi (pthread.h): Document the problems.
16551 2014-01-22  Paul Eggert  <eggert@cs.ucla.edu>
16553         qacl: check for fchmod
16554         * m4/acl.m4 (gl_FUNC_ACL): Check for fchmod, since acl-internal.h
16555         and qset-acl.c both use HAVE_FCHMOD.
16557 2014-01-20  Paul Eggert  <eggert@cs.ucla.edu>
16559         fdopen-tests: port to Tru64
16560         * tests/test-fdopen.c (main): Don't invoke fdopen on a file
16561         descriptor that is not open, as POSIX doesn't specify the
16562         resulting behavior and the test does not work on Tru64.
16563         Problem reported by Steven M. Schweda in:
16564         http://lists.gnu.org/r/bug-gnulib/2014-01/msg00079.html
16566         stdalign: port to HP-UX compilers
16567         * lib/stdalign.in.h (_Alignas): Use __attribute__ (__aligned__ (x))
16568         if __HP_cc or __HP_aCC are nonzero.
16570 2014-01-16  Paul Eggert  <eggert@cs.ucla.edu>
16572         strtoimax: port to platforms lacking 'long long'
16573         VMS's pre-C99 compiler lacks 'long long', so 'configure' doesn't
16574         check whether strtoll is declared, which causes the C file to
16575         wrongly report an error.  Problem reported by Steven M. Schweda in:
16576         http://lists.gnu.org/r/bug-diffutils/2014-01/msg00003.html
16577         * lib/strtoimax.c (strtoull):
16578         Declare only if HAVE_UNSIGNED_LONG_LONG_INT.
16579         (strtoll): Declare only if HAVE_LONG_LONG_INT.
16581 2014-01-16  Daniel Albers  <daniel@lbe.rs>  (tiny change)
16583         relocatable-perl: fix texi syntax
16584         * doc/relocatable-maint.texi: Escape braces.
16586 2014-01-09  Reuben Thomas  <rrt@sc3d.org>
16588         relocatable-perl: like relocatable-script, but for Perl scripts
16589         * build-aux/relocatable.pl.in: Add.
16590         * doc/relocatable-maint.texi: Add documentation.
16591         * modules/relocatable-perl: Add.
16593 2014-01-07  Paul Eggert  <eggert@cs.ucla.edu>
16595         tests: fix export bug in previous patch
16596         Problem reported by Jim Meyering.
16597         * tests/init.sh (re_shell): New var, which is exported instead of
16598         re_shell_.
16600         tests: simplify porting to Solaris 10 /bin/sh
16601         Some test cases in 'grep' need a shell that groks '$(';
16602         export re_shell_ for their benefit.  Problem reported for 'grep'
16603         by Dagobert Michelsen in <http://bugs.gnu.org/16380>.
16604         * tests/init.sh (re_shell_): Export if it's used.
16606 2014-01-06  Eric Blake  <eblake@redhat.com>
16608         md5, sha1, sha256, sha512: support older autoconf
16609         * m4/00gnulib.m4 (m4_divert_push): Wrap diversion stack
16610         for autoconf < 2.63b.
16612         include_next: port to autoconf 2.63
16613         * m4/gnulib-common.m4 (AS_VAR_COPY): Define if missing.
16615 2014-01-04  Jim Meyering  <meyering@fb.com>
16617         maint: add a gnulib-local rule to keep non-ascii out of .texi files
16618         * cfg.mk (sc_keep_gnulib_texi_files_mostly_ascii): New rule,
16619         so that "make sc_maint" will ding anyone who puts non-ascii
16620         in any of gnulib's .texi files.
16622 2014-01-03  Jim Meyering  <meyering@fb.com>
16624         freadable, fwritable, fwriting: declare with the "pure" attribute
16625         * lib/freadable.h (freadable): Declare with the "pure" attribute.
16626         * lib/fwritable.h (fwritable): Likewise.
16627         * lib/fwriting.h (fwriting): Likewise.
16628         Suggested by Bruno Haible.
16630         maint.mk: adapt openat.h-include-without-use test
16631         * top/maint.mk (sc_prohibit_openat_without_use): Also check for
16632         FCHMODAT_INLINE, FCHOWNAT_INLINE and STATAT_INLINE, to avoid
16633         failing on gnulib's own lib/{chmod,chown,stat}at.c files.
16634         With this change, running "make sc_maint" in gnulib's top-level
16635         directory now passes for me.
16637 2014-01-03  Paul Eggert  <eggert@cs.ucla.edu>
16639         doc: use ASCII in .texi files where UTF-8 isn't needed
16640         * doc/posix-functions/crypt.texi, doc/posix-functions/encrypt.texi:
16641         * doc/posix-functions/setkey.texi, doc/regex.texi:
16642         Use ASCII input, not UTF-8.
16644 2014-01-02  Jim Meyering  <meyering@fb.com>
16646         freading: declare with the "pure" attribute
16647         * lib/freading.h (freading): Declare with the "pure" attribute.
16649         manywarnings: remove -Wmudflap
16650         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove -Wmudflap, since
16651         it is no longer supported in gcc-4.9-to-be.
16653 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
16655         relocatable-script: remove unused code
16656         Problem reported by Reuben Thomas in:
16657         http://lists.gnu.org/r/bug-gnulib/2013-12/msg00117.html
16658         * build-aux/relocatable.sh.in (func_tmpdir): Remove unused function.
16660 2014-01-01  Jim Meyering  <meyering@fb.com>
16662         maint: fix public-submodule-commit to work with newer git
16663         * top/maint.mk (public-submodule-commit): Remove excess quoting.
16664         We were over-quoting the test arguments, and somewhere prior to
16665         version 1.8.5.2.229, git stopped removing those excess quotes,
16666         which made the test fail, since the unexpanded strings would
16667         always differ; using GIT_TRACE=1 confirmed that the git merge-base
16668         command wasn't even being run.
16670 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
16672         doc: update main copyright year
16673         * doc/gnulib.texi: Update copyright date.
16675 2014-01-01  Eric Blake  <eblake@redhat.com>
16677         version-etc: new year
16678         * lib/version-etc.c (COPYRIGHT_YEAR): Bump to 2014.
16679         * all files: run 'make update-copyright'
16681 2013-12-24  Eric Blake  <eblake@redhat.com>
16683         passfd: give nicer error for recvfd at eof
16684         * lib/passfd.c (recvfd): Fake ENOTCONN if other end closes early.
16685         * tests/test-passfd.c (main): Enhance test to cover this.
16687 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
16689         gettimeofday: port recent C++ fix to Emacs
16690         Without this further patch, Emacs won't build due to
16691         the portcheck failing.  Also, this simplifies the patch a bit.
16692         * lib/time.in.h (localtime, gmtime): Don't replace unless
16693         GNULIB_GETTIMEOFDAY.  Treat them more like mktime.
16694         * lib/time.in.h (localtime, gmtime):
16695         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME):
16696         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
16697         * modules/time (time.h):
16698         Don't worry about the possibility of localtime and gmtime
16699         being absent; they're present in all C libraries we know about.
16700         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
16701         Don't assume sys_time is present and has been initialized.
16702         Instead, use a hack that should work even if it hasn't been.
16703         Don't use a portcheck for gmtime or localtime; this supports
16704         the hack.
16705         * modules/time (time.h): Substitute GNULIB_GETTIMEOFDAY.
16707 2013-12-17  John W. Eaton  <jwe@gnu.org>
16709         gettimeofday: fix C++ crosscompilation
16711         Never replace gmtime and localtime by macros when compiling with
16712         C++, this prevents <ctime> from being included.
16714         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Do not
16715         define gmtime and localtime as preprocessor macros.  Instead
16716         define some HAVE_GMTIME, HAVE_LOCALTIME, REPLACE_GMTIME, and
16717         REPLACE_LOCALTIME substitutions.
16718         * lib/time.in.h: Declare gmtime and localtime when needed.
16719         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): AC_SUBST HAVE_GMTIME,
16720         HAVE_LOCALTIME, REPLACE_GMTIME, and REPLACE_LOCALTIME.
16721         * modules/time: Depend on gettimeofday, and substitute the above
16722         variables in time.h.
16724 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
16726         qacl: port to Windows better
16727         See Eli Zaretskii in
16728         <http://lists.gnu.org/r/emacs-devel/2013-12/msg00593.html>.
16729         * lib/file-has-acl.c (acl_access_nontrivial):
16730         Return -1 and set errno if !HAVE_ACL_FIRST_ENTRY &&
16731         !HAVE_ACL_TO_SHORT_TEXT && !HAVE_ACL_FREE_TEXT.
16733 2013-12-12  Alexander V. Lukyanov  <lav@netis.ru>
16735         md5, sha1, sha256, sha512: fix (trivial) compile error in c++ mode.
16736         * lib/gl_openssl.h: Cast void pointers to a specific type.
16738 2013-12-07  Pádraig Brady  <P@draigBrady.com>
16740         open-tests: fix build failure with -Werror=old-style-declaration
16741         * tests/test-open.h: Reorder the inline to avoid the issue.
16743 2013-12-07  Pádraig Brady  <P@draigBrady.com>
16745         md5, sha1, sha256, sha512: fix link error with partial libcrypto
16746         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Only clear LIB_CRYPTO at
16747         init time, so that if early checks find crypto routines,
16748         while the last does not, then @LIB_CRYPTO@ is replaced correctly,
16749         avoiding link failures.
16751 2013-12-07  Paul Eggert  <eggert@cs.ucla.edu>
16753         md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
16754         This provides a new way to specify the default for
16755         gl_CRYPTO_CHECK, one that is reflected in the --help message.
16756         Emacs uses this, as well as the old way.
16757         This attempts to implement a suggestion by Pádraig Brady in
16758         <http://lists.gnu.org/r/coreutils/2013-12/msg00080.html>.
16759         * m4/gl-openssl.m4(gl_SET_CRYPTO_CHECK_DEFAULT): New macro.
16760         (gl_CRYPTO_CHECK): Use it.  Mention the default in --help output.
16762         md5, sha1, sha256, sha512: add 'auto', and a way to specify default
16763         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK):
16764         Add support for a new option, --with-openssl=auto, which causes
16765         the library to be used if available and silently ignored if not.
16766         Add support to allow configure.ac to specify its own
16767         default, by setting with_openssl_default before invoking gl_INIT.
16769 2013-12-05  Paul Eggert  <eggert@cs.ucla.edu>
16771         open-tests: port to glibc with _FORTIFY_SOURCE and -O1
16772         Problem reported by Daiki Ueno in:
16773         http://lists.gnu.org/r/bug-gnulib/2013-06/msg00052.html
16774         * tests/test-open.h (__always_inline):
16775         New macro, if not already defined.
16776         (test_open): Use it.
16778 2013-12-04  Eric Blake  <eblake@redhat.com>
16780         include_next: minimize code duplication
16781         * modules/include_next (Depends-on): Add absolute-header.
16782         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Reuse
16783         gl_ABSOLUTE_HEADER_ONE instead of open-coding it.
16785 2013-12-04  Pádraig Brady  <P@draigBrady.com>
16787         getcwd: fix compile error in configure check
16788         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Include errno.h
16790 2013-12-04  Pádraig Brady  <P@draigBrady.com>
16792         regex: suppress core dumps from detection code
16793         * m4/regex.m4 (gl_REGEX): Catch the SIGABRT and convert to SIGTERM
16794         to suppress core dumps that may well occur on glibc systems.
16795         These core dumps might not be cleaned up automatically, or could
16796         trigger some system core dump handling logic.
16798 2013-12-03  Pádraig Brady  <P@draigBrady.com>
16800         md5, sha1, sha256, sha512: support mandating use of openssl
16801         * m4/gl-openssl.m4 (gl_crypto_check): Adjust the --with-openssl
16802         description, to list the now 3 separate options.  also don't
16803         mention the default=no, since this is implicit given the option
16804         is described as --with-openssl rather than --without-openssl.
16805         If projects change the default they're free to document that.
16806         with --with-openssl[=yes] we now error out when the specified
16807         hash algorithm is not available in libcrypto.
16809 2013-12-03  Ivailo  <xakepa10@gmail.com>
16811         test-xvasprintf: (trivial) fix to disable some -Wformat-security diags
16812         * tests/test-xvasprintf.c: Disable -Wformat-zero-length and
16813         -Wformat-nonliteral checks, as these edge cases are part of the test.
16815 2013-12-03  Eric Blake  <eblake@redhat.com>
16817         regex: avoid glibc deadlock during configure
16818         * m4/regex.m4 (gl_REGEX): Avoid recursive malloc deadlock when
16819         glibc bug 15078 in turn triggers bug 16159.
16820         Reported by Michal Privoznik.
16822 2013-12-02  Pádraig Brady  <P@draigBrady.com>
16824         md5, sha1, sha256, sha512: use openssl routines if available.
16825         --with-openssl the libcrypto md5, sha1, sha224, sha256, sha384, sha256
16826         routines will be used if available, requiring apps to link @LIB_CRYPTO@
16827         * lib/gl_openssl.h: Provide wrappers for specified openssl hash.
16828         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): New function to lookup libcrypto
16829         in the standard system location.
16830         * m4/sha1.m4: Call gl_CRYPTO_CHECK() for SHA1.
16831         * m4/sha256.m4: Likewise with SHA256.
16832         * m4/sha512.m4: Likewise with SHA512.
16833         * m4/md5.m4: Likewise with MD5.
16834         * m4/gc.m4: Ensure @LIB_CRYPTO@ set for tests.
16835         * lib/sha1.h: Include wrappers if HAVE_OPENSSL_SHA1.
16836         * lib/sha256.h: Likewise with SHA256.
16837         * lib/sha512.h: Likewise with SHA512.
16838         * lib/md5.h: Likewise with MD5.
16839         * lib/sha1.c: Exlude functionality if HAVE_OPENSSL_SHA1.
16840         * lib/sha256.c: Likewise with SHA256.
16841         * lib/sha512.c: Likewise with SHA512.
16842         * lib/md5.c: Likewise with MD5.
16843         * modules/crypto/sha1 (Link:): Add the new optional lib.
16844         (Depends-on:): Add dependency on extern-inline.
16845         * modules/crypto/sha256: Likewise.
16846         * modules/crypto/sha512: Likewise.
16847         * modules/crypto/md5: Likewise.
16848         * modules/crypto/sha1-tests: Reference the lib here too.
16849         * modules/crypto/md5-tests: Likewise.
16850         * modules/crypto/gc-des-tests: Likewise.
16851         * modules/crypto/gc-hmac-md5-tests: Likewise.
16852         * modules/crypto/gc-hmac-sha1-tests: Likewise.
16853         * modules/crypto/gc-hmac-sha256-tests: Likewise.
16854         * modules/crypto/gc-hmac-sha512-tests: Likewise.
16855         * modules/crypto/gc-md5-tests: Likewise.
16856         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
16857         * modules/crypto/gc-sha1-tests: Likewise.
16858         * modules/crypto/gc-tests: Likewise.
16859         * modules/crypto/hmac-md5-tests: Likewise.
16860         * modules/crypto/hmac-sha1-tests: Likewise.
16861         * modules/crypto/hmac-sha256-tests: Likewise.
16862         * modules/crypto/hmac-sha512-tests: Likewise.
16864 2013-11-29  RV1971  <rv1971@web.de>
16866         base64: (trivial) fix compilation regression on some compilers
16867         * lib/base64.c: Don't return the void function,
16868         instead split to a separate return statement.
16870 2013-11-28  Paul Eggert  <eggert@cs.ucla.edu>
16872         ignore-value: revert previous code change
16873         * lib/ignore-value.h (ignore_value): Use __extension__ and
16874         __typeof__ only for GCC 3.4 and later.  Reported by Eric Blake in
16875         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00102.html>.
16876         Change the comment to try to explain this better.
16878 2013-11-27  Pádraig Brady  <P@draigBrady.com>
16880         selinux-h: improve stub types and add more stub functions
16882         * lib/se-selinux.in.h: Change security_context_t to a typedef
16883         rather than a define, as it's a pointer type and so is better
16884         as a typedef to avoid issues declaring multiple variables
16885         with the comma operator.  Also add stub for string_to_security_class().
16886         * lib/se-context.in.h: Add stub functions for
16887         context_{type,range,role,user}_get().
16889 2013-11-27  Paul Eggert  <eggert@cs.ucla.edu>
16891         ignore-value: prefer GCC version back through 2.0
16892         The code didn't match the comments, so I did a bit of software
16893         archaeology.  GCC 2.0 seems to support __extension__ and
16894         __typeof__, so fix both code and comments to use 2.0.
16895         * lib/ignore-value.h (ignore_value): Use __extension__ and
16896         __typeof__ for GCC 2.0 through 3.3, too.
16898 2013-11-25  Mats Erik Andersson  <gnu@gisladisker.se>
16900         pty: Activate the signature wrapper of forkpty.
16901         The intended preprocessor macro HAVE_FORKPTY is
16902         never defined, yet `lib/forkpty.c' depends on it.
16904         * m4/pty.m4 (gl_FUNC_FORKPTY): At completed analysis,
16905         apply AC_DEFINE_UNQUOTED to HAVE_FORKPTY with value
16906         $HAVE_FORKPTY for access to wrapper in `lib/forkpty.c'.
16908 2013-11-18  Jim Meyering  <meyering@fb.com>
16909         and Paul Eggert  <eggert@cs.ucla.edu>
16911         quotearg: don't attempt to store 1 << 31 into an "int"
16912         * lib/quotearg.c (quotearg_buffer_restyled): Building coreutils with
16913         gcc's new -fsanitize=undefined and running its tests triggered some
16914         new test failures due to undefined behavior, all with this diagnostic:
16915           lib/quotearg.c:629:62: runtime error: left shift of 1 by 31 places \
16916             cannot be represented in type int
16917         Rather than shifting "1" left to form a mask, shift the bits right and
16918         simply use "1" as the mask.
16920 2013-11-21  Paul Eggert  <eggert@cs.ucla.edu>
16922         error: depend on stdio
16923         Problem reported by Nikos Mavrogiannopoulos in
16924         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00084.html>
16925         * modules/error (Depends-on): Add stdio.
16927 2013-11-18  Ben Pfaff  <blp@cs.stanford.edu>
16929         * doc/relocatable-maint.texi (Supporting Relocation): Improve
16930         wording.
16931         Reported by Reuben Thomas <rrt@sc3d.org>.
16933 2013-11-13  Paul Eggert  <eggert@cs.ucla.edu>
16935         * lib/getgroups.c (posix_getgroups, getgroups) [__APPLE__]:
16936         New function and macro, to work around _DARWIN_C_SOURCE problem.
16937         Reported by Jack Howarth in <http://bugs.gnu.org/14463>.
16939 2013-11-11  Pádraig Brady  <P@draigBrady.com>
16941         base64: provide a fast path for encoding well sized buffers
16942         Avoid conditionals in the base64 encoding loop,
16943         which was seen to give 60% better throughput.
16944         * lib/base64.c (base64_encode_fast): A new function to be called
16945         when we don't want to NUL terminate, and we have enough space
16946         in the output to encode the given input.
16947         (base64_encode): Call the _fast() version when appropriate.
16948         Also remove a redundant mask with 0x3F on the first encoded byte.
16950 2013-11-08  Paul Eggert  <eggert@cs.ucla.edu>
16952         extern-inline: port better to OS X 10.9
16953         * m4/extern-inline.m4: Omit serial number; this file doesn't use them.
16954         (gl_EXTERN_INLINE): Do not suppress the use of extern inline on
16955         OS X 10.9, except for g++ where the bug is still present.
16956         See <http://trac.macports.org/ticket/41033>.
16958 2013-11-08  Eric Blake  <eblake@redhat.com>
16960         fpending: fix regression on DragonFly BSD
16961         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for declaration.
16962         * lib/fpending.h (__fpending): Don't declare twice.
16963         Reported by GW in
16964         <https://lists.gnu.org/r/bug-m4/2013-11/msg00000.html>
16966 2013-11-05  Jim Meyering  <meyering@fb.com>
16968         hash: relax license to LGPLv2+, for libguestfs
16969         * modules/hash (License): Change from GPL to LGPLv2+.
16971 2013-11-03  Paul Eggert  <eggert@cs.ucla.edu>
16973         intprops: port to Oracle Studio c99
16974         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__SUNPRO_C && __STDC__]:
16975         Define to 0, to avoid diagnostics when Oracle Studio is pedantic.
16977 2013-10-31  Paul Eggert  <eggert@cs.ucla.edu>
16979         obstack: pacify HP C
16980         * lib/obstack.h (obstack_free) [!__GNUC__]: Rewrite to avoid
16981         warning "conversion from pointer to smaller integer" from HP
16982         C-ANSI-C - cc version B9007AA/B3910B A.06.26.  It's safe to assume
16983         C89 or later nowadays, so cast to void instead of int.  Privately
16984         reported by H.Merijn Brand.  Also, change header to match glibc's,
16985         to make checking against glibc easier.
16987 2013-10-29  Jim Meyering  <meyering@fb.com>
16989         maint.mk: prefer gpgv2 over gpgv
16990         * top/maint.mk (gpgv): Use gpgv2 if present, else gpgv.
16991         (gpg_key_ID): Use $(gpgv), rather than hard-coding "gpgv".
16992         Reported by Gary Vaughan.
16994 2013-10-30  Paul Eggert  <eggert@cs.ucla.edu>
16996         isnan: port to VAX
16997         Reported by John Klos for NetBSD-5/VAX in
16998         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00133.html>.
16999         * lib/isnan.c (IEEE_FLOATING_POINT): New macro, stolen from Emacs.
17000         (FUNC): Use it.
17002 2013-10-28  Jim Meyering  <meyering@fb.com>
17004         gnulib-tool: protect against CDPATH
17005         * gnulib-tool: Many "cd" built-in functions print a directory name
17006         to stdout when CDPATH is set, e.g.,
17007           $ bash -c 'CDPATH=/; cd tmp'
17008           /tmp
17009         Unset it, when possible.  Prompted by a comment from Bruce Korb.
17011         maint.mk: restore functionality removed by recent change...
17012         Sunday's change, v0.0-8062-g6b24f60, may have appeared correct from
17013         the context of a shallow-cloned gnulib repository: "git describe"
17014         would fail in such a directory.  However, that change made it so
17015         the reported gnulib revision no longer includes the version number
17016         or a commit count, even when run from a full clone.
17017         * top/maint.mk (gnulib-version): Use the full "git describe"
17018         output when possible, e.g., the form above, rather than the
17019         abbreviated, no-tag, no-commit-count string, and fall back to
17020         using a 10-byte hash, rather than the default minimal-length
17021         hash prefix, since while the minimal-length one may be fine today,
17022         it is likely not to be unique for very long.
17024 2013-10-26  Jim Meyering  <meyering@fb.com>
17026         maint.mk: fix "release" target to build _version
17027         This fixes a bug in README-release whereby following the outlined
17028         steps, one would publish a tarball whose programs would report
17029         --version output not consistent with the package version number.
17030         This bug caused grep-2.15 to produce a grep program whose
17031         --version option made it print 2.14.56-1e3d rather than 2.15.
17032         * top/maint.mk (release): Making this target build "_version"
17033         ensures that the new version number is reflected in configure.
17035 2013-10-21  Ben Pfaff  <blp@cs.stanford.edu>
17037         install-reloc: Support multi-binary installation.
17038         * build-aux/install-reloc: Support installing multiple programs in
17039         one invocation, as done by Automake starting with commit
17040         4295fe33eb23f (Multi-file install for PROGRAMS.).  From Bruno
17041         Haible <bruno@clisp.org>, archived at
17042         http://lists.debian.org/debian-bsd/2012/05/msg00032.html.
17043         Reported by Sylvain <beuc@gnu.org>.
17045 2013-10-21  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
17047         selinux-h: Really build without selinux when library is missing.
17048         * m4/selinux-selinux-h.m4: When the selinux library is missing, really
17049         continue without selinux, as already told in the warning message.
17051 2013-10-21  Jim Meyering  <meyering@fb.com>
17053         regex: also remove dependency on HAVE_WCSCOLL
17054         * lib/regex_internal.h: Remove final vestige of the wcscoll dependency.
17056 2013-10-21  Reuben Thomas  <rrt@sc3d.org>
17058         xfreopen: Fix typo. s/frepoen/freopen/
17059         * lib/xfreopen.c: Fix description.
17060         * modules/xfreopen: Likewise.
17062 2013-10-21  Jim Meyering  <meyering@fb.com>
17064         regex: don't depend on wcscoll
17065         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wcscoll.
17066         It is no longer used.
17068 2013-10-20  Jim Meyering  <meyering@fb.com>
17070         error: add the printf attribute to a static function
17071         * lib/error.c (error_tail): Add the printf attribute, to placate
17072         gcc's -Werror=suggest-attribute=format option.
17074 2013-09-30  Jim Meyering  <meyering@fb.com>
17076         fpending, obstack, strerror-override: use pure+const function attrs
17077         * lib/fpending.h (__fpending): Declare with the "pure" attribute.
17078         * lib/obstack.c (_obstack_allocated_p): Likewise.
17079         * lib/obstack.h (_obstack_memory_used): Likewise.
17080         (_obstack_memory_used): Likewise.
17081         * lib/strerror-override.h (strerror_override): Declare with
17082         the "const" attribute.
17084 2013-10-18  Eric Blake  <eblake@redhat.com>
17086         extern-inline: make safe for -Wundef usage
17087         Reported by Vladimir 'phcoder' Serbinenko in
17088         https://lists.gnu.org/r/bug-gnulib/2013-10/msg00078.html
17089         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Port to older gcc.
17091 2013-10-16  Paul Eggert  <eggert@cs.ucla.edu>
17093         mkfifo-tests, etc.: allow HP-UX 11.11 bug
17094         Problem reported by Daniel Richard G. in
17095         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00068.html>.
17096         * doc/posix-functions/mkfifo.texi (mkfifo):
17097         * doc/posix-functions/mkfifoat.texi (mkfifoat):
17098         * doc/posix-functions/mknod.texi (mknod):
17099         * doc/posix-functions/mknodat.texi (mknodat):
17100         Document the HP-UX 11.11 bug.
17101         * tests/test-mkfifo.h (test_mkfifo):
17102         Allow the HP-UX 11.11 bug.
17104 2013-10-14  Paul Eggert  <eggert@cs.ucla.edu>
17106         acl: allow cross-compilation to Gentoo
17107         Problem reported by Gabriel Marcano in
17108         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00058.html>.
17109         * m4/acl.m4 (gl_ACL_GET_FILE): When cross-compiling,
17110         test only whether it links.
17112 2013-10-13  Paul Eggert  <eggert@cs.ucla.edu>
17114         mgetgroups: remove dependency on realloc-gnu
17115         The dependency violates the comment in realloc-gnu, which
17116         says that tests can't depend on realloc-gnu; some tests depend
17117         on mgetgroups, so mgetgroups can't depend on realloc-gnu.
17118         Problem reported by Daniel Richard G. in
17119         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00056.html>.
17120         * lib/mgetgroups.c (mgetgroups): Don't call realloc (NULL, 0).
17121         * modules/mgetgroups (Depends-on): Depend on realloc-posix,
17122         not realloc-gnu.
17124 2013-10-12  Paul Eggert  <eggert@cs.ucla.edu>
17126         regex-tests: port to HP-UX 11.11
17127         Problem reported by Daniel Richard G. in
17128         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00052.html>.
17129         * modules/regex-tests (test_regex_LDADD): Add LIBTHREAD, LIB_PTHREAD.
17131 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
17133         verify: document some 'assume' pitfalls
17134         * doc/verify.texi (Compile-time Assertions):
17135         Mention that 'assume (E)' can sometimes slow things down.
17136         Use CHAR_MAX + 1, not UCHAR_MAX + 1.
17138 2013-10-10  Eric Blake  <eblake@redhat.com>
17140         strtoumax: fix typo in previous commit.
17141         * modules/strtoumax (Depends-on): Fix typo.
17142         * modules/strtoimax (Depends-on): Likewise.
17144 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
17146         strtoumax: port to Solaris 8
17147         This problem was introduced in the recent HP-UX patch.
17148         Reported by Tom G. Christensen in
17149         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00037.html>.
17150         * modules/strtoumax (Depends-on): Test HAVE_STRTOUMAX
17151         and REPLACE_STRTOUMAX rather than ac_cv_func_strtoumax.
17153 2013-10-09  Paul Eggert  <eggert@cs.ucla.edu>
17155         strtoimax, strtoumax: port to HP-UX 11.11
17156         Problem reported by Daniel Richard G. in
17157         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00023.html>.
17158         * lib/inttypes.in.h (strtoumax): Replace strtoumax if
17159         REPLACE_STRTOUMAX, thus treating it consistently with strtoimax.
17160         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Add default for
17161         REPLACE_STRTOUMAX.
17162         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX):
17163         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX):
17164         Replace the function if defined as a macro but not as a function.
17165         * modules/inttypes-incomplete (inttypes.h): Substitute
17166         REPLACE_STRTOUMAX.
17167         * modules/strtoumax (configure.ac): Replace strtoumax if
17168         REPLACE_STRTOUMAX.
17170 2013-10-08  Paul Eggert  <eggert@cs.ucla.edu>
17172         strtoimax: port to HP-UX 11.11
17173         Problem reported by Daniel Richard G.
17174         * lib/strtoimax.c (Strtoimax, Strtol, Strtoll): New macros.
17175         (strtoimax, strtol, strtoll) [UNSIGNED]: Remove, since
17176         they might clash with inttypes.h.
17178 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
17180         New module 'count-trailing-zeros'.
17181         * MODULES.html.sh: Mention it.
17182         * lib/count-trailing-zeros.c, lib/count-trailing-zeros.h:
17183         * m4/count-trailing-zeros.m4, modules/count-trailing-zeros:
17184         * modules/count-trailing-zeros-tests:
17185         * tests/test-count-trailing-zeros.c:
17186         New files.
17188         count-leading-zeros: port to MSC; support types wider than 64 bits
17189         The ideas behind the MSC port are stolen from Emacs.
17190         * lib/count-leading-zeros.h:
17191         Don't include verify.h: it's no longer needed, as types wider than
17192         64 bits are now supported.
17193         (COUNT_LEADING_ZEROS): New arg MSC_BUILTIN, for better
17194         performance with MSC.  All uses changed.  Do not assume that TYPE
17195         has at most 64 bits.
17196         (count_leading_zeros_32): Assume 0 < X < 2**32, for speed.
17197         All uses changed.  Fold the subtraction from 31 into the table.
17199         count-one-bits: port to MSC; support types wider than 64 bits
17200         The ideas behind the MSC port are stolen from Emacs.
17201         * lib/count-one-bits.c (popcount_support) [_MSC_VER]: New variable.
17202         * lib/count-one-bits.h: Include limits.h, for CHAR_BIT.
17203         Don't include verify.h: it's no longer needed, as types wider than
17204         64 bits are now supported.
17205         (COUNT_ONE_BITS_GENERIC): New macro.
17206         (popcount_supported) [_MSC_VER]: New inline function.
17207         (COUNT_ONE_BITS): Use it.  New arg MSC_BUILTIN, for better
17208         performance with MSC.  All uses changed.  Do not assume that TYPE
17209         has at most 64 bits.
17210         * modules/count-one-bits (Depends-on): Do not depend on 'verify'.
17212 2013-10-06  Andrew Borodin  <aborodin@vmail.ru>
17214         mountlist: fix resource leak with MOUNTED_INTERIX_STATVFS
17215         * lib/mountlist.c (read_file_system_list): fix leak of directory
17216         streams in case of #ifdef MOUNTED_INTERIX_STATVFS.
17218 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
17220         tests: improve diagnostic when an assertion fails
17221         * tests/macros.h (ASSERT): Report the assertion that failed.
17223 2013-10-02  Paul Eggert  <eggert@cs.ucla.edu>
17225         verify: new macro 'assume'
17226         This is taken from Emacs, and should be generally useful.
17227         * doc/verify.texi (assume): Document it.
17228         * lib/verify.h (assume): New macro.
17229         (__has_builtin): Expand to 0 if not defined.
17231 2013-09-26  Eric Blake  <eblake@redhat.com>
17233         dup2, dup3: work around another cygwin crasher
17234         * m4/dup2.m4 (gl_FUNC_DUP2): Expose the bug.
17235         * m4/dup3.m4 (gl_FUNC_DUP3): Likewise.
17236         * tests/test-dup2.c (main): Likewise.
17237         * lib/dup2.c (rpl_dup2): Use setdtablesize to avoid it.
17238         * lib/dup3.c (dup3): Likewise.
17239         * doc/posix-functions/dup2.texi (dup2): Document it.
17240         * doc/glibc-functions/dup3.texi (dup3): Likewise.
17242         getdtablesize: work around cygwin issue
17243         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Detect problem.
17244         * modules/getdtablesize (configure.ac): Build replacement.
17245         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set up a witness.
17246         * modules/unistd (Makefile.am): Expose the witness.
17247         * lib/unistd.in.h (getdtablesize): Declare replacement.
17248         * lib/getdtablesize.c (rpl_getdtablesize): Work around it.
17249         * tests/test-getdtablesize.c (main): Test it.
17250         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Document it.
17252 2013-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
17254         pmccabe2html: escaping of special characters
17255         Escape all '<', '>', and '&' in HTML output.
17256         * build-aux/pmccabe2html (html_fnc): Call gsub()
17257         instead of sub() to capture all '<', '>', and '&'.
17258         Neither of '<' and '>' is special in a regexp,
17259         so first arguments to gsub() are corrected. Also,
17260         in replacement strings, ampersand must be escaped.
17261         Finally, '&' must be handled first, then '<' and '>'.
17263 2013-09-24  Eric Blake  <eblake@redhat.com>
17265         manywarnings: enable nicer gcc warning messages
17266         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Older gcc requires
17267         some -f options for optimal warnings.
17269 2013-09-21  Jim Meyering  <meyering@fb.com>
17271         timespec: use the new TIMESPEC_RESOLUTION in a few more places
17272         * lib/timespec-add.c (timespec_add): Also replace 999999999
17273         with TIMESPEC_RESOLUTION - 1.
17274         * lib/timespec-sub.c (timespec_sub): Likewise.
17276 2013-09-23  Paul Eggert  <eggert@cs.ucla.edu>
17278         warnings: port --enable-gcc-warnings to Solaris Studio 12.3
17279         Problem reported by Dagobert Michelsen via Eric Blake in
17280         <http://lists.gnu.org/r/bug-gnulib/2013-09/msg00052.html>.
17281         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use AC_LINK_IFELSE,
17282         not AC_COMPILE_IFELSE.
17284 2013-09-23  Eric Blake  <eblake@redhat.com>
17286         configmake: support new --runstatedir option
17287         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Substitute runstatedir
17288         even if autoconf was too old to provide the command line option.
17289         * modules/configmake (Makefile.am): Propagate it to .h file.
17291 2013-09-22  Paul Eggert  <eggert@cs.ucla.edu>
17293         ctype, string: depend on extern-inline
17294         This is needed to complete the recent OS X fixes.
17295         Also, fix related documentation as suggested by Eric Blake.
17296         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
17297         * doc/posix-functions/isascii.texi, doc/posix-functions/iscntrl.texi:
17298         * doc/posix-functions/isdigit.texi, doc/posix-functions/isgraph.texi:
17299         * doc/posix-functions/islower.texi, doc/posix-functions/isprint.texi:
17300         * doc/posix-functions/ispunct.texi, doc/posix-functions/isspace.texi:
17301         * doc/posix-functions/isupper.texi, doc/posix-functions/isxdigit.texi:
17302         * doc/posix-functions/toascii.texi, doc/posix-functions/tolower.texi:
17303         * doc/posix-functions/toupper.texi:
17304         List the 'ctype' gnulib module.
17305         * doc/posix-functions/strcat.texi, doc/posix-functions/strcpy.texi:
17306         * doc/posix-functions/strncpy.texi:
17307         List the 'string' gnulib module.
17308         * modules/memcpy, modules/memmove, modules/memset (Depends-on):
17309         Add string.
17310         * modules/ctype, modules/string (Depends-on): Add extern-inline.
17312 2013-09-19  Pádraig Brady  <P@draigBrady.com>
17314         userspec: support optional parameters to parse_user_spec()
17315         * lib/userspec.c (parse_user_spec): If the GID param is NULL,
17316         then avoid group processing and treat the full spec as a user.
17317         (parse_with_separator): Allow the USERNAME and GROUPNAME to
17318         be optional params (NULL), in which case they're ignored.
17320 2013-09-19  Paul Eggert  <eggert@cs.ucla.edu>
17322         timespec: new function make_timespec, and new constants
17323         * lib/timespec.h: Incorporate recent changes on the Emacs trunk.
17324         (TIMESPEC_RESOLUTION, LOG10_TIMESPEC_RESOLUTION): New constants.
17325         (make_timespec): New function.
17326         * lib/dtotimespec.c (dtotimespec):
17327         * lib/timespec-add.c (timespec_add):
17328         * lib/timespec-sub.c (timespec_sub):
17329         * lib/utimens.c (validate_timespec):
17330         * lib/utimensat.c (rpl_utimensat):
17331         Use these new constants and functions.
17333         stdio: OS X port of putc_unlocked + extern inline
17334         * lib/stdio.in.h (putc_unlocked): #undef on problematic Apple platforms.
17335         * doc/posix-functions/putc_unlocked.texi:
17336         * doc/posix-functions/putchar_unlocked.texi:
17337         Document this portability problem.
17339         signal: OS X port of sigaddset etc. + extern inline
17340         * lib/signal.in.h (sigaddset, sigdelset, sigemptyset, sigfillset)
17341         (sigismember): #undef on problematic Apple platforms.
17342         * doc/posix-functions/sigaddset.texi:
17343         * doc/posix-functions/sigdelset.texi:
17344         * doc/posix-functions/sigemptyset.texi:
17345         * doc/posix-functions/sigfillset.texi:
17346         * doc/posix-functions/sigismember.texi:
17347         Document this portability problem.
17349         extern-inline: do not always suppress extern inline on OS X
17350         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Suppress the use of
17351         extern inline on Apple only if the particular compile-time
17352         configuration is known to have the problem.
17353         (_GL_EXTERN_INLINE_APPLE_BUG): New private macro, to implement this.
17354         (_GL_EXTERN_INLINE_IN_USE): New macro, intended for use by
17355         other Gnulib modules.
17357         extern-inline: document fixes for ctype and wctype macros
17358         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
17359         * doc/posix-functions/isascii.texi, doc/posix-functions/isblank.texi:
17360         * doc/posix-functions/iscntrl.texi, doc/posix-functions/isdigit.texi:
17361         * doc/posix-functions/isgraph.texi, doc/posix-functions/islower.texi:
17362         * doc/posix-functions/isprint.texi, doc/posix-functions/ispunct.texi:
17363         * doc/posix-functions/isspace.texi, doc/posix-functions/isupper.texi:
17364         * doc/posix-functions/iswalnum.texi, doc/posix-functions/iswalpha.texi:
17365         * doc/posix-functions/iswcntrl.texi, doc/posix-functions/iswctype.texi:
17366         * doc/posix-functions/iswdigit.texi, doc/posix-functions/iswgraph.texi:
17367         * doc/posix-functions/iswlower.texi, doc/posix-functions/iswprint.texi:
17368         * doc/posix-functions/iswpunct.texi, doc/posix-functions/iswspace.texi:
17369         * doc/posix-functions/iswupper.texi, doc/posix-functions/iswxdigit.texi:
17370         * doc/posix-functions/isxdigit.texi, doc/posix-functions/toascii.texi:
17371         * doc/posix-functions/memcpy.texi, doc/posix-functions/memmove.texi:
17372         * doc/posix-functions/memset.texi, doc/posix-functions/stpcpy.texi:
17373         * doc/posix-functions/stpncpy.texi, doc/posix-functions/strcat.texi:
17374         * doc/posix-functions/strcpy.texi, doc/posix-functions/strncat.texi:
17375         * doc/posix-functions/strncpy.texi:
17376         * doc/posix-functions/tolower.texi, doc/posix-functions/toupper.texi:
17377         * doc/posix-functions/towlower.texi, doc/posix-functions/towupper.texi:
17378         Document that Gnulib fixes portability problems with these
17379         functions on OS X 10.8 and earlier when called from plain inline
17380         or extern inline functions.
17382 2013-09-17  Kevin Cernekee  <cernekee@gmail.com>
17384         fflush, freadahead, fseeko: Fix for Android
17385         Suggested by Bruno Haible in:
17386         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00306.html>
17387         * lib/stdio-impl.h: Use local __sfileext definition.
17389 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>
17391         pmccabe2html: Portability to other awk versions.
17392         The functions systime() and strftime() are available
17393         in Gawk only.  Properly close two HTML-tags 'style'
17394         and 'span'.
17395         * build-aux/pmccabe2html (BEGIN): Store timing
17396         strings in EPOCH_TIME and CHRONOS_TIME.  Replace
17397         systime() in HTML_COMMENT.
17398         (html_header): Correctly close tag 'style'.
17399         (END): Replace strftime() by CHRONOS_TIME.  Close
17400         tag 'span' correctly, not as 'div'.
17402 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
17404         getgroups: statement without effect
17405         * lib/getgroups.c (rpl_getgroups) [HAVE_GETGROUPS]:
17406         Change equality conditional to expected assignment.
17408 2013-09-09  Eric Blake  <eblake@redhat.com>
17410         glob: fix compilation
17411         * lib/glob.in.h (__THROW): Fix missing line in previous commit.
17413 2013-09-07  Eric Blake  <eblake@redhat.com>
17415         glob: fix build for platforms without __THROW
17416         * lib/glob.in.h (__THROW): Add definition again.
17418 2013-09-04  Anton Ovchinnikov  <revolver112@gmail.com>  (tiny change)
17420         regex-quote: fix buffer access out of bounds
17421         http://lists.gnu.org/r/bug-gnulib/2013-09/msg00001.html
17422         * lib/regex-quote.c (regex_quote_spec_pcre):
17423         Fix typo that resulted in an out-of-bounds read.
17425 2013-09-04  Eric Blake  <eblake@redhat.com>
17427         glob: avoid -Wattribute warnings on glibc
17428         * lib/glob.c (next_brace_sub, prefix_array, collated_compare): Use
17429         __THROWNL, not __THROW, on static functions.
17430         * lib/glob.in.h (__THROW): Adjust...
17431         (__THROWNL): ...accordingly.
17433 2013-08-28  Paul Eggert  <eggert@cs.ucla.edu>
17435         headers: check that _GL_INLINE_HEADER_BEGIN is defined
17436         Suggested by Bruce Korb in:
17437         http://lists.gnu.org/r/bug-gnulib/2013-08/msg00070.html
17438         * doc/extern-inline.texi (extern inline):
17439         Suggest checking that _GL_INLINE_HEADER_BEGIN is defined.
17440         * lib/acl-internal.h, lib/argp-fmtstream.h, lib/argp.h:
17441         * lib/binary-io.h, lib/bitrotate.h, lib/count-leading-zeros.h:
17442         * lib/count-one-bits.h, lib/eealloc.h, lib/execinfo.in.h:
17443         * lib/gethrxtime.h, lib/gl_list.h, lib/gl_oset.h, lib/gl_xlist.h:
17444         * lib/gl_xoset.h, lib/gl_xsublist.h, lib/glthread/cond.h:
17445         * lib/glthread/thread.h, lib/math.in.h, lib/mbchar.h, lib/mbfile.h:
17446         * lib/mbiter.h, lib/mbuiter.h, lib/openat.h, lib/pipe-filter-aux.h:
17447         * lib/priv-set.h, lib/pthread.in.h, lib/savewd.h, lib/se-context.in.h:
17448         * lib/se-selinux.in.h, lib/sig-handler.h, lib/stat-time.h:
17449         * lib/sys_socket.in.h, lib/timespec.h, lib/u64.h, lib/unistd.in.h:
17450         * lib/utimens.h, lib/wctype.in.h, lib/xalloc.h, lib/xsize.h:
17451         * lib/xtime.h:
17452         Check that _GL_INLINE_HEADER_BEGIN is defined.
17454 2013-08-29  Pádraig Brady  <P@draigBrady.com>
17456         bootstrap: remove the --version requirement from ancillary tools
17457         * build-aux/bootstrap (check_exists): A new refactored function to
17458         determine if a command exists.
17459         (find_tool): Use the new function which does not require the
17460         --version option to be supported.
17461         (check_versions): Use the new function.
17463 2013-08-26  Simon Josefsson  <simon@josefsson.org>
17465         gc: support HMAC-SHA256 and HMAC-SHA512.
17466         * lib/gc.h: Add gc_hmac_sha256 and gc_hmac_sha512.
17467         * lib/gc-libgcrypt.c (gc_hmac_sha256, gc_hmac_sha512): New
17468         functions.
17469         (gc_hmac_md5): Use symbolic constant.
17470         * lib/gc-gnulib.c: Include hmac.h for HMAC-SHA256/512 too.
17471         (gc_hmac_sha256, gc_hmac_sha512): New functions.
17472         * lib/hmac.h: Add hmac_sha256 and hmac_sha512 prototypes.
17473         * m4/sha256.m4: Protect against empty expansion.
17474         * m4/sha512.m4: Likewise.
17475         * lib/hmac-sha256.c: New file.
17476         * lib/hmac-sha512.c: Likewise.
17477         * m4/gc-hmac-sha256.m4: Likewise.
17478         * m4/gc-hmac-sha512.m4: Likewise.
17479         * m4/gc-sha256.m4: Likewise.
17480         * m4/gc-sha512.m4: Likewise.
17481         * modules/crypto/gc-hmac-sha256: Likewise.
17482         * modules/crypto/gc-hmac-sha256-tests: Likewise.
17483         * modules/crypto/gc-hmac-sha512: Likewise.
17484         * modules/crypto/gc-hmac-sha512-tests: Likewise.
17485         * modules/crypto/hmac-sha256: Likewise.
17486         * modules/crypto/hmac-sha256-tests: Likewise.
17487         * modules/crypto/hmac-sha512: Likewise.
17488         * modules/crypto/hmac-sha512-tests: Likewise.
17489         * tests/test-gc-hmac-sha256.c: Likewise.
17490         * tests/test-gc-hmac-sha512.c: Likewise
17491         * tests/test-hmac-sha256.c: Likewise.
17492         * tests/test-hmac-sha512.c: Likewise
17494 2013-08-24  Daiki Ueno  <ueno@gnu.org>
17496         * m4/intl.m4: Update from gettext-0.18.3.1, which fixes a misuse
17497         of AC_CHECK_DECLS.
17499 2013-08-23  Paul Eggert  <eggert@cs.ucla.edu>
17501         selinux-at: omit unnecessary include
17502         * lib/selinux-at.c: Don't include dosname.h; not needed, since
17503         this source file doesn't use its macros, and subsidiary files that
17504         use the macros already include it.
17506 2013-08-21  Eric Blake  <eblake@redhat.com>
17508         d-ino: avoid false negative on symlink
17509         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use lstat.
17510         Reported by Stephane Chazelas.
17512 2013-08-12  Mike Miller  <mtmiller@ieee.org>  (tiny change)
17514         bootstrap: port to OpenBSD sed
17515         * build-aux/bootstrap (insert_if_absent): Port to OpenBSD sed which
17516         does not interpret `-' as a file argument to mean stdin.
17518 2013-08-15  Eric Blake  <eblake@redhat.com>
17520         warnings: minor optimization
17521         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use fewer processes.
17523         warnings: check -Wfoo rather than -Wno-foo
17524         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): If name begins with
17525         -Wno-, test if the compiler recognizes the positive form instead.
17527 2013-08-15  Karl Berry  <karl@gnu.org>
17529         * config/srclist-update: add option "doclicense" to placate
17530         pulling *.texi files from Emacs.  Write terse usage
17531         documentation at the top.
17533 2013-08-13  Paul Eggert  <eggert@cs.ucla.edu>
17535         xvasprintf-tests: port to GCC with hardening flags
17536         * tests/test-xvasprintf.c (test_xasprintf): Pass another arg to
17537         xasprintf, to pacify GCC.  Reported by Santiago Vila in:
17538         http://lists.gnu.org/r/bug-diffutils/2013-08/msg00002.html
17540 2013-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17542         fpending: port to recent Cygwin change to stdio_ext.h
17543         Reported by LRN in
17544         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00028.html>.
17545         * lib/fpending.h: Don't worry about HAVE_DECL___FPENDING;
17546         just declare __fpending unless it's a macro.
17547         A duplicate decl shouldn't hurt.
17548         * m4/fpending.m4 (gl_FUNC_FPENDING): Check that an __fpending
17549         call compiles and links, instead of separately checking for
17550         decl and lib function.
17551         * modules/fpending (configure-ac):
17552         Adjust to fpending.m4's renaming of shell variable.
17554 2013-08-10  Paul Eggert  <eggert@cs.ucla.edu>
17556         sys_time: port to OpenBSD
17557         * lib/sys_time.in.h: Simply delegate to the system's header
17558         in the BSDish cases as well.  Problem reported by Mike Miller in
17559         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00016.html>.
17560         * tests/test-sys_select.c, tests/test-sys_time.c (verify_tv_sec_type):
17561         Allow platforms like 64-bit OpenBSD where timeval's tv_sec is
17562         wider than time_t.
17564 2013-08-09  Pádraig Brady  <P@draigBrady.com>
17566         bootstrap: support checksum utils having -c but not --status
17567         * build-aux/bootstrap: Only look for sha1sum if updating po files.
17568         Add sha1 to the list of supported checksum utils since it's now
17569         supported through adjustments below.
17570         (update_po_files): Remove the use of --status
17571         in a way that will suppress all error messages, but since this is
17572         only used to minimize updates, it shouldn't cause an issue.
17573         Exit early if there is a problem updating the po file checksums.
17574         (find_tool): Remove the check for --version support as this
17575         is optional as per commit 86186b17.  Don't even check for the
17576         presence of the command as if that is needed, it's supported
17577         through configuring prerequisites in bootstrap.conf.
17578         Prompt that when a tool isn't found, one can define an environment
17579         variable to add to the hardcoded search list.
17581 2013-08-05  Jim Meyering  <meyering@fb.com>
17583         regex: port to non-glibc/lock-using systems
17584         Since 29-05-2013 commit, 55ba71f4, compilation on a non-glibc
17585         system with GNULIB_LOCK would fail due to absence of the
17586         included "glthread/lock.h".  This would affect any package
17587         for which the "lock" module is used only by the regex module,
17588         and not explicitly used.
17589         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_GLIBC21.
17590         * modules/regex (Depends-on) [!GLIBC && $ac_use_included_regex]:
17591         Add a dependency on the "lock" module.
17593 2013-07-20  Daiki Ueno  <ueno@gnu.org>
17595         localecharset: make locale_charset thread-safe on Mac OS X
17596         * lib/localcharset.c (locale_charset) [DARWIN7]: Use MB_CUR_MAX_L
17597         instead of MB_CUR_MAX.
17599 2013-07-20  Daiki Ueno  <ueno@gnu.org>
17601         gettext: update to version 0.18.3
17602         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.3.  In particular,
17603         require AC_PROG_SED to allow user to specify custom sed command when
17604         generating en@quot PO file.
17606 2013-07-18  Werner Lemberg  <wl@gnu.org>  (tiny change)
17608         bootstrap: use correct source when copying build-aux files
17609         * build-aux/bootstrap (gnulib_extra_files): This variable is
17610         relative to upstream gnulib layout, not downstream.
17612 2013-07-17  Paul Eggert  <eggert@cs.ucla.edu>
17614         tmpdir: fix bug in VMS port
17615         * lib/tmpdir.c (path_search) [__VMS]: Never add slash.
17616         See Steven M. Schweda in
17617         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00026.html>.
17619 2013-07-15  Paul Eggert  <eggert@cs.ucla.edu>
17621         tmpdir: port to VMS, to // != /, and to long dirs
17622         * lib/tmpdir.c (__libc_secure_getenv) [!_LIBC]: Rename from
17623         __secure_getenv, so that we're more like the glibc version.
17624         All uses changed.
17625         (path_search): Don't put slash after directory if __VMS.
17626         Problem reported by Steven M. Schweda in
17627         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00019.html>.
17628         Simplify code to add slash; no need for a loop.
17629         Do not remove trailing slash from "//".
17630         Do not assume dlen <= INT_MAX.
17632 2013-07-09  Paul Eggert  <eggert@cs.ucla.edu>
17634         regex: port to --with-included-regex --enable-gcc-warnings non-threaded
17635         * lib/regex_internal.h (lock_fini, lock_lock): Rework to avoid
17636         gcc warnings in the non-threaded case.  Reported by Charlie Brown in
17637         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00015.html>.
17639         accept4, dup3, pipe2: port to Cygwin
17640         Problem reported for Emacs by Ken Brown in <http://bugs.gnu.org/14821>.
17641         * lib/accept4.c (accept4) [O_BINARY]:
17642         * lib/dup3.c (dup3) [O_BINARY]:
17643         * lib/pipe2.c (pipe2) [O_BINARY]:
17644         Use set_binary_mode, not setmode.
17645         * lib/pipe2.c [!GNULIB_BINARY_IO]: Include binary-io.h.
17646         * modules/binary-io (Depends-on): Remove module indicator.
17647         These last two bits undo the previous change to pipe2 and binary-io.
17649 2013-07-09  Pádraig Brady  <P@draigBrady.com>
17651         mountlist: add support for deallocating returned list entries
17652         * lib/mountlist.c (free_mount_entry): A new exported function
17653         to deallocate a mount list entry.
17654         (read_file_system_list): Refactor to use the new deallocation function.
17655         Suggested by Anton Ovchinnikov.
17657 2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>
17659         stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11
17660         Problem reported by Ulrich Mueller in <http://bugs.gnu.org/14812>.
17661         * lib/stdalign.in.h (_Alignas, _Alignof):
17662         Port to FreeBSD 9.1, and to C11 and C++11.
17663         (_Alignas): Also support ICC.
17664         * lib/verify.h (_Static_assert): Undef if <stddef.h> defines it.
17665         * m4/stdalign.m4 (gl_STDALIGN_H): Port to ICC and to C++11.
17667 2013-07-06  Paul Eggert  <eggert@cs.ucla.edu>
17669         fnmatch: don't goto over declaration
17670         * lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid
17671         undefined behavior for goto over a declaration.
17672         Problem reported by Charlie Brown in
17673         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00009.html>.
17675         pipe2: decouple from binary-io a bit
17676         This is for Emacs, which needs pipe2 but not binary-io.
17677         * lib/pipe2.c [!GNULIB_BINARY_IO]: Don't include binary-io.h.
17678         * modules/binary-io (Depends-on): Add module indicator.
17680 2013-07-03  Eric Blake  <eblake@redhat.com>
17682         mgetgroups: relax license to LGPLv2+
17683         * modules/getugroups (License): Change from GPLv3+.
17684         * modules/mgetgroups (License): Likewise.
17685         * modules/getgroups (License): Change from LGPLv3+.
17687         xalloc-oversized: relax license to LGPLv2+
17688         * modules/xalloc-oversized (License): Change from GPLv3+.
17690         nproc: relax license to LGPLv2+
17691         * modules/nproc (License): Change from LGPLv3+.
17693         bootstrap: honor --no-git
17694         * build-aux/bootstrap: Don't even try to use git when user is
17695         pointing to a static checkout.
17697 2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
17699         ignore-value: port to gcc -pedantic
17700         * lib/ignore-value.h (ignore_value):
17701         Port to gcc -pedantic, by using __extension__.
17702         Reindent as per usual gnulib style nowadays.
17703         Simplify GCC version check.
17705 2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>
17707         extern-inline: port to gcc -std=c89
17708         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
17709         Do not use __gnu_inline__ if pedantic and pre-C99.
17711 2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>
17713         doc: document extern-inline
17714         * doc/extern-inline.texi: New file.
17715         * doc/gnulib.texi (alloca-opt): Include it.
17716         * m4/extern-inline.m4: Move some comments to documentation,
17717         and others closer to what they describe.
17719         doc: chatter less
17720         * doc/Makefile (NEWEST_GNULIB_TEXI_FILE): New macro.
17721         (updated-stamp): Use it.  This causes 'make' to output just
17722         one file name rather than zillions.
17724         fflush, fseeko: port to musl cross-compiles
17725         * lib/fseeko.c (fseeko): Assume that fflushing stdin works if
17726         on some implementation that (1) is not known to be buggy,
17727         (2) claims conformance to POSIX.1-2008 or later, and (3) is being
17728         cross-compiled to so we can't easily check for lack of
17729         conformance.  This is for cross-compiling to musl.
17730         Reported by Rich Felker in
17731         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00043.html>.
17732         * m4/fclose.m4 (gl_FUNC_FCLOSE):
17733         * m4/fflush.m4 (gl_FUNC_FFLUSH):
17734         * m4/fseeko.m4 (gl_FUNC_FSEEKO):
17735         Adjust to above change.
17736         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin
17737         to 'cross', not to 'no', when cross-compiling.  AC_DEFINE
17738         FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work,
17739         known not to work, or unknown.
17741 2013-06-15  Paul Eggert  <eggert@cs.ucla.edu>
17743         msvc-inval: port to mingw-w64
17744         * lib/msvc-inval.c (gl_msvc_invalid_parameter_handler):
17745         Use __cdecl, not cdecl, for mingw-w64.  Reported by LRN in
17746         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00039.html>.
17748 2013-06-11  Paul Eggert  <eggert@cs.ucla.edu>
17750         getcwd-lgpl: port to Tru64
17751         * lib/getcwd-lgpl.c: Include <stdlib.h>, for malloc etc.
17752         Problem reported by Steven M. Schweda in
17753         <http://lists.gnu.org/r/bug-gzip/2013-06/msg00010.html>.
17755         tests: port large-fd POSIX spawn tests to OS X
17756         Problem reported by Daiki Ueno in
17757         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00031.html>.
17758         * tests/test-posix_spawn_file_actions_addclose.c:
17759         * tests/test-posix_spawn_file_actions_adddup2.c:
17760         * tests/test-posix_spawn_file_actions_addopen.c:
17761         Include <limits.h>, for OPEN_MAX, if available.
17762         (big_fd): New static function.
17763         (main): Use it.
17765 2013-06-04  Bernhard Voelker  <mail@bernhard-voelker.de>
17767         tests/nap.h: use an adaptive delay to avoid ctime update issues
17768         The recent change in nap.h (5191133e) decreased the probability of lost
17769         races to about a third, however such problems could still be observed
17770         in virtual machines and openSUSE's OBS.
17771         Before, nap() detected the needed time once empirically and then used
17772         that delay (together with a small correction multiplier) in further
17773         calls.  This problem has been reported and discussed several times,
17774         including guesses about possible kernel issues:
17775         https://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html
17776         http://lists.gnu.org/r/coreutils/2012-03/msg00088.html
17777         https://lists.gnu.org/r/bug-gnulib/2011-11/msg00226.html
17778         http://bugs.gnu.org/12820
17779         https://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html
17780         https://lists.gnu.org/r/bug-gnulib/2009-11/msg00007.html
17781         Now, nap() avoids the race alltogether by verifying on a reference
17782         file whether a timestamp difference has happened.
17783         * tests/nap.h (nap_fd): Define file descriptor variable for the
17784         witness file.
17785         (nap_works): Change return value to bool.  Change passing
17786         the old file's status by value instead of by reference as this function
17787         does no longer update that timestamp; rename the function argument from
17788         st to old_st.  Remove the local variables cdiff and mdiff because that
17789         function now returns true/false instead of the precise delay.
17790         (guess_delay): Remove function.
17791         (clear_tmp_file): Add new function to close and unlink the witness file.
17792         (nap): Instead of re-using the delay which has been calculated during
17793         the first call, avoid the race by actually verifying that a timestamp
17794         difference can be observed on the current file system.  Use an adaptive
17795         approach for the delay to minimize execution time.  Assert that the
17796         maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30
17797         = 2^31 - 1 = 2.1s.
17798         Use atexit to call clear_tmp_file when the process terminates.
17800 2013-06-02  Paul Eggert  <eggert@cs.ucla.edu>
17802         sig2str: port to C++
17803         * lib/sig2str.h (sig2str, str2sig): Declare as extern "C".
17804         Reported by Daniel J Sebald in
17805         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00000.html>.
17807 2013-05-30  Eric Blake  <eblake@redhat.com>
17809         docs: mention cygwin shortcoming in <sys/un.h>
17810         * doc/posix-headers/sys_un.texi (sys/un.h): Mention problem.
17812         vasnprintf: silence mingw compiler warning
17813         * lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning.
17815 2013-05-29  Paul Eggert  <eggert@cs.ucla.edu>
17817         c-ctype, regex, verify: port to gcc -std=c90 -pedantic
17818         Avoid constructions that are rejected by gcc -std=c90 -pedantic.
17819         This fixes a porting bug I recently reintroduced in regex, and
17820         some other instances that I discovered while testing the fix.
17821         * lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }).
17822         * lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E.
17823         * lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro
17824         with an empty argument if this is a pedantic pre-C99 GCC.
17825         * lib/verify.h: Do not use _Static_assert if this is a pedantic
17826         pre-C11 GCC.
17828         regex: adapt to locking regime instead of depending on pthread
17829         Instead of depending on pthread, adapt to whatever thread
17830         modules are in use.  Problem reported by Ludovic Courtès in
17831         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00082.html>
17832         and by Mats Erik Andersson in
17833         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00100.html>.
17834         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
17835         Support either the 'lock' module, or the 'pthread' module, or
17836         no module.
17837         (lock_lock, lock_unlock): New macros.
17838         * lib/regexec.c (regexec, re_search_stub): Use the new macros.
17839         * modules/lock, modules/pthread (configure.ac): Add module indicator.
17840         * modules/regex (Depends-on): Remove pthread.
17842 2013-05-22  Eric Blake  <eblake@redhat.com>
17844         getgroups: document portability issues
17845         * doc/glibc-functions/initgroups.texi (initgroups): Mention
17846         multithread safety.
17847         * doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
17848         * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
17849         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
17850         getugroups.
17851         * doc/posix-functions/getgroups.texi (getgroups): Mention
17852         multithread safety and mgetgroups.
17854 2013-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
17856         test-lchown, test-chown: also skip test if chown fails with EPERM
17857         * tests/test-lchown.h (test_lchown): Add EPERM to the condition to
17858         skip this test, to handle FAT file systems.
17859         * tests/test-chown.h (test_chown): Likewise.
17861 2013-05-19  Paul Eggert  <eggert@cs.ucla.edu>
17863         regex: fix dfa race in multithreaded uses
17864         Problem reported by Ludovic Courtès in
17865         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00058.html>.
17866         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
17867         New macros.  All uses of __libc_lock_define, __libc_lock_init
17868         changed to use the first two of these.
17869         (__libc_lock_lock, __libc_lock_unlock): New macros, for
17870         non-glibc platforms.
17871         (struct re_dfa_t): Define the lock unconditionally.
17872         * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
17873         '#ifdef _LIBC"s.
17874         * modules/regex (Depends-on): Add pthread, if we use the
17875         included regex.
17877         * lib/regcomp.c: Do actions that are not needed for glibc,
17878         but may be needed elsewhere.
17879         (regfree, re_compile_internal): Destroy the lock.
17880         (re_compile_internal): Check for lock-initialization failure.
17882         malloca: port to compilers that reject size-zero arrays
17883         This fixes a bug introduced in my previous patch.
17884         * lib/malloca.c (struct preliminary_header): Use an int
17885         rather than a character array of size int; that's simpler.
17886         (struct header): Remove, replacing with ...
17887         (union header): New type.  This avoids the need for declaring a
17888         character array of size zero, which is not allowed on some platforms.
17889         All uses changed.
17891 2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>
17893         parse-datetime, tests: don't use "string" + int
17894         Recent versions of 'clang' complain about C source code that
17895         uses expressions of the form '"string literal" + integer',
17896         I guess on the theory that it's confusing for readers who are
17897         used to C++.  On those grounds I suppose it's OK to make this
17898         minor style change.
17899         * lib/parse-datetime.y (parse_datetime):
17900         * tests/test-fchdir.c (main):
17901         * tests/test-snprintf-posix.h (test_function):
17902         * tests/test-snprintf.c (main):
17903         * tests/test-vasnprintf-posix.c (test_function):
17904         * tests/test-vasnprintf.c (test_function):
17905         * tests/test-vsnprintf.c (main):
17906         * tests/unistdio/test-ulc-asnprintf1.h (test_function):
17907         Rewrite '"str" + E' to '&"str"[E]'.
17909 2013-05-17  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
17911         argmatch: port to C++
17912         * lib/argmatch.h [__cplusplus]: Add extern "C".
17914         argp: typo fix
17915         * lib/argp-help.c: Typo in comment.
17917 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
17919         manywarnings: update for GCC 4.8.0
17920         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
17921         Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
17922         are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
17923         -Wmissing-noreturn, as they are duplicates of other warnings.
17924         Remove -Wunreachable-code, as it is removed in GCC 4.8 and
17925         was documented to be flaky in earlier versions of GCC.
17927         spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
17928         * tests/test-spawn.c (main):
17929         * tests/test-sys_socket.c (main):
17930         * tests/test-sys_wait.c (main):
17931         Don't have a switch value that isn't covered by a case.
17933         getaddrinfo-tests: port --enable-gcc-warnings to clang
17934         * tests/test-getaddrinfo.c (simple):
17935         Avoid casts from looser to stricter-aligned pointers.
17937         thread: port --enable-gcc-warnings to clang
17938         * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
17939         Include <signal.h>, to pacify a warning about pthread_sigmask.
17941         stdio: use __REDIRECT for fwrite, fwrite_unlocked
17942         * lib/stdio.in.h (fwrite):
17943         When working around bug 11959, use __REDIRECT rather than '#define
17944         fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
17945         fix the -Wunused-value issue with clang, and it works with GCC too.
17946         Problem with targeting reported by Eric Blake in
17947         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00067.html>.
17948         (fwrite_unlocked): Treat like fwrite.  I ran into this issue while
17949         debugging the fwrite issue.
17951         stdio: port --enable-gcc-warnings to clang
17952         * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
17953         since the GCC workaround for fwrite does not pacify clang.
17955         sig2str: port --enable-gcc-warnings to clang
17956         * lib/sig2str.c (sig2str): Avoid warning about unused printf argument.
17958         obstack: port --enable-gcc-warnings to clang
17959         * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
17960         Avoid casts from looser to stricter-aligned pointers.
17962         memchr2: port --enable-gcc-warnings to clang
17963         * lib/memchr2.c (memchr2):
17964         Avoid casts from looser to stricter-aligned pointers.
17966         mbsstr: port --enable-gcc-warnings to clang
17967         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
17968         Avoid casts from looser to stricter-aligned pointers.
17970         malloca: port --enable-gcc-warnings to clang
17971         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
17972         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
17974         inttostr: port --enable-gcc-warnings to clang
17975         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
17977         warnings: port to clang
17978         Problem reported by Daniel P. Berrange via Eric Blake in
17979         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00055.html>.
17980         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
17981         (gl_WARN_ADD): Use it.
17983 2013-05-11  Jim Meyering  <meyering@fb.com>
17985         quotearg: do not read beyond end of buffer
17986         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
17987         end of an ARG for which no length was specified.  With an N-byte
17988         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
17989         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
17990         via coreutils' misc/sort-debug-keys.sh test and detected by running
17991         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
17992         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
17993         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
17994         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
17995         characters correctly."
17997 2013-05-11  Daiki Ueno  <ueno@gnu.org>
17999         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
18000         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
18001         compilation target is Mac OS X 10.6.
18002         Problem reported by parafin and Andoni Morales in
18003         <http://savannah.gnu.org/bugs/?37844> and
18004         <http://lists.gnu.org/r/bug-gettext/2013-05/msg00007.html>.
18006 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
18008         mkdir-p: remove assumptions about umask and mode
18009         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
18010         umask is 0, or that MODE is a subset of MODE_BITS.
18012 2013-05-10  Eric Blake  <eblake@redhat.com>
18014         maint.mk: catch more abuse of HAVE_DECL in syntax-check
18015         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
18017 2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
18019         deps: require Automake >= 1.9.6 in generated Makefile fragments
18021         That is the same minimal version required in the DEPENDENCIES file.
18022         Moreover, the old code generated a requirement of Automake >= 1.5,
18023         and that is an insanely outdated version.
18025         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
18026         * tests/havelib/rpathlx/Makefile.am: Likewise.
18027         * tests/havelib/rpathly/Makefile.am: Likewise.
18028         * tests/havelib/rpathlyx/Makefile.am: Likewise.
18029         * tests/havelib/rpathlz/Makefile.am: Likewise.
18030         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
18031         * tests/havelib/rpathx/Makefile.am: Likewise.
18032         * tests/havelib/rpathy/Makefile.am: Likewise.
18033         * tests/havelib/rpathz/Makefile.am: Likewise.
18035 2013-05-08  Eric Blake  <eblake@redhat.com>
18037         bootstrap: AC_INIT may have more than four parameters
18038         * build-aux/bootstrap (extract_package_name): Correctly extract
18039         non-empty tarname field.  Avoid range in regex.
18040         Based on a report by Sami Kerola <kerolasa@iki.fi>.
18042 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
18044         qacl: port to MS-Windows port of GNU Emacs
18045         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
18046         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
18047         port of GNU Emacs.  Problem reported by Eli Zaretskii in
18048         <http://bugs.gnu.org/14295#14>.
18050 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
18052         acl: include quote.h
18053         * lib/copy-acl.c: Include quote.h.
18054         * lib/set-acl.c: Likewise.
18056 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
18058         fchownat, renameat, unlinkat: update statat dependencies
18059         These modules use statat and lstatat, not fstatat; so depend on
18060         the statat module, which was split out recently from fstatat.
18061         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
18062         * modules/renameat: Likewise.  Also delete fstat.
18063         URL: http://bugs.gentoo.org/468790
18065 2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
18067         Assume gnulib is checked out from Git, not CVS
18069         In fact, access to the gnulib repository through CVS has been
18070         disabled, or more precisely, got broken and was never restored; see:
18071         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00008.html>
18073         Note that support for CVS is not removed completely and unthinkingly
18074         by this change: only support for CVS checkouts of gnulib itself is
18075         removed.  For example, the 'bootstrap' script still cater to .cvsingore
18076         files and CVS directories, for the benefit of those poor gnulib clients
18077         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
18079         * gnulib-tool: Simplify accordingly.
18080         * posix-modules: Likewise.
18081         * MODULES.html.sh: Likewise.
18082         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
18083         repository.
18084         * doc/gnulib-intro.texi: Likewise.
18085         * doc/gnulib-readme.texi: Likewise.
18086         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
18087         sample '.gitignore' file rather than a sample '.cvsignore'.
18088         * NEWS: Update.
18089         * m4/extensions.m4: While at it, remove a comment mistakenly referring
18090         to "CVS Autoconf" rather than "git Autoconf".
18092 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
18094         utimensat-tests, etc.: try to fix some races
18095         Problem reported by Bernhard Voelker in
18096         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html>.
18097         I don't know whether this patch fixes that race condition, but it
18098         fixes *some* race conditions, so it should be a win.
18099         * modules/chown-tests (Depends-on):
18100         * modules/fchownat-tests (Depends-on):
18101         * modules/fdutimensat-tests (Depends-on):
18102         * modules/futimens-tests (Depends-on):
18103         * modules/lchown-tests (Depends-on):
18104         * modules/stat-time-tests (Depends-on):
18105         * modules/utimens-tests (Depends-on):
18106         * modules/utimensat-tests (Depends-on):
18107         Depend on nanosleep, not usleep.
18108         * modules/chown-tests (test_chown_LDADD):
18109         * modules/lchown-tests (test_lchown_LDADD):
18110         * modules/stat-time-tests (test_stat_time_LDADD):
18111         New macro.
18112         * modules/fchownat-tests (test_fchownat_LDADD):
18113         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
18114         * modules/futimens-tests (test_futimens_LDADD):
18115         * modules/utimens-tests (test_utimens_LDADD):
18116         * modules/utimensat-tests (test_utimensat_LDADD):
18117         Add $(LIB_NANOSLEEP).
18118         * modules/stat-time-tests (Files): Add tests/nap.h.
18119         * tests/nap.h: Include <limits.h>, for INT_MAX.
18120         (lt_mtime): Remove.
18121         (diff_timespec): New function.
18122         (get_stat): Rename from get_mtime.  All callers changed.
18123         (nap_works): Determine the needed delay by inspecting the
18124         file system's timestamp jumps; this should be more reliable.
18125         Look at both mtime and ctime, and take the maximum of the two jumps.
18126         (nap_works, guess_delay):
18127         Return a nanosecond count, not a microsecond count.
18128         All callers changed.
18129         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
18130         failure.
18131         (nap): Multiply the guess by 1.125, to accommodate the case where
18132         the file system's clock is a bit slower than nanosleep's clock.
18133         * tests/test-stat-time.c (BASE): New macro.
18134         Include nap.h.
18135         (nap): Remove; nap.h now defines this.  This removes a duplicate
18136         implementation of 'nap'.
18138         utimens, utimensat: work around Solaris UTIME_OMIT bug
18139         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
18140         Linux kernel 2.6.32 does.  Work around it in the same way.
18141         * doc/posix-functions/futimens.texi (futimens):
18142         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
18143         * lib/utimens.c (fdutimens, lutimens):
18144         * lib/utimensat.c (rpl_utimensat): Work around the bug.
18146         gettext: now it's your responsibility to add -I$(top_builddir)/intl
18147         Formerly, it was your responsibility to do this for all Makefile.ams
18148         other than Gnulib's.  Now it's your responsibility to do it for
18149         Gnulib's Makefile.am, too.
18150         * NEWS: Document this.
18151         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
18153         acl: include errno.h to get errno
18154         Reported by Daiki Ueno in
18155         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00073.html>.
18156         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
18158 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
18160         tests: don't assume getdtablesize () <= 10000000
18161         * modules/cloexec-tests:
18162         * modules/dup2-tests:
18163         * modules/dup3-tests:
18164         * modules/nonblocking-tests:
18165         * modules/posix_spawn_file_actions_addclose-tests:
18166         * modules/posix_spawn_file_actions_adddup2-tests:
18167         * modules/posix_spawn_file_actions_addopen-tests:
18168         * modules/unistd-safer-tests:
18169         Depend on the getdtablesize module.
18170         * tests/test-cloexec.c:
18171         * tests/test-dup-safer.c:
18172         * tests/test-dup2.c:
18173         * tests/test-dup3.c:
18174         * tests/test-fcntl.c:
18175         * tests/test-nonblocking.c:
18176         * tests/test-posix_spawn_file_actions_addclose.c:
18177         * tests/test-posix_spawn_file_actions_adddup2.c:
18178         * tests/test-posix_spawn_file_actions_addopen.c:
18179         Don't assume getdtablesize () <= 10000000.
18181 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
18183         extern-inline: work around bug in Sun c99
18184         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
18185         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
18187 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
18189         qacl: new module, broken out from the acl module
18190         This is for GNU Emacs, which wants the acl functions but does
18191         not want 'error' invoked when they fail.
18192         * lib/acl-internal.h: Do not include error.h, quote.h.
18193         (ENOSYS, ENOTSUP): Remove; no longer needed.
18194         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
18195         * lib/acl.h: Include <stdbool.h>.
18196         (acl_errno_valid): New function.
18197         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
18198         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
18199         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
18200         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
18201         (ACL_INTERNAL_INLINE): Remove; no longer needed.
18202         * lib/file-has-acl.c (file_has_acl):
18203         * lib/qcopy-acl.c (qcopy_acl):
18204         * lib/qset-acl.c (qset_acl):
18205         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
18206         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
18207         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
18208         lib/file-has-acl.c, m4/acl.m4 to qacl module.
18209         Add lib/set-acl.c.
18210         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
18211         Add qacl.
18212         (configure.ac): Move gl_FUNC_ACL to qacl module.
18213         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
18214         Rename set-mode-acl.c to set-acl.c.
18215         * lib/acl-errno-valid.c: New file.
18216         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
18217         copy_acl function remains in copy-acl.c.
18218         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
18219         (_): Remove; not needed.
18220         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
18221         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
18222         * modules/qacl: New file, moved from the old modules/acl.
18223         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
18224         Remove set-mode-acl.c, copy-acl.c.
18225         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
18227         alignof, intprops, malloca: port better to IBM's C compiler
18228         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
18229         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
18230         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
18232 2013-04-25  Daiki Ueno  <ueno@gnu.org>
18234         wctype-h: fix gettext link error on mingw
18235         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
18236         <https://lists.gnu.org/r/bug-gettext/2013-03/msg00086.html>.
18237         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
18238         rpl_towupper and rpl_towupper.
18240 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
18242         regex-tests, regex: allow glibc re_search behavior
18243         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
18244         re_search input data to make the multi-character collating element
18245         in it clearly visible, and treat re_search return code 0 as valid.
18246         * m4/regex.m4 (gl_REGEX): Likewise.
18248 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
18250         stdalign: doc fix
18251         * doc/posix-headers/stdalign.texi (stdalign.h):
18252         Gnulib doesn't support '_Alignof expr'.
18254 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
18256         stdalign: port to stricter ISO C11
18257         ISO C11 says that _Alignof's operand must be a parenthesized type.
18258         Problem reported by Eli Zaretskii in
18259         <http://lists.gnu.org/r/emacs-devel/2013-03/msg00960.html>.
18260         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
18261         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
18263 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
18265         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
18266         Problem reported by Marco Atzeri in
18267         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00000.html>.
18268         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
18269         Simply delegate to the system <sys/select.h> in this case too.
18270         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
18271         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
18272         be needed on Solaris either.
18273         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
18274         Simply delegate to the system <sys/time.h> in this case.
18276 2013-03-19  Karl Berry  <karl@gnu.org>
18278         * build-aux/gnupload: check for erroneous (with gnupload) use of
18279         ftp-upload.gnu.org, tweak help.
18281 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
18283         copy-file, rpmatch: fix problems found by cppcheck
18284         Reported by Arno Onken in
18285         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00069.html>.
18286         * lib/rpmatch.c (try): Fix memory leak.
18287         * lib/copy-file.c: Include "ignore-value.h".
18288         (qcopy_file_preserving): Ignore chown value.
18289         * modules/copy-file (Depends-on): Add ignore-value.
18291 2013-01-27  Jim Meyering  <jim@meyering.net>
18293         prefix-gnulib-mk: give better diagnostics
18294         * build-aux/prefix-gnulib-mk: Don't just "die".
18295         Give better diagnostics upon failure.
18297 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
18299         putenv: port to Solaris 10
18300         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
18301         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
18302         is not what is wanted here.
18303         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
18304         declaration, not for its existence.
18306 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
18308         mktime: fix configure typo
18309         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
18311 2013-03-12  Eric Blake  <eblake@redhat.com>
18313         regex-tests: skip UTF-8 test on mingw
18314         * modules/regex-tests (Depends-on): Add localcharset.
18315         * tests/test-regex.c (main): Use it to skip test on mingw.
18317 2013-03-11  Eric Blake  <eblake@redhat.com>
18319         tests: make it easier to bypass alarm time in debugger
18320         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
18321         * tests/test-memmem.c (main): Likewise.
18322         * tests/test-passfd.c (main): Likewise.
18323         * tests/test-ptsname.c (main): Likewise.
18324         * tests/test-ptsname_r.c (main): Likewise.
18325         * tests/test-strcasestr.c (main): Likewise.
18326         * tests/test-strstr.c (main): Likewise.
18328         regex: port to mingw's recent addition of undeclared alarm
18329         * doc/posix-functions/alarm.texi (alarm): Document that alarm
18330         exists but still doesn't work in newer mingw.
18331         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
18332         not existence.  Ensure SIGALRM is not trapped.
18333         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
18334         * m4/regex.m4 (gl_REGEX): Likewise.
18335         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
18336         * tests/test-regex.c (main): Use correct probe for alarm.
18338         putenv: avoid compilation warning on mingw
18339         * lib/putenv.c (_unsetenv): Protect variable declaration.
18340         (putenv): Fix indentation.
18342 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
18344         unistd: don't prevent Tru64 Unix from using gnulib strtod.
18345         * lib/unistd.in.h: be careful not to include un-needed system
18346         stdlib.h from here, because that prevents gnulib stdlib.h from
18347         defining rpl_strtod correctly.
18349 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
18351         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
18352         changesets, but for the 'precision 0' test.
18353         * tests/test-vasprintf-posix.c (test_function): Don't insist on
18354         round-to-even, since POSIX says rounding is implementation-defined
18355         and OS X 10.8.2 rounds 1.51 to 1 here.
18357         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
18358         changeset.
18359         * tests/test-vasprintf-posix.c (test_function): Don't insist on
18360         round-to-even, since POSIX says rounding is implementation-defined
18361         and OS X 10.8.2 rounds 1.5 to 1 here.
18363 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
18365         vasnprintf-posix-tests: allow rounding 1.5 to 1
18366         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
18367         round-to-even, since POSIX says rounding is implementation-defined
18368         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
18369         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00019.html>.
18371         bootstrap: port to FreeBSD
18372         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
18373         that treat '--' differently.  Reported by Mats Erik Andersson in
18374         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00012.html>.
18376 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
18378         regex: rename remaining __attribute calls to __attribute__.
18379         2012-02-25 changed definition of __attribute, but left some uses
18380         unchanged, preventing compilation of regex module on most non-gcc
18381         environments.
18382         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
18383         (lookup_collation_sequence_value, build_range_exp)
18384         (build_collating_symbol): Set attributes with newly renamed
18385         __attribute__ decorator.
18386         * lib/regex_internal.c (re_string_peek_byte_case)
18387         (re_node_set_compare, re_node_set_contains): Likewise.
18388         * lib/regexec.c (acquire_init_state_context): Likewise.
18390 2013-03-06  Bruno Haible  <bruno@clisp.org>
18392         execute: Revert last change, but use a different condition.
18393         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
18394         on Windows.
18396 2013-03-05  Eric Blake  <eblake@redhat.com>
18398         execute: drop dead code
18399         * lib/execute.c (nonintr_close, nonintr_open): Delete.
18401 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
18403         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
18404         * m4/non-recursive-gnulib-prefix-hack.m4
18405         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
18406         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
18407         <http://bugs.gnu.org/10305#237>.
18409 2013-03-04  Eric Blake  <eblake@redhat.com>
18411         test-getsockopt: avoid compiler warning
18412         * tests/test-getsockopt.c (includes): Ensure close is declared.
18414 2013-03-02  Bruno Haible  <bruno@clisp.org>
18416         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
18417         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
18419 2013-03-02  Bruno Haible  <bruno@clisp.org>
18421         gettext: Update to version 0.18.2.
18422         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
18423         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
18424                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
18426 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
18428         regex: merge patches from libc
18430         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
18431         * lib/regex_internal.h (__attribute__): Rename from __attribute.
18432         All uses changed.
18433         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
18434         (re_string_wchar_at, re_string_elem_size_at):
18435         Mark function as possibly unused.
18437         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
18438         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
18439         elements compare against the byte sequence of it, not its name.
18441 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
18443         putenv: port better to native Windows
18444         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
18445         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
18446         (_unsetenv): Use _putenv if available.
18447         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
18448         a bit less likely to cause damage.
18449         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
18450         Fix the wrong value with SetEnvironmentVariable.
18451         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
18452         code better.
18454 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
18456         regex: ignore old-style-definition warnings
18457         * lib/regex.c: Add pragma to ignore these warnings.
18458         Problem reported for GNU tar by Pavel Raiskup.
18460 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
18462         getcwd: support coreutils better
18463         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
18464         but this might not be correct in coreutils, which disables
18465         the raw decl checks.  Problem reported by Nagendra in
18466         <http://bugs.gnu.org/10305#192>.
18467         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
18468         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
18469         Test the getcwd function, not any macro, since getcwd.c wants the
18470         function.
18471         * m4/getcwd.m4 (gl_FUNC_GETCWD):
18472         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
18473         compile, as might happen if there's a macro but no function.
18475         strtod: support coreutils better
18476         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
18477         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
18478         disables the raw decl checks.  This assumes there is an underlying
18479         strtod, but that's a safe assumption these days.
18480         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
18482         mountlist: port to HP NonStop
18483         Reported by Joachim Schmitz in
18484         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00084.html>.
18485         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
18486         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
18488 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
18490         extern-inline: avoid compilation error with HP-UX cc
18491         Reported by Richard Lloyd in
18492         <http://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
18493         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
18494         Suppress extern inline with HP-UX cc.  This should be safe,
18495         though it may hurt performance.  Perhaps someone with some HP-UX
18496         experience can come up with a higher-performance fix.
18498 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
18500         putenv: fix heap corruption with mixed putenv/_putenv
18501         Problem reported by Michael Goffioul in
18502         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00061.html>.
18503         * lib/putenv.c (putenv) [HAVE__PUTENV]:
18504         Rely on _putenv to allocate the new environment.
18505         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
18506         * modules/putenv (configure.ac): Use it.
18508 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
18510         unsetenv etc.: port to Solaris 11 + GNU Emacs
18511         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
18512         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
18513         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
18514         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
18515         idea but is too painful to fix right now), and without this gnulib
18516         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
18517         compiling unsetenv.c on Solaris 11.  Fix the problem for
18518         unsetenv.c, and fix other similar occurrences.
18520 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
18522         secure_getenv: fix C++ declaration typo
18523         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
18524         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
18525         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00057.html>.
18527 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
18529         careadlinkat: stop exporting careadlinkatcwd
18530         Only Emacs used it directly, and Emacs no longer needs it.
18531         * NEWS: Document this simplification.
18532         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
18533         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
18534         for readlink.
18535         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
18536         Don't include stdlib.h; no longer needed.
18537         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
18538         * lib/relocwrapper.c: Adjust comment to match new dependencies.
18539         * modules/areadlink (Depends-on): Add readlink.
18540         (Maintainer): Add self.
18541         * modules/careadlinkat (Depends-on): Remove readlink.
18543         extensions: port better to HP-UX
18544         This is merged from git Autoconf.
18545         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
18546         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
18547         so that it's compatible with the value used when compiling.
18549         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
18550         Problem reported by Mats Erik Andersson in
18551         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00051.html>.
18552         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
18553         openpty function exists, not merely when we intend to replace it.
18554         This corrects the 2013-01-31 patch, which mistakenly defined
18555         HAVE_OPENPTY even on hosts that lacked it.
18557 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
18559         secure_getenv: fix include typo
18560         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
18562         secure_getenv: port better to FreeBSD and Solaris
18563         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
18564         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
18565         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
18566         This works better on BSDish platforms.
18567         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
18568         Test for issetugid if __secure_getenv is missing.
18570 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
18572         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
18573         Some of these changes are merged in from git Autoconf.
18574         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
18575         When deciding whether to define _XOPEN_SOURCE, inspect the
18576         preprocessor macro __hpux instead of the more-heavyweight
18577         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
18578         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
18579         as the key for __EXTENSIONS__.
18581         unistd: avoid namespace pollution on non-glibc systems
18582         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
18583         This avoids namespace pollution on non-glibc systems, by causing
18584         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
18585         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
18586         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00027.html>.
18588 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
18590         tmpdir: use secure_getenv
18591         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
18592         Define to secure_getenv, not getenv.
18593         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
18594         as that's now secure_getenv's job.
18595         * modules/tmpdir (Depends-on): Add secure_getenv.
18597         tempname: use secure_getenv
18598         * lib/tempname.c (__secure_getenv) [!_LIBC]:
18599         Define to secure_getenv, not getenv.
18600         * modules/tempname (Depends-on):
18601         Add secure_getenv.
18603         secure_getenv: new module
18604         * MODULES.html.sh (Extra functions based on ANSI C 89):
18605         Add secure_getenv.
18606         * doc/glibc-functions/secure_getenv.texi: New file.
18607         * doc/gnulib.texi: Include it.
18608         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
18609         New files.
18610         * lib/stdlib.in.h (secure_getenv): New decl.
18611         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
18612         * modules/stdlib (stdlib.h):
18613         Add secure_getenv checks.
18615 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
18617         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
18618         Reported for OS X 10.8.2 by Assaf Gordon in
18619         <http://bugs.gnu.org/13516>.
18620         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
18621         !HAVE_OPENAT && !HAVE_FDOPENDIR.
18622         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
18623         so that they can be kept in sync more easily.  Avoid PATH_MAX
18624         test on the Hurd.  Sync from test-getcwd.c for errno tests after
18625         mkdir or chdir failure.
18626         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
18627         lib/getcwd.c.
18628         (test_abort_bug): Do not test for the deep directory bug unless we
18629         have openat support.  Avoid PATH_MAX test on the Hurd.
18631         regex-tests, regex: fix bug: memset undeclared
18632         * tests/test-regex.c: Don't include regex.h twice.  Include
18633         string.h, to declare memset.  Christensen's report also mentioned
18634         this issue.
18635         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
18636         test-regex.c, to avoid future problems like this.  Remove
18637         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
18638         twice.
18640         regex-tests: fix link errors on older Solaris
18641         These need to link with @LIBINTL@ to get libintl_gettext.
18642         Problem reported by Tom G. Christensen in
18643         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00003.html>.
18644         * modules/regex-tests (test_regex_LDADD): New macro.
18646 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
18648         regex-tests: new module
18649         * modules/regex-tests, tests/test-regex.c: New files.
18651         regex: fix off-by-one error in configure test
18652         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
18654 2013-01-31  Eric Blake  <eblake@redhat.com>
18656         regex: avoid infinite configure test
18657         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
18659 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
18661         openpty: fix bug where HAVE_OPENPTY wasn't defined
18662         See the thread starting at:
18663         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00185.html
18664         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
18665         openpty function exists, not merely when we intend to replace it.
18667 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
18669         sys_time: port to Solaris 2.6
18670         There is a circularity problem on Solaris 2.6, where <time.h> includes
18671         <sys/time.h> for struct timespec.  The include nesting is gnulib
18672         <time.h>, system <time.h>, gnulib <sys/time.h>, system
18673         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
18674         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
18675         <sys/siginfo.h>; the last, innermost file needs struct
18676         timestruc_t, which is defined in <sys/time.h>, which has not been
18677         fully parsed.  Problem reported by Tom G. Christensen in
18678         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00113.html>.
18679         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
18680         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
18681         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
18682         uses split double-inclusion guards.
18684 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
18686         regex: test for buffer overrun
18687         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
18688         for the just-fixed regex bug.
18690 2013-01-29  Andreas Schwab  <schwab@suse.de>
18692         regex: fix buffer overrun in regexp matcher [BZ #15078]
18693         * lib/regexec.c (extend_buffers): Add parameter min_len.
18694         (check_matching): Pass minimum needed length.
18695         (clean_state_log_if_needed): Likewise.
18696         (get_subexp): Likewise.
18698 2013-01-28  Pádraig Brady  <P@draigBrady.com>
18700         mountlist: don't consider "devtmpfs" as dummy
18701         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
18702         as there is storage associcated with it.
18704 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
18706         futimens-tests, utimens-tests: Depend on gettext.
18707         This works around a problem introduced in my 2013-01-12 patch,
18708         which added @LIBINTL@ to these modules.
18709         * modules/futimens-tests (Depends-on):
18710         * modules/utimens-tests (Depends-on): Add gettext.
18712 2013-01-26  Eric Blake  <eblake@redhat.com>
18714         test-getpeername: fix typo
18715         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
18717 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
18719         bootstrap: remove the need for a sorted .gitignore file
18720         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
18721         rename to insert_if_absent(), so that we don't need or generate
18722         a sorted .gitignore file.  We do require a .gitignore with no
18723         existing duplicate entries and enforce that.
18724         (sort_patterns): Remove this function as we now use the simpler
18725         technigue of inserting blacklist entries at the top of the file,
18726         assuming gnulib won't be inserting !whitelist entries.
18728 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
18730         readlinkat: don't depend on gl_FUNC_OPENAT
18731         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
18732         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
18733         renameat.m4, symlinkat.m4; but one thing at a time.
18735         statat: new module, split out from fstatat
18736         GNU Emacs needs the POSIX-specified fstatat, but not the
18737         gnulib-specified statat and lstat.  Split the latter two into a
18738         new module 'statat'.
18739         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
18740         * lib/openat.h, lib/statat.c (STATAT_INLINE):
18741         Rename from FSTATAT_INLINE. All uses changed.
18742         * modules/fstatat (Files): Remove lib/statat.c.
18743         (gl_MODULE_INDICATOR([fstatat])): Remove.
18744         (lib_SOURCES): Remove.
18745         (Maintainer): Add self.
18746         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
18747         * tests/test-fstatat.c (BASE): Don't define if already defined.
18748         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
18750 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
18752         tests: don't assume fd 99 is closed
18753         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
18754         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
18755         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
18756         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
18757         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
18758         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
18759         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
18760         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
18761         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
18762         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
18763         * tests/test-fwrite.c, tests/test-getpeername.c:
18764         * tests/test-getsockname.c, tests/test-getsockopt.c:
18765         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
18766         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
18767         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
18768         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
18769         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
18770         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
18771         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
18772         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
18773         * tests/test-unlinkat.c, tests/test-unlockpt.c:
18774         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
18775         Close file descriptor 99, instead of assuming it's already closed.
18777 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
18779         stpncpy: port to OS X 10.8
18780         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
18781         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
18783 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
18785         unistd: port to recent mingw
18786         * lib/unistd.in.h: Remove special invocation convention for mingw,
18787         which breaks for the latest mingw version.  See John W. Eaton in
18788         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00100.html>.
18790         largefile: port better to Mac OS X 10.5
18791         This patch is backported from Autoconf git.
18792         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
18793         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
18794         with ino_t size being different for configuration time versus
18795         build/run time.  Problem reported by PHO in
18796         <http://lists.gnu.org/r/bug-autoconf/2013-01/msg00040.html>.
18798 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
18800         doc: clarify -Werror
18801         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
18802         clarify that it's intended for developers, not for ordinary builds,
18803         and mention --enable-gcc-warnings as one possible use.
18805 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
18807         stdint: fix build with Android's Bionic fox x86
18808         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
18809         was already included as _SSIZE_T_DEFINED_ might also be defined
18810         in include/machine/_types.h, which is included by stdio.h
18812 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
18814         net_if-tests: port to Solaris 7 + GCC 3.4.6
18815         Problem reported by Tom G. Christensen in
18816         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00091.html>.
18817         * tests/test-net_if.c (ni): Move to next the code that uses it,
18818         so that it's declared only if needed.
18820 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
18822         net_if-tests: port to older Solaris
18823         Problem reported by Tom G. Christensen in
18824         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
18825         * modules/net_if-tests (NET_IF_LIB): New substitution.
18826         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
18827         (HAVE_IF_NAMEINDEX): New C macro.
18828         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
18830         system-quote-tests: port to older Solaris
18831         Problem reported by Tom G. Christensen in
18832         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
18833         * tests/test-system-quote-child.c (fopen, fread): Undef.
18835         c-xvasprintf etc.: fix link errors on older Solaris
18836         These need to link with @LIBINTL@ to get libintl_gettext.
18837         Problem reported by Tom G. Christensen in
18838         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
18839         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
18840         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
18841         * modules/futimens-tests (test_futimens_LDADD):
18842         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
18844 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
18846         locale: port to Solaris 2.6 and 7 + GNU gettext
18847         * lib/locale.in.h: Just include_next <locale.h> when
18848         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
18849         when combining the localename module with GNU gettext 0.18.2.
18850         Problem reported by Tom G. Christensen in
18851         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00084.html>.
18853 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
18855         stdlib: port to Solaris 2.6
18856         Also, the code worked on Solaris 7 through 9 only by accident.
18857         Problem reported by Tom G. Christensen in
18858         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00059.html>.
18859         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
18860         simply include the system stdlib.h.
18861         * lib/getopt.in.h (__need_system_stdlib_h):
18862         * lib/pthread.in.h (__need_system_stdlib_h):
18863         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
18864         Define when including <stdlib.h>, to avoid problems at least for
18865         the pthread case on Solaris 2.6 and 7.  These .h files can get by
18866         with the system stdlib.h.
18868 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
18870         doc: update main copyright year
18871         * doc/gnulib.texi: Update copyright date.
18873         doc: improve ISO 8601 discussion
18874         * doc/parse-datetime.texi (Combined date and time of day items):
18875         Specify more carefully what formats are supported and what is
18876         done with excess precision.
18878 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
18880         doc: avoid small caps
18881         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
18882         they're more trouble than they're worth.  Suggested by Karl Berry
18883         in <http://bugs.gnu.org/13360>.
18885         regex: conform to strict C
18886         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
18887         From Aharon Robbins.
18889         gnulib-tool: fix incompatibility with autopoint 0.18.2
18890         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
18891         Problem reported by Tom G. Christensen in
18892         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00053.html>.
18894 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
18896         fprintftime: bring back and reword fwrite comment
18897         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
18899         stdio: remove now-unnecessary stdio.c
18900         Since stdio.in.h no longer uses inline functions, we no longer
18901         need to compile the extern versions.
18902         * lib/stdio.c: Remove.
18903         * modules/stdio (Files): Remove lib/stdio.c.
18904         (lib_SOURCES): Remove.
18906         unicodeio: depend on stdio, not ignore-value
18907         * lib/unicodeio.c: Do not include ignore-value.h.
18908         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
18909         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
18911         fprintftime: depend on stdio, not ignore-value
18912         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
18913         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
18914         since the stdio module arranges to silence that warning now.
18915         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
18917 2012-10-04  Simon Josefsson  <simon@josefsson.org>
18919         stdint-tests: Fix expanded-before-required-warning.
18920         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
18922 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
18924         fwrite: silence __wur only for older glibc versions
18925         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
18926         This will help us remove this workaround some time in the far future.
18928 2013-01-03  Eric Blake  <eblake@redhat.com>
18930         fwrite: silence __wur without using inline
18931         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
18932         just gcc, and in a way that avoids inline issues.
18933         * modules/stdio (Depends-on): Drop extern-inline.
18935 2013-01-03  Jim Meyering  <jim@meyering.net>
18937         update-copyright: avoid copyright notice date corruption
18938         Given a sequence of copyright year numbers in which the final
18939         one was a two-digit number that happened to be a substring of
18940         a preceding four-digit year number, we would mistakenly update
18941         the substring (from two- to four-digit) rather than the two-digit
18942         number at the end, which, combined with the addition of the current
18943         4-digit year number would yield two 5-digit year numbers, e.g.,
18944         here, it would convert the first "99" to "1999, 2013" rather than
18945         the final one:
18946           1991, 99
18947           11999, 20131, 1999
18948         * build-aux/update-copyright: Tighten a regexp.
18949         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
18950         Reported by Joseph Myers in
18951         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
18953 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
18955         regex: omit needless signed-pointer casts
18956         * lib/regcomp.c (build_charclass, build_charclass_op):
18957         Use char *, not unsigned char *, for class name and extra.
18958         The char values are always nonnegative so there's no need to
18959         insist on unsigned char * here, and using char * removes the need
18960         for casts.  Reported by Aharon Robbins in
18961         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
18963         regex: support Gawk, which never uses alloca
18964         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
18965         Do not include in this case.  Gawk doesn't supply a substitute
18966         alloca.h and doesn't need one.
18968         regex: port __libc_lock_define usage to C89
18969         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
18970         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
18971         does not conform to C89, as it has an empty macro argument.
18972         Reported by Aharon Robbins in
18973         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
18975 2013-01-01  Eric Blake  <eblake@redhat.com>
18977         maint: update all copyright year number ranges
18978         Run "make update-copyright".
18980         version-etc: bump copyright year reported in --version
18981         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
18983 2012-12-31  Eric Blake  <eblake@redhat.com>
18985         sigprocmask-tests: skip test if pid is unexpectedly large
18986         * tests/test-sigprocmask.c (main): Add range check.
18988         git-version-gen: avoid test -z portability glitch
18989         * build-aux/git-version-gen: Prefer portable test spelling, since
18990         git-version-gen is run on more than just developer machines.
18992 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
18994         git-version-gen: add --fallback option to use if git is not present
18995         * build-aux/git-version-gen: Add support for the new option --fallback,
18996         which comes into play when there is no $tarball_version_file and
18997         git is not working.
18998         (scriptversion): Update.
19000         maint.mk: handle missing git with more grace
19001         * top/maint.mk (no-submodule-changes, public-submodule-commit):
19002         Quietly proceed if git is not present.
19004 2012-12-31  Eric Blake  <eblake@redhat.com>
19006         dup2: work around cygwin bug
19007         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
19008         * lib/dup2.c (rpl_dup2): Work around it.
19009         * doc/posix-functions/dup2.texi (dup2): Document it.
19011 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
19013         regex: remove unnecessary dependency on localcharset.h
19014         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
19015         hasn't been needed for years.
19016         * modules/regex (Depends-on): Remove localcharset.
19018         regex: revert single-byte change
19019         * lib/regexec.c (check_node_accept_bytes): Revert previous change
19020         to this function.  This was alredy fixed in a different way, at
19021         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
19022         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
19023         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
19025         regex: simplify based on Gawk version
19026         * lib/regex_internal.c (re_dfa_add_node): Simplify.
19027         Reported by Aharon Robbins in
19028         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19030 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
19032         regex: check that pattern char is single-byte
19033         Reported by Aharon Robbins in
19034         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19035         * lib/regexec.c (check_node_accept_bytes):
19036         Return 0 if the pattern string has a multibyte character here.
19038         regex: implement rational ranges
19039         Reported by Aharon Robbins in
19040         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19041         * lib/regcomp.c (build_range_exp) [!_LIBC]:
19042         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
19043         Implement rational ranges.
19045         regex: avoid redefining __wctype
19046         Reported by Aharon Robbins in
19047         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19048         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
19049         #undef before defining.
19051         regex: port to hosts where malloc (0) == NULL
19052         Reported by Aharon Robbins in
19053         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19054         * lib/regex_internal.c (re_node_set_alloc):
19055         Don't assume that malloc (0) yields nonnull.
19056         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
19057         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
19058         * modules/regex (Files): Add m4/eealloc.m4.
19060         regex: port to C89
19061         Reported by Aharon Robbins in
19062         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19063         * lib/regcomp.c (init_word_char): Declaration before statement.
19065         regex: merge glibc changes
19066         Also, copy the license wording from glibc.  This simplifies
19067         merging changes.  gnulib-tool will change the wording to GPL as
19068         appropriate, when importing it to other packages.  The only
19069         glibc change made since the last merge, which needs merging, is:
19070         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
19071         * lib/regex_internal.h (gettext): Remove use of INTUSE.
19073         * users.txt: Add Emacs.
19075         doc: omit mention of version when not needed
19076         * doc/gnulib-intro.texi (Portability and Application Code):
19077         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
19078         Don't mention particular dates or versions when not necessary, so
19079         that the documentation won't go out of date so quickly.
19081         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
19083 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
19085         bootstrap: pass --force to autoreconf.
19086         * build-aux/bootstrap (AUTORECONFFLAGS): New.
19087         Add "--force" so that Automake's ylwrap and other such tools
19088         be updated at each bootstrap invocation.
19089         Use it.
19091 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
19093         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
19094         The earlier patch forgot to update one of the #if conditions, causing
19095         a problem on Debian testing i386 reported by Mats Erik Andersson
19096         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00124.html>.
19097         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
19098         (__argp_fmtstream_puts, argp_fmtstream_puts)
19099         (__argp_fmtstream_write, argp_fmtstream_write)
19100         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
19102         * doc/gnulib-readme.texi: Minor fixups.
19103         (Portability guidelines): Modernize URLs.  Remove some repetition.
19104         (Indent with spaces not TABs): Reword to avoid too-long lines.
19105         Remove some '@ifset standalone' stuff that isn't used.
19107         * doc/gnulib-readme.texi (Portability guidelines):
19108         ctype.h, not ctime.h.
19110         Correct name of POSIX.1-2001.
19111         * doc/posix-functions/fgetc.texi (fgetc):
19112         * doc/posix-functions/fgets.texi (fgets):
19113         * doc/posix-functions/fread.texi (fread):
19114         * doc/posix-functions/fscanf.texi (fscanf):
19115         * doc/posix-functions/getc.texi (getc):
19116         * doc/posix-functions/getchar.texi (getchar):
19117         * doc/posix-functions/scanf.texi (scanf):
19118         POSIX.1-2001, not POSIX-2001.
19120         doc: move README into manual
19121         * README: Move contents to new file doc/gnulib-readme.texi.
19122         Replace with a one-line summary.
19123         * doc/gnulib.texi (Brief Overview): New section,
19124         with old intro preface.  Include gnulib-readme.texi for contents.
19125         (Philosophy): Rename from "Introduction", since this
19126         section no longer introduces the rest.  Write a new preface.
19127         * doc/gnulib-readme.texi: New file, with the old contents of
19128         README texinfo-ized.  This way, the README info appears
19129         in the online and printed manual.
19131 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
19133         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
19134         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
19135         c_vasprintf() prototype.
19137 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
19139         c-vasprintf: Fix "empty declaration" warning reported by GCC.
19140         * lib/c-vasprintf.h: Remove stray semicolon.
19142 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
19144         gettext: avoid obsolete macro AM_PROG_MKDIR_P
19145         It is obsolete and is planned to be removed from Automake 1.14; see
19146         <http://lists.gnu.org/r/automake/2012-12/msg00029.html>.
19147         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
19148         (installdirs-data, installdirs-data-yes):
19149         Use $(MKDIR_P), not $(mkdir_p).
19150         * m4/intl.m4 (AM_INTL_SUBDIR):
19151         * m4/po.m4 (AM_PO_SUBDIRS):
19152         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
19154 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
19156         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
19157         On this platform, we are not optimizing but we are using
19158         the substitute for extern inlines, so compile as if
19159         C99-style extern inline, or a substitute, is available.
19160         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
19161         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
19162         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
19163         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
19164         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
19165         Declare as ARGP_FS_EI, not as extern.
19166         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
19167         (__option_is_short, _option_is_end, __option_is_end)
19168         [!_LIBC && __USE_EXTERN_INLINES]:
19169         Declare as ARGP_EI, not as extern.
19171 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
19173         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
19174         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
19175         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
19176         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
19177         ...), as the latter is fatal with older Autoconfs.
19178         Problem reported and fix suggested by Eric Blake in thread starting at
19179         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00097.html>.
19181 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
19183         AC_PROG_MKDIR_P: don't workaround if not buggy
19184         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
19185         Define only for Autoconf versions before 2.62.
19186         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
19187         undocumented m4_PACKAGE_VERSION, for consistency with the
19188         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
19189         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
19190         was introduced in 2.62.
19192 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
19194         New 'c-*printf' modules for formatted output in C locale.
19196         New module 'c-vasnprintf'.
19197         * modules/c-vasnprintf: New file.
19198         * lib/c-vasnprintf.c: New file.
19199         * lib/c-vasnprintf.h: New file.
19201         New module 'c-snprintf'.
19202         * modules/c-snprintf: New file.
19203         * modules/c-snprintf-tests: New file.
19204         * lib/c-snprintf.c: New file.
19205         * lib/c-snprintf.h: New file.
19206         * tests/test-c-snprintf.c: New file.
19207         * tests/test-c-snprintf.sh: New file.
19209         New module 'c-vsnprintf'.
19210         * modules/c-vsnprintf: New file.
19211         * modules/c-vsnprintf-tests: New file.
19212         * lib/c-vsnprintf.c: New file.
19213         * lib/c-vsnprintf.h: New file.
19214         * tests/test-c-vsnprintf.c: New file.
19215         * tests/test-c-vsnprintf.sh: New file.
19217         New module 'c-vasprintf'.
19218         * modules/c-vasprintf: New file.
19219         * modules/c-vasprintf-tests: New file.
19220         * lib/c-asprintf.c: New file.
19221         * lib/c-vasprintf.c: New file.
19222         * lib/c-vasprintf.h: New file.
19223         * tests/test-c-vasprintf.c  +: New file.
19224         * tests/test-c-vasprintf.sh: New file.
19226         New module 'c-xvasprintf'.
19227         * modules/c-xvasprintf: New file.
19228         * modules/c-xvasprintf-tests: New file.
19229         * lib/c-xasprintf.c: New file.
19230         * lib/c-xvasprintf.c: New file.
19231         * lib/c-xvasprintf.h: New file.
19232         * tests/test-c-xvasprintf.c: New file.
19233         * tests/test-c-xvasprintf.sh: New file.
19235 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
19237         argp: better 'inline'
19238         Use extern-inline module to declare extern inline functions.
19239         This avoids some bogus warning diagnostics.  Problem discovered
19240         when modifying GNU tar to use the manywarnings module.
19241         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
19242         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
19243         Define based on extern-inline.
19244         * modules/argp (Depends-on): Add extern-inline.
19246 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
19248         filemode, sys_stat: Handle MPX files a la AIX.
19249         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
19250         * lib/sys_stat.in.h (S_ISMPX): New macro.
19251         * tests/test-sys_stat.c: Add tests for MPX files.
19253 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
19255         x-to-1: honor $PERL
19256         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
19257         a chance to use his preferred version of Perl.  This is typically
19258         required by Darwin users whose default /usr/bin/perl does not have all
19259         the libraries required by help2man, and who need to use their MacPorts
19260         installation of Perl instead.
19262 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
19264         gnu-web-doc-update: add all the new files, even in new directories
19265         See http://lists.gnu.org/r/bug-gnulib/2012-12/msg00057.html
19266         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
19267         Use it.
19268         (main): Don't use cvsutils to get the list of unknown files,
19269         just add all the existing files and directories.
19271 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
19273         gnu-web-doc-update: improve --help
19274         * build-aux/gnu-web-doc-update: Move comments into --help.
19276 2012-12-07  Eric Wong  <normalperson@yhbt.net>
19278         mountlist: recognize more "dummy" file systems
19279         * lib/mountlist.c (ME_DUMMY_0):
19280         Add these dummy FS names to the list:
19281         - "debugfs" virtual filesystem for kernel debugging
19282         - "devpts" PTY slave filesystem
19283         - "devtmpfs" device filesystem on top of tmpfs/ramfs
19284         - "fusectl" control filesystem for FUSE
19285         - "mqueue" enumerates POSIX message queues
19286         - "rpc_pipefs" kernel <-> userspace bridge for NFS
19287         - "sysfs" is for exporting kernel objects
19288         - "devfs" device filesystem for Linux 2.4 and FreeBSD
19290 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
19292         extern-inline: avoid incompatibility with Darwin Libc
19293         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
19294         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
19295         Problem reported by Akim Demaille in
19296         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html>.
19298 2012-12-11  Simon Josefsson  <simon@josefsson.org>
19300         gnupload: Work with GnuPG using gpg-agent (for smartcards).
19301         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
19302         let it handle password prompting.
19304 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
19306         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
19307         * lib/canonicalize.c (canonicalize_filename_mode):
19308         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
19309         fetching the current directory.  Don't overrun the beginning of
19310         rpath if there's no slashes after the MS-Windows drive letter.
19312 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
19314         maint.mk: avoid extra forks
19315         * top/maint.mk (_cfg_mk): The GNU make manual documents that
19316         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
19317         So use that instead of "$(shell test -f FILE && echo FILE)".
19319 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
19321         vasnprintf: fix ASCII_ONLY typo
19322         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
19323         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
19324         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
19325         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
19326         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00021.html>.
19328 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
19330         list, oset, xlist, xoset: fix extern inline issue with C99
19331         This was introduced by my recent changes for 'inline'.
19332         Problem reported for gettext by Daiki Ueno in
19333         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00000.html>.
19334         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
19335         (gl_list_nx_create, gl_list_size, gl_list_node_value)
19336         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
19337         (gl_list_previous_node, gl_list_get_at)
19338         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
19339         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
19340         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
19341         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
19342         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
19343         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
19344         (gl_list_iterator_free, gl_sortedlist_search)
19345         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
19346         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
19347         (gl_sortedlist_remove):
19348         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
19349         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
19350         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
19351         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
19352         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
19353         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
19354         (gl_list_add_at, gl_sortedlist_add):
19355         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
19356         Wrap these extern decls inside "#if 0", because they are implemented
19357         as inline functions, and extern inline is not what's wanted here.
19358         It would simplify these .h files to remove the extern decls entirely,
19359         although a downside would be less-clear separation between
19360         specification and implementation.
19362 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
19364         sys_stat: no 'static inline'
19365         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
19366         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
19368         extern-inline: no 'static inline'
19369         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
19370         Do not require AC_C_INLINE.
19371         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
19372         'static inline', for older compilers.
19374         snippet/warn-on-use: no 'static inline'
19375         * build-aux/snippet/warn-on-use.h:
19376         Remove unnecessary 'inline' in comment.
19378         rbtree-list, rbtreehash-list: no 'static inline'
19379         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
19380         * lib/gl_anytree_list2.h (node_at):
19381         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
19382         (gl_oset_first, add_nodes_to_buckets):
19383         Now static, not static inline.
19385         regex: no 'static inline'
19386         * lib/regex_internal.c (calc_state_hash):
19387         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
19388         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
19389         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
19390         Now static, not static inline.
19391         (inline) [__GNUC__ < 3 && _LIBC]:
19392         Remove macro; no longer needed.
19394         xvasprintf: no 'static inline'
19395         * lib/xvasprintf.c (xstrcat):
19396         Now static, not static inline.
19397         * m4/xvasprintf.m4 (gl_XVASPRINTF):
19398         Do not require AC_C_INLINE.
19400         parse-datetime, parse-duration: no 'static inline'
19401         * lib/parse-datetime.y (to_uchar):
19402         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
19403         (scale_n_add):
19404         Now static, not static inline.
19405         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
19406         * modules/parse-duration (configure.ac):
19407         Do not require AC_C_INLINE.
19409         getaddrinfo: no 'static inline'
19410         * lib/getaddrinfo.c (validate_family):
19411         Now static, not static inline.
19412         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
19413         Do not require AC_C_INLINE.
19415         ftruncate, fts, lstat, openat, raise: no 'static inline'
19416         * lib/ftruncate.c (chsize_nothrow):
19417         * lib/fts.c (opendirat, diropen):
19418         * lib/lstat.c (orig_lstat):
19419         * lib/openat.c (orig_openat):
19420         * lib/raise.c (raise_nothrow):
19421         Now static, not static inline.
19422         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
19423         * m4/fts.m4 (gl_FUNC_FTS_CORE):
19424         * m4/lstat.m4 (gl_PREREQ_LSTAT):
19425         * m4/openat.m4 (gl_PREREQ_OPENAT):
19426         * m4/raise.m4 (gl_PREREQ_RAISE):
19427         Do not require AC_C_INLINE.
19429         fflush, stat: no 'static inline'
19430         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
19431         (clear_ungetc_buffer, disable_seek_optimization)
19432         (restore_seek_optimization, update_fpos_cache):
19433         * lib/stat.c (orig_stat):
19434         Now static, not static inline.
19435         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
19436         (update_fpos_cache):
19437         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
19438         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
19439         * m4/stat.m4 (gl_PREREQ_STAT):
19440         Do not require AC_C_INLINE.
19442         error, filevercmp: no 'static inline'
19443         * lib/error.c (is_open, flush_stdout):
19444         * lib/filevercmp.c (order):
19445         Now static, not static inline.
19446         * m4/error.m4 (gl_PREREQ_ERROR):
19447         * modules/filevercmp (configure.ac):
19448         Do not require AC_C_INLINE.
19450         dup, execute, fatal-signal, etc.: no 'static inline'
19451         * lib/dup.c (dup_nothrow):
19452         * lib/execute.c (nonintr_close, nonintr_open):
19453         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
19454         * lib/fopen.c (orig_fopen):
19455         * lib/freadseek.c (freadptrinc):
19456         * lib/freopen.c (orig_freopen):
19457         * lib/fstat.c (orig_fstat, fstat_nothrow):
19458         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
19459         (get_rusage_as_via_iterator):
19460         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
19461         * lib/getdtablesize.c (_setmaxstdio_nothrow):
19462         * lib/isatty.c (_isatty_nothrow):
19463         * lib/open.c (orig_open):
19464         * lib/read.c (read_nothrow):
19465         * lib/sigprocmask.c (signal_nothrow):
19466         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
19467         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
19468         * lib/wait-process.c (unregister_slave_subprocess):
19469         * lib/write.c (write_nothrow):
19470         Now static, not static inline.
19471         * lib/spawn-pipe.c (nonintr_open): Define only if
19472         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
19473         * m4/dup.m4 (gl_PREREQ_DUP):
19474         * m4/execute.m4 (gl_EXECUTE):
19475         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
19476         * m4/fopen.m4 (gl_PREREQ_FOPEN):
19477         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
19478         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
19479         * m4/fstat.m4 (gl_PREREQ_FSTAT):
19480         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
19481         * m4/isatty.m4 (gl_PREREQ_ISATTY):
19482         * m4/open.m4 (gl_PREREQ_OPEN):
19483         * m4/read.m4 (gl_PREREQ_READ):
19484         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
19485         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
19486         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
19487         * m4/wait-process.m4 (gl_WAIT_PROCESS):
19488         * m4/write.m4 (gl_PREREQ_WRITE):
19489         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
19490         Do not require AC_C_INLINE.
19492         c-strtod, memcoll, readutmp: no 'static inline'
19493         * lib/c-strtod.c (c_locale):
19494         * lib/memcoll.c (strcoll_loop):
19495         * lib/readutmp.c (desirable_utmp_entry):
19496         Now static, not static inline.
19497         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
19498         * m4/memcoll.m4 (gl_MEMCOLL):
19499         * m4/readutmp.m4 (gl_READUTMP):
19500         Do not require AC_C_INLINE.
19502         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
19503         * lib/arctwo.c (to_uchar):
19504         * lib/md4.c (set_uint32):
19505         * lib/md5.c (set_uint32):
19506         * lib/sha1.c (set_uint32):
19507         * lib/sha256.c (set_uint32):
19508         * lib/sha512.c (set_uint64):
19509         Now static, not static inline.  This is a bit simpler, and doesn't
19510         affect performance with GCC and default optimization.
19511         * m4/arctwo.m4 (gl_ARCTWO):
19512         * m4/md4.m4 (gl_MD4):
19513         * m4/md5.m4 (gl_MD5):
19514         * m4/sha1.m4 (gl_SHA1):
19515         * m4/sha256.m4 (gl_SHA256):
19516         * m4/sha512.m4 (gl_SHA512):
19517         Do not require AC_C_INLINE.
19519         cond, lock, thread: better 'inline'
19520         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
19521         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
19522         New macros.  Use them instead of static inline, for header functions.
19523         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
19524         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
19525         * lib/glthread/lock.c (gl_waitqueue_init)
19526         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
19527         * lib/glthread/thread.c (get_current_thread_handle):
19528         Change 'static inline' to 'inline'.
19529         * lib/glthread/cond.h, lib/glthread/thread.h:
19530         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19531         * m4/cond.m4 (gl_COND):
19532         * m4/lock.m4 (gl_PREREQ_LOCK):
19533         * m4/thread.m4 (gl_THREAD):
19534         Do not require AC_C_INLINE.
19535         * modules/cond, modules/thread (Depends-on): Add extern-inline.
19537         chdir-long, cycle-check, savewd: better 'inline'
19538         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
19539         (find_non_slash):
19540         * lib/cycle-check.c (is_zero_or_power_of_two):
19541         * lib/savewd.c (savewd_delegating):
19542         Change 'static inline' to 'inline'.
19543         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
19544         Replace all remaining uses of 'static inline' with it.
19545         * lib/savewd.h:
19546         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19547         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
19548         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
19549         * m4/savewd.m4 (gl_SAVEWD):
19550         Do not require AC_C_INLINE.
19551         * modules/savewd (Depends-on): Add extern-inline.
19553         base32, base64: no need for 'inline'
19554         * lib/base32.c (to_uchar, get_8, decode_8):
19555         * lib/base64.c (to_uchar, get_4, decode_4):
19556         Change 'static inline' to 'inline'.
19557         * m4/base32.m4 (gl_PREREQ_BASE32):
19558         * m4/base64.m4 (gl_PREREQ_BASE64):
19559         Do not require AC_C_INLINE.
19561         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
19562         * lib/gl_array_oset.c (gl_array_nx_add_at):
19563         (gl_array_remove_at):
19564         * lib/gl_linkedhash_list.c (hash_resize_after_add)
19565         (add_to_bucket, remove_from_bucket):
19566         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
19567         Change 'static inline' to 'static', as it's simpler to omit
19568         'inline' unless there's a significant performance advantage.
19570         list, oset, xlist, xoset, xsublist: simplify via extern inline
19571         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
19572         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
19573         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
19574         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
19575         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
19576         New macro.  Replace all uses of 'static inline' with it.
19577         [HAVE_INLINE]: Implement functions as *_INLINE functions,
19578         instead of as macros FOO that are defined to static inline
19579         functions FOO_inline.
19580         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
19581         * lib/gl_xsublist.c:
19582         Reimplement from scratch, by defining the corresponding *_INLINE
19583         macro and including the corresponding .h file.  This is simpler.
19584         * modules/list, modules/oset, modules/xlist, modules/xoset:
19585         (Files): Remove m4/gl_list.m4.
19586         (configure.ac): Remove gl_LIST.
19587         * m4/gl_list.m4: Remove.
19588         * modules/list, modules/oset, modules/xlist, modules/xoset:
19589         * modules/xsublist:
19590         (Depends-on): Depend on extern-inline, not inline.
19592         xalloc: better 'inline'
19593         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
19594         New macro.  Replace all uses of 'static inline' with it.
19595         (static_inline): Remove.
19596         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
19597         Let 'extern inline' do the work automatically, instead of doing
19598         it by hand.
19599         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
19600         Remove.  All uses removed.
19601         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
19603         gethrxtime: better 'inline'
19604         * lib/xtime.c: New file.
19605         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
19606         * lib/xtime.h (XTIME_INCLUDE):
19607         New macros.  Replace all uses of 'static inline' with them.
19608         * lib/gethrxtime.c (gethrxtime): Define only if
19609         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
19610         this source file is now always compiled, because of the extern inline.
19611         * lib/gethrxtime.h, lib/xtime.h:
19612         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19613         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
19614         if gethrtime works, as they're not needed in that case.
19615         (gl_XTIME): Do not require AC_C_INLINE.
19616         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
19617         compiled now.  Move the check into gl_GETHRXTIME.
19618         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
19619         (Depends-on): Add extern-inline.
19620         (configure.ac): gethrxtime is always compiled now.
19621         (lib_SOURCES): Add gethrxtime.c.
19623         wctype-h: better 'inline'
19624         * lib/wctype-h.c: New file.
19625         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
19626         New macro.  Replace all uses of 'static inline' with it.
19627         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19628         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
19629         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
19630         (Depends-on): Add extern-inline.
19632         unistd: better 'inline'
19633         * lib/unistd.c: New file.
19634         * lib/unistd.in.h (_GL_UNISTD_INLINE):
19635         New macro.  Replace all uses of 'static inline' with it.
19636         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19637         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
19638         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
19639         (Depends-on): Add extern-inline.
19641         sys_socket: better 'inline'
19642         * lib/sys_socket.c: New file.
19643         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
19644         New macro.  Replace all uses of 'static inline' with it.
19645         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19646         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
19647         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
19648         (Depends-on): Add extern-inline.
19650         stdio: better 'inline'
19651         * lib/stdio.c: New file.
19652         * lib/stdio.in.h (_GL_STDIO_INLINE):
19653         New macro.  Replace all uses of 'static inline' with it.
19654         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19655         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
19656         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
19657         (Depends-on): Add extern-inline.
19659         sigaction: better 'inline'
19660         * lib/sig-handler.c: New file.
19661         * lib/sig-handler.h (SIG_HANDLER_INLINE):
19662         New macro.  Replace all uses of 'static inline' with it.
19663         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19664         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
19665         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
19666         (Depends-on): Add extern-inline.
19668         selinux-h: better 'inline'
19669         * lib/se-context.c, lib/se-selinux.c: New files.
19670         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
19671         * lib/se-context.in.h (SE_CONTEXT_INLINE):
19672         New macro.  Replace all uses of 'static inline' with it.
19673         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19674         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
19675         New macro.  Replace all uses of 'static inline' with it.
19676         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19677         * modules/selinux-h (Files, lib_SOURCES):
19678         Add lib/se-context.c, lib/se-selinux.c.
19679         (Depends-on): Add extern-inline.
19680         (configure.ac): Do not require AC_C_INLINE.
19682         pthread: better 'inline'
19683         * lib/pthread.c: New file.
19684         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
19685         New macro.  Replace all uses of 'static inline' with it.
19686         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19687         * m4/pthread.m4 (gl_PTHREAD_CHECK):
19688         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
19689         * modules/pthread (Files): Add lib/pthread.c.
19690         (Depends-on): Add extern-inline.
19692         math: better 'inline'
19693         * lib/math.c: New file.
19694         * lib/math.in.h (_GL_MATH_INLINE):
19695         New macro.  Replace all uses of 'static inline' with it.
19696         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19697         * m4/math_h.m4 (gl_MATH_H):
19698         Do not require AC_C_INLINE.
19699         * modules/math (Files, lib_SOURCES):
19700         Add lib/math.c.
19701         (Depends-on): Add extern-inline.
19703         count-one-bits: better 'inline'
19704         * lib/count-one-bits.c: New file.
19705         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
19706         New macro.  Replace all uses of 'static inline' with it.
19707         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19708         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
19709         Do not require AC_C_INLINE.
19710         * modules/count-one-bits (Files, lib_SOURCES):
19711         Add lib/count-one-bits.c.
19712         (Depends-on): Add extern-inline.
19714         count-leading-zeros: better 'inline'
19715         * lib/count-leading-zeros.c: New file.
19716         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
19717         New macro.  Replace all uses of 'static inline' with it.
19718         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19719         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
19720         Do not require AC_C_INLINE.
19721         * modules/count-leading-zeros (Files, lib_SOURCES):
19722         Add lib/count-leading-zeros.c.
19723         (Depends-on): Add extern-inline.
19725         bitrotate: better 'inline'
19726         * lib/bitrotate.c: New file.
19727         * lib/bitrotate.h (BITROTATE_INLINE):
19728         New macros.
19729         Replace all uses of 'static inline' with them.
19730         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19731         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
19732         (Depends-on): Add extern-inline.
19733         (configure.ac): Do not require AC_C_INLINE.
19735 2012-11-20  Theophile Ranquet  <ranquet@lrde.epita.fr>
19737         maint.mk: avoid gratuitous failure
19738         Reported by Stefano Lattarini in
19739         <http://lists.gnu.org/r/bug-bison/2012-11/msg00022.html>
19740         * top/maint.mk (public-submodule-commit): Quote more safely.
19742 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
19744         canonicalize, canonicalize-lgpl: support MS-Windows file names
19745         See <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00074.html>
19746         for test cases, which it'd be nice to add at some point.
19747         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
19748         * lib/canonicalize.c (canonicalize_filename_mode):
19749         * lib/canonicalize-lgpl.c (__realpath):
19750         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
19751         slash is at the beginning of the file name.  Use ISSLASH, instead
19752         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
19753         the first character with '/'.  Test for
19754         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
19755         with a drive letter.
19756         * lib/canonicalize.c (SLASHES): New macro.
19757         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
19759 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
19761         fts: introduce FTS_VERBATIM
19762         * lib/fts_.h (FTS_VERBATIM): New bit flag.
19763         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
19764         * lib/fts.c (fts_open): Honor it.
19766 2012-11-09  Pádraig Brady  <P@draigBrady.com>
19768         getlogin-tests: allow errno == ENXIO
19769         * tests/test-getlogin.c (main): Skip tests if getlogin fails
19770         with errno == ENXIO (No controlling tty).
19771         getlogin_r-tests: Likewise. Also allow errno == ENOENT
19772         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
19773         with errno == ENOENT.  This was reported to happen in various
19774         situations on GNU/Linux.
19776 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
19778         getlogin-tests: allow errno == ENOENT
19779         * tests/test-getlogin.c (main): Skip tests if getlogin fails
19780         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
19781         when running a test in an Emacs shell buffer.
19783 2012-11-08  Jim Meyering  <jim@meyering.net>
19785         tests/nap.h: avoid warning about unused variable
19786         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
19788         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
19789         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
19790         white space before each of the special-cased file names, to avoid
19791         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
19792         in http://bugs.gnu.org/12830.
19794 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
19796         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
19797         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
19798         fails with errno == EBADF when fd is opened with O_PATH.
19799         Reported by Jim Meyering in
19800         <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00026.html>.
19801         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
19802         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
19804 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
19806         test-utimens: speed up by taking shorter naps
19807         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
19808         New functions.
19809         (nap): Use them, to do a better job of guessing the delay.
19810         On Fedora 17 with ext4 atop md atop hard disks, this made
19811         test-utimens run 10x faster, because the test napped for
19812         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
19813         <http://bugs.gnu.org/12820#11>.
19815 2012-11-07  Jim Meyering  <jim@meyering.net>
19817         mountlist.c: fix a compilation failure
19818         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
19819         I introduced while transforming commit v0.0-7683-g613bcb6
19821 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
19823         errno: port to LynxOS 178 2.2.2
19824         Problem reported by Joel Brobecker in
19825         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00088.html>.
19826         * doc/posix-headers/errno.texi (errno.h): Document this.
19827         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
19828         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
19829         Supply a string for EILSEQ.
19830         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
19832 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
19834         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
19835         Linux kernel 2.6.39 introduced O_PATH (see
19836         <http://lwn.net/Articles/433854/>) and this is a better fallback
19837         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
19838         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
19839         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
19840         * lib/fcntl.in.h (O_ACCMODE):
19841         * tests/test-fcntl-h.c (main):
19842         Do not reject O_ACCMODE merely because it has more than the
19843         minimal number of bits, as POSIX allows extensions here.
19845 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
19847         mountlist: do not classify a bind-mounted dir entry as "dummy"
19848         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
19849         the "none"-testing clause.
19850         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
19851         exception for bind-mounted directories.
19853 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
19855         quote: provide a means to escape strings with nul characters
19856         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
19857         (quote, quote_n): Rename formal arguments for consistency with
19858         quotearg.
19860 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
19862         test-raise: don't assume 199 is an invalid signal
19863         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
19865         sh-quote-tests: port to Solaris 9
19866         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
19867         Problem reported by Dagobert Michelsen in
19868         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00114.html>.
19870 2012-10-28  Jim Meyering  <jim@meyering.net>
19872         maint.mk: rename a new configurable variable
19873         * top/maint.mk (_gl_translatable_string_re): Rename from
19874         translation-markers: _gl_ prefix to insulate from user Makefile code,
19875         and the _re suffix to inform that it's a regular expression.
19877 2012-10-26  Eric Blake  <eblake@redhat.com>
19879         maint.mk: let packages tweak sc_po_check pattern
19880         * top/maint.mk (sc_po_check): Add translation-markers, to allow
19881         finding files with other translation markers.
19883 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
19885         euidaccess: speed up 'configure' on GNU hosts
19886         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
19887         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
19888         it's needed only in this case.  Use AC_CHECK_DECLS, not
19889         AC_CHECK_DECLS_ONCE.
19890         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
19891         or AC_REQUIRE for AC_FUNC_GETGROUPS.
19893         * lib/regexec.c (re_search_internal): Fix grammar in comment.
19895 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
19897         fchmodat, fchownat, fstatat: port to non-inlining compilers
19898         Problem reported for FreeBSD 9 by Jim Meyering in
19899         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00070.html>.
19900         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
19901         New files, which define FCHMODAT_INLINE etc.
19902         * lib/fchmodat.c (FCHMODAT_INLINE):
19903         * lib/fchownat.c (FCHOWNAT_INLINE):
19904         * lib/fstatat.c (FSTATAT_INLINE):
19905         Remove, as chmodat.c etc. now do this.
19906         * modules/fchmodat (Files): Add lib/chmodat.c.
19907         * modules/fchownat (Files): Add lib/chownat.c.
19908         * modules/fstatat (Files): Add lib/statat.c.
19910 2012-10-15  Jim Meyering  <jim@meyering.net>
19912         fchmodat.c, fchownat.c: compile-impeding typos
19913         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
19914         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
19915         Introduced in commit v0.0-7636-gd202279.
19917 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
19919         fcntl-h: support GNU flags like O_IGNORE_CTTY
19920         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
19921         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
19922         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
19923         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
19924         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
19925         Define to 0 if not already defined.
19926         * tests/test-fcntl-h.c: Test these new flags.
19928 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
19930         faccessat, etc.: support AT_FDCWD-only use
19931         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
19932         this function only if its first argument is AT_FDCWD.
19933         Emacs wants faccessat for AT_EACCESS but not for any first-arg
19934         values other than AT_FDCWD, so it doesn't want all the openat
19935         machinery with fchdir etc.
19936         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
19937         * modules/fstatat, modules/mkdirat, modules/openat (Files):
19938         * modules/unlinkat (Files):
19939         Remove lib/openat-priv.h, as at-internal supplies this file.
19940         Removing this file here allows us to support programs like Emacs
19941         that avoid at-internal.
19943         faccessat: speed up 'configure' on mainstream hosts
19944         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
19945         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
19946         since it's only on unusual platforms that we need to check for
19947         'access', and it's better not to slow 'configure' down on all
19948         platforms.
19950         faccessat: port to Solaris 10
19951         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
19952         Needed on Solaris 10, which doesn't have AT_EACCESS,
19953         so we need the Gnulib fcntl.h, which defines it.
19955 2012-10-14  Pádraig Brady  <P@draigBrady.com>
19956         canonicalize: fix C89 compilation
19957         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
19958         declarations so C89 is supported.  Also remove the comment
19959         referencing memorty allocation as the suggested feature could
19960         not be implemented as suggested.
19961         Reported by Michael Goffioul.
19963 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
19965         group-member: omit unnecessary dependencies
19966         This is for Emacs, which has its own allocator and where we
19967         don't want to use xalloc.
19968         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
19969         since we no longer use xmalloc.  Do not include stdbool.h, since
19970         the changes below happen to remove the only use of bool.
19971         (GROUPBUF_SIZE): New constant.
19972         (struct group_info): Remove n_groups member.  Add groupbuf member.
19973         This lets us get the groups without using malloc, usually.
19974         (free_group_info, get_group_info): Adjust to this.
19975         (get_group_info): Return the number of groups found, or -1 on error.
19976         Use plain malloc not xmalloc, and treat its failure as if there
19977         are no groups, as the user already loses in case of error.
19978         (group_member): Simplify, based on changes to get_group_info.
19979         * modules/group-member (Depends-on): Remove dependencies on
19980         xalloc and stdbool.  Add dependency on xalloc-oversized.
19982 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
19984         gethrxtime: port to C++
19985         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
19987 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
19989         ptsname: fix macro-name typo
19990         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
19992 2012-10-03  Simon Josefsson  <simon@josefsson.org>
19994         inttostr: Relax license.
19995         * modules/inttostr (License): Change from LGPL to LGPLv2+.
19997 2012-10-03  Eric Blake  <eblake@redhat.com>
19999         ptsname_r: support ptys returned by FreeBSD posix_openpt
20000         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
20001         lives in /dev/pts/.
20003 2012-10-02  Eric Blake  <eblake@redhat.com>
20005         pselect: reject invalid file descriptors
20006         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
20007         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
20008         * modules/pselect (Depends-on): Add dup2.
20009         * doc/posix-functions/pselect.texi (pselect): Document this.
20011         select: reject invalid file descriptors
20012         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
20013         * lib/select.c (rpl_select) [!win32]: Work around it.
20014         * modules/select (Depends-on): Add dup2.
20015         * doc/posix-functions/select.texi (select): Document this.
20017         select: enhance test
20018         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
20019         New functions.
20020         (test_function): Enhance test.
20021         (do_select_bad_fd): Avoid any stale errno values.
20023         ptsname: reject invalid file descriptors
20024         http://www.austingroupbugs.net/view.php?id=503
20025         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
20026         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
20027         * modules/stdlib (Makefile.am): Replace witness.
20028         * lib/stdlib.in.h (ptsname): Allow for replacement.
20029         * modules/ptsname (configure.ac): Trigger replacement.
20030         * doc/posix-functions/ptsname.texi (ptsname): Document this.
20032 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
20034         hash-pjw-bare: new module
20035         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
20036         * lib/hash-pjw-bare.h: Likewise.
20037         * modules/hash-pjw-bare: New file.
20038         * MODULES.html.sh (Misc): Add it.
20040 2012-10-02  Eric Blake  <eblake@redhat.com>
20042         manywarnings: cater to more gcc infelicities
20043         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
20044         -Wuninitialized without -O.
20046 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
20048         select, poll tests: Make setsockopt invocation effective.
20049         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
20050         the bind() call.
20051         * tests/test-select.h (open_server_socket): Likewise.
20053 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
20055         sockets, sys_stat: restore AC_C_INLINE
20056         This undoes the 2012-09-22 patch.
20057         * m4/sockets.m4 (gl_SOCKETS):
20058         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
20059         Restore AC_C_INLINE, since MSVC requires __inline or _inline
20060         and does not support plain 'inline'.  Reported by Bruno Haible in
20061         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00183.html>.
20063 2012-09-30  Bruno Haible  <bruno@clisp.org>
20065         localeconv tests: Avoid test failure on OpenIndiana.
20066         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
20067         skip the 'grouping' and 'mon_grouping' tests.
20068         Reported by Jim Meyering.
20070 2012-09-30  Bruno Haible  <bruno@clisp.org>
20072         havelib: Follow libtool developments.
20073         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
20074         Suggested by Simon Josefsson.
20076 2012-09-29  Jim Meyering  <meyering@redhat.com>
20078         fstatat.c: fix a compile-impeding typo
20079         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
20080         Introduced in commit v0.0-7636-gd202279.
20081         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
20083 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
20085         extern-inline: provide a -Wundef safe config.h
20086         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
20087         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
20088         to produce a -Wundef warning free config.h.
20090 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
20092         hash-pjw: relax license to LGPLv2+
20093         * modules/hash-pjw (License): Relax, with consent of author.
20095 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
20097         maint.mk: fix strict vs. lazy variable issues with RELEASE
20098         * top/maint.mk (_equal): New function.
20099         (member_check): Strip the result to avoid spurious spaces.
20100         (url_dir_list): Do not use ifeq, which is strict, as it will
20101         require RELEASE_TYPE to be defined.
20102         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
20103         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
20104         (announcement_Cc_alpha,announcement_mail_headers_alpha)
20105         (announcement_Cc_beta,announcement_mail_headers_beta)
20106         (announcement_Cc_stable,announcement_mail_headers_stable): these.
20107         (release): Do not depend on $(release-type), as it forces its
20108         evaluation.  Bounce to it.
20110 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
20112         maint.mk: formatting changes
20113         * top/maint.mk: Indent bodies of if's.
20115 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
20117         maint.mk: factor the validation of RELEASE_TYPE
20118         With help from Jim Meyering.
20119         http://lists.gnu.org/r/bug-gnulib/2012-09/msg00132.html
20120         * top/maint.mk (_empty, _sp): Move their definition earlier.
20121         (member-check, release-type): New.
20122         Use the latter instead of $(RELEASE_TYPE).
20123         Remove now useless local checks.
20125 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
20127         maint.mk: provide "make upload" to ease uploading
20128         See
20129         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00028.html>.
20130         Do not depend simply on the current $(VERSION), as there may have been
20131         new commits since the tarball generation.  Rather, rely on $(RELEASE),
20132         as "make release-commit" already does.
20134         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
20135         "make TYPE".
20137         * top/maint.mk (upload_command, upload, release): New.
20138         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
20139         (VERSION): first word of $(RELEASE) is always right.
20140         (emit_upload_commands): Adjust.
20141         * top/README-release: Update.
20143 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
20145         maint.mk: silent rules
20146         With help from Stefano Lattarini.
20147         * top/maint.mk (writable-files): Use $(AM_V_GEN).
20148         (announcement): Use $(AM_V_at).
20150 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
20152         localename: port gl_locale_name_thread_unsafe to FreeBSD
20153         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
20154         and use the simpler FreeBSD implementation on Mac OS X as well.
20155         Original idea suggested by Ed Maste in
20156         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00094.html>.
20158 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
20160         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
20161         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
20162         * lib/mbuiter.c, lib/xsize.c: New files.
20163         * lib/binary-io.h (BINARY_IO_INLINE):
20164         * lib/eealloc.h (EEALLOC_INLINE):
20165         * lib/mbfile.h (MBFILE_INLINE):
20166         * lib/mbiter.h (MBITER_INLINE):
20167         * lib/mbuiter.h (MBUITER_INLINE):
20168         * lib/xsize.h (XSIZE_INLINE):
20169         New macros.
20170         Replace all uses of 'static inline' with them.
20171         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20172         * m4/eealloc.m4 (gl_EEALLOC):
20173         * m4/mbfile.m4 (gl_MBFILE):
20174         * m4/mbiter.m4 (gl_MBITER):
20175         * m4/xsize.m4 (gl_XSIZE):
20176         Do not require AC_C_INLINE.
20177         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
20178         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
20179         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
20180         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
20181         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
20182         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
20183         * modules/binary-io, modules/eealloc, modules/mbfile:
20184         * modules/mbiter, modules/mbuiter:
20185         (Depends-on): Add extern-inline.
20187         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
20188         * lib/pipe-filter-aux.c: New file.
20189         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
20190         Replace all uses of 'static inline' with it.
20191         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20192         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
20193         (filter_retcode): No real need for inline here.
20194         * modules/pipe-filter-gi, modules/pipe-filter-ii:
20195         (Files): Add lib/pipe-filter-aux.c.
20196         (Depends-on): Add extern-inline.
20197         (configure.ac): Do not require AC_C_INLINE.
20198         (lib_SOURCES): Add pipe-filter-aux.c.
20200         fdutimensat: omit unnecessary AC_C_INLINE
20201         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
20203         fchmodat, fchownat, fstatat: use extern-inline
20204         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
20205         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
20206         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
20207         New macros.
20208         * lib/openat.h:
20209         Replace all uses of 'static inline' with them.
20210         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20211         * modules/fchmodat, modules/fchownat, modules/fstatat:
20212         * modules/openat-h:
20213         (Depends-on):
20214         Add extern-inline.
20215         (configure.ac): Remove AC_C_INLINE.
20217         acl, mbchar, priv-set: use extern-inline
20218         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
20219         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
20220         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
20221         New macros.
20222         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
20223         Replace all uses of 'static inline' with it.
20224         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20225         * m4/acl.m4 (gl_FUNC_ACL):
20226         * m4/mbchar.m4 (gl_MBCHAR):
20227         * m4/priv-set.m4 (gl_PRIV_SET):
20228         Remove AC_C_INLINE, since 'inline' is no longer used directly.
20229         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
20230         Add extern-inline.
20232         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
20233         * m4/sockets.m4 (gl_SOCKETS):
20234         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
20235         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
20236         environments where it's already guaranteed to work, so we needn't
20237         check for it at 'configure'-time.
20239         tls-tests: omit unnecessary 'inline'
20240         * tests/test-tls.c (perhaps_yield): No longer inline.
20241         Simplicity and portability trump efficiency in test cases.
20243         utimens-tests: avoid unnecessary 'inline'
20244         * modules/fdutimensat-tests (configure.ac):
20245         * modules/futimens-tests (configure.ac):
20246         * modules/utimens-tests (configure.ac):
20247         * modules/utimensat-tests (configure.ac):
20248         Remove AC_C_INLINE.
20249         * tests/test-utimens-common.h (ctime_compare):
20250         No longer inline.  Simplicity and portability trump efficiency here.
20252         misc: don't limit commentary to inline functions
20253         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
20254         * lib/xalloc-oversized.h, lib/xsize.h:
20255         Contrast macros to functions in general, not just to inline functions,
20256         when the commentary does not apply only to inline functions.
20258 2012-09-20  Jim Meyering  <meyering@redhat.com>
20260         non-recursive-gnulib-prefix-hack: new module
20261         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
20262         the file that originated in Bison.
20263         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
20264         largely copied from a snippet that resided in bison's configure.ac.
20265         * modules/non-recursive-gnulib-prefix-hack: New file.
20266         * MODULES.html.sh (Support for maintaining and releasing projects):
20267         Add it.
20269 2012-09-18  Jim Meyering  <meyering@redhat.com>
20271         maint.mk: generalize _gl_tight_scope for non-recursive make
20272         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
20273         that *.h would describe additional .h files in the directory
20274         specified by $(_gl_TS_dir).  I.e., add this...
20275         (_gl_TS_other_headers): New variable.
20277         maint.mk: exempt trailing blanks found in "binary" files
20278         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
20279         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
20280         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
20282 2012-09-17  Jim Meyering  <meyering@redhat.com>
20284         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
20285         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
20286         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
20287         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
20289 2012-09-17  Jim Meyering  <meyering@redhat.com>
20291         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
20292         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
20293         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
20294         It is not in the same category as "exit (0)" or "exit (1)", and
20295         besides, I know of no symbolic name for that 77.  Reported by
20296         Richard W.M. Jones in
20297         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
20299 2012-09-17  Jim Meyering  <meyering@redhat.com>
20301         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
20302         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
20303         all uses of #define, not just those that start in column 1.
20304         Richard W.M. Jones reported a false positive in
20305         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
20307 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
20309         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
20310         * lib/localcharset.c (locale_charset) [DARWIN7]:
20311         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
20312         as these two values are incompatible.  Problem reported by Max Horn.
20313         For more discussion, please see
20314         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00061.html>.
20316         doc: document sticky-EOF issue
20317         * doc/posix-functions/fgetc.texi (fgetc):
20318         * doc/posix-functions/fgets.texi (fgets):
20319         * doc/posix-functions/fread.texi (fread):
20320         * doc/posix-functions/fscanf.texi (fscanf):
20321         * doc/posix-functions/getc.texi (getc):
20322         * doc/posix-functions/getchar.texi (getchar):
20323         * doc/posix-functions/scanf.texi (scanf):
20324         Mention that glibc and default Solaris do not conform to
20325         C99 and POSIX-2001 or later, with respect to how getchar
20326         etc. behave when feof reports nonzero.
20328 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
20330         poll: fix poll(0, NULL, msec)
20331         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
20332         but nfd is 0.  In that case poll should behave like select.
20334 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
20335             Paolo Bonzini  <bonzini@gnu.org>
20337         poll: fix for systems that can't recv() on a non-socket
20338         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
20339         is readable.  In this case POLLHUP will not be supported.
20340         * doc/posix-functions/poll.texi: Document this.
20342 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
20344         poll/select: document portability problems not fixed by Gnulib.
20345         * doc/posix-functions/poll.texi: poll does not work well on
20346         pipes under Windows.  It has the same limitations as select on
20347         BeOS.
20348         * doc/posix-functions/select.texi: select does not work well
20349         on pipes under Windows.
20351 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
20353         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
20354         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
20355         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
20356         <http://lists.gnu.org/r/bug-tar/2012-07/msg00018.html>.
20358 2012-09-06  Eric Blake  <eblake@redhat.com>
20360         net_if: give more details about the bug being fixed
20361         * doc/posix-headers/net_if.texi: Add clarification.
20363 2012-09-05  Eric Blake  <eblake@redhat.com>
20365         net_if: new module
20366         * modules/net_if: New module, borrowing ideas from netinet_in.
20367         * m4/net_if_h.m4: New file.
20368         * lib/net_if.in.h: Likewise.
20369         * doc/posix-headers/net_if.texi (net/if.h): Document it.
20370         * MODULES.html.sh (lacking POSIX:2008): Likewise.
20371         * tests/test-net_if.c: Make function checks conditional.
20372         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
20374 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
20376         readutmp: fix non-portable UT_PID use
20377         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
20378         Use `UT_PID (u) > 0' as absolute condition.
20380 2012-09-04  Jim Meyering  <meyering@redhat.com>
20382         fts: reduce two or more trailing spaces to just one, usually
20383         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
20384         or more slashes, trim all but the final one.  But if a name consists
20385         solely of two slashes, don't modify it.  If it consists solely of
20386         three or more slashes, strip all but one.
20388         This is part of the solution to a minor problem with rm:
20389         it would print a bogus ELOOP diagnostic when failing to remove
20390         the slash-decorated name of a symlink-to-directory:
20392             $ mkdir d && ln -s d s && env rm -r s/
20393             rm: cannot remove 's': Too many levels of symbolic links
20395         With the change below and a trivial don't-trim-trailing-slashes
20396         adjustment to remove.c, it does this:
20398             $ env rm -r s/
20399             rm: cannot remove 's/': Not a directory
20401         Improved by: Eric Blake
20403         fts: when there is no risk of overlap, use memcpy, not memmove
20404         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
20406 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
20408         stdbool: be more compatible with mixed C/C++ compiles
20409         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
20410         Define to bool, true, false, respectively, as GCC's builtin
20411         stdbool.h does.  Problem reported by Michael Goffioul in
20412         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00143.html>.
20414 2012-08-28  Jim Meyering  <meyering@redhat.com>
20416         revert last change: it was not needed
20417         * tests/test-vc-list-files-git.sh: There's already a test for
20418         a working git, just below.
20420 2012-08-28  Jim Meyering  <meyering@redhat.com>
20422         tests: test-vc-list-files-git.sh: skip if git is not available
20423         * tests/test-vc-list-files-git.sh: Skip this test when git is
20424         not available.
20426 2012-08-26  Bruno Haible  <bruno@clisp.org>
20428         gnulib-tool: Remove no-op option --no-changelog.
20429         * gnulib-tool (func_usage): Don't mention --no-changelog.
20430         (do_changelog): Remove variable.
20431         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
20433 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20435         doc: remove fdl-1.2.texi
20436         It is no longer used or maintained, and its use of @acronym
20437         is problematic.  See the thread containing
20438         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00134.html>.
20439         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
20440         * doc/old-licenses/fdl-1.2.texi: Remove.
20442         execinfo: port to FreeBSD
20443         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
20444         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
20445         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00113.html>.
20446         * modules/execinfo (Link): Add $(LIB_EXECINFO).
20448 2012-08-23  Jim Meyering  <meyering@redhat.com>
20450         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
20451         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
20452         to placate gcc's -Wold-style-declaration.
20454 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20456         doc: do not use @acronym
20457         * doc/inet_ntoa.texi (inet_ntoa):
20458         * doc/parse-datetime.texi (Seconds since the Epoch)
20459         (Specifying time zone rules):
20460         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
20461         Don't use @acronym.  Problem reported by John Darlington in
20462         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00124.html>.
20464 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
20466         stdnoreturn: port to newer GCCs
20467         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
20468         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
20469         Problem reported by Jim Meyering in
20470         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00121.html>.
20471         Also, rename the 'test' function to a void a clash with the
20472         already-supplied 'main' function; this fixes a bug that incorrectly
20473         rejected GCC 4.7.1's <stdnoreturn.h>.
20474         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
20475         Document GCC problem.
20477 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
20479         pipe-filter: fix comment typo
20480         * lib/pipe-filter.h: Mention correct function.
20482 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
20484         execinfo: new module
20485         This is for Emacs.  Currently, it provides a no-effect stub
20486         on all platforms where it does not already work.
20487         It already works on glibc-based systems, and on Solaris 11.
20488         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
20489         New files.
20490         * doc/glibc-headers/execinfo.texi (execinfo.h):
20491         * MODULES.html.sh (Misc): Document it.
20493 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
20495         extern-inline: support old GCC 'inline'
20496         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
20497         if available.  This applies to GCC versions 2.7 through 4.2, or
20498         when newer GCC is using -fgnu89-inline.  The goal is to address
20499         some of the performance issues mentioned by Bruno Haible in
20500         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00097.html>.
20502 2012-08-20  Eric Blake  <eblake@redhat.com>
20504         maint.mk: avoid redundant file name in message
20505         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
20506         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
20507         (sc_makefile_path_separator_check): Remove bogus $(ME).
20509 2012-08-20  Mike Frysinger  <vapier@gentoo.org>
20511         timer-time: fix link order when static linking on glibc
20512         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
20513         _after_ -lrt so that it's significant.
20515 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
20517         timespec: omit unnecessary AC_C_INLINE
20518         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
20520         stat-time: omit unnecessary AC_C_INLINE
20521         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
20522         Do not require AC_C_INLINE.
20524         ignore-value: omit unnecessary AC_C_INLINE
20525         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
20527         sys_select: avoid 'static inline'
20528         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
20530         mktime: avoid 'static inline'
20531         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
20532         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
20534 2012-08-19  Bruno Haible  <bruno@clisp.org>
20536         gnulib-tool: Improve coding style.
20537         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
20538         func_emit_lib_Makefile_am.
20539         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
20541 2012-08-19  Bruno Haible  <bruno@clisp.org>
20543         gnulib-tool: Fix indentation.
20544         * gnulib-tool (func_import): Fix indentation.
20546 2012-08-19  Bruno Haible  <bruno@clisp.org>
20548         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
20549         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
20550         on the list of removed files.
20552 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
20554         test-parse-datetime: avoid glibc leap-second glitch
20555         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
20556         with the 2012 rules.  Problem reported by Bruce Dubbs in
20557         <http://bugs.gnu.org/12206>.
20559 2012-08-14  Bruno Haible  <bruno@clisp.org>
20561         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
20562         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
20563         from argument.
20564         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
20566 2012-08-14  Eric Blake  <eblake@redhat.com>
20568         ldexp: relax license
20569         * modules/ldexp (License): Trivial relax, since the module only
20570         provides a permissively licensed m4 file.
20572 2012-08-13  Bruno Haible  <bruno@clisp.org>
20574         gnulib-tool: Fix persistence of --witness-c-macro option.
20575         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
20576         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
20578 2012-08-11  Eric Blake  <eblake@redhat.com>
20580         count-leading-zeros: use a lookup table on non-gcc compilers
20581         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
20582         alternate implementation, suggested by Jim Meyering.
20584 2012-08-10  Eric Blake  <eblake@redhat.com>
20586         count-leading-zeros: new module
20587         * modules/count-leading-zeros: New module.
20588         * m4/count-leading-zeros.m4: New file.
20589         * lib/count-leading-zeros.h: Likewise.
20590         * modules/count-leading-zeros-tests: New test.
20591         * tests/test-count-leading-zeros.c: New file.
20592         * MODULES.html.sh (Integer arithmetic functions): Document it.
20594 2012-08-07  Simon Josefsson  <simon@josefsson.org>
20595             Jim Meyering  <meyering@redhat.com>
20597         maintainer-makefile: Fix syntax error with dash.
20598         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
20599         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
20601 2012-08-05  Jim Meyering  <meyering@redhat.com>
20603         extern-inline: also ignore -Wmissing-declarations
20604         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
20605         required with gcc-4.8.0-to-be.
20607         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
20608         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
20609         for /error ?([^,]*)/.  This avoids false-positives for strings like
20610         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
20612 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
20614         gnumakefile: better interaction with Automake-NG
20615         * modules/gnumakefile [Makefile.am]: The makefiles generated by
20616         Automake-NG always contain a definition of VPATH, even in non-VPATH
20617         builds (its value being simply '.' in that case).  So, in the
20618         'clean-GNUmakefile' rule, to determine whether running under a
20619         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
20620         '$(VPATH)' expands to the empty string.
20622 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
20624         base64: Use extern C scope in header file, for C++.
20625         * lib/base64.h: Add C++ namespace protection.
20627 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
20629         stat-time, timespec, u64: support naive out-of-dir builds
20630         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
20631         Use '#include "foo.h"', not '#include <foo.h>', when including
20632         one's own interface.  This works better when configuring with
20633         out-of-directory builds, since packages need not add an
20634         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
20636 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
20638         utimens: use extern-inline
20639         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
20640         * lib/utimens.h: Add copyright notice, since this is now large enough
20641         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20642         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
20643         * modules/utimens (Depends-on): Add extern-inline.
20645         u64: use extern-inline
20646         * lib/u64.c: New file.
20647         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20648         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
20649         * modules/u64 (Files): Add lib/u64.c.
20650         (Depends-on): Add extern-inline.
20651         (configure.ac): No need to require AC_C_INLINE, since extern-inline
20652         does that now.
20653         (lib_SOURCES): Add u64.c.
20655         timespec: use extern-inline
20656         * lib/timespec.c: New file.
20657         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20658         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
20659         * modules/timespec (Files): Add lib/timespec.c.
20660         (Depends-on): Add extern-inline.
20661         (lib_SOURCES): Add timespec.c.
20663         stat-time: use extern-inline
20664         * lib/stat-time.c: New file.
20665         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20666         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
20667         * modules/stat-time (Files): Add lib/stat-time.c.
20668         (Depends-on): Add extern-inline.
20669         (lib_SOURCES): Add stat-time.c.
20671         extern-inline: new module
20672         * modules/extern-inline, m4/extern-inline.m4: New files.
20673         This is for better support of 'extern inline' a la ISO C99,
20674         with a portable alternative on compilers that do not support
20675         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
20676         of the Emacs executable, when compiled with debugging disabled,
20677         which is a typical way that Emacs is built while developing.
20679 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
20681         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
20682         * build-aux/do-release-commit-and-tag: Move variable definitions
20683         together.
20684         ($branch): Instead of defaulting to "master", default to the current
20685         branch (as gnu-web-doc-update does).
20686         (help): Display the current values of the option arguments.
20687         * top/maint.mk (release-commit): New.
20688         * top/README-release: Simplify the corresponding step.
20690 2012-07-30  Eric Blake  <eblake@redhat.com>
20692         passfd: fix comment on recvfd
20693         * lib/passfd.c (recvfd): Fix comment.
20694         Reported by Jann Horn <jannhorn@googlemail.com>.
20696 2012-07-30  Jim Meyering  <meyering@redhat.com>
20698         maint.mk: avoid a sub-shell
20699         * top/maint.mk (release-prep): Remove unneeded sub-shell.
20701 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
20703         maint.mk: use silent-rules support from Automake
20704         * top/maint.mk (news-check, vc-diff-check, announcement)
20705         (no-submodule-changes, alpha beta stable, release-prep)
20706         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
20708 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
20710         maint.mk: provide a web-manual-update target
20711         * top/maint.mk: here.
20712         * top/README-release: Use it to simplify the web manual update step.
20714 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
20716         README-release: shorten the circuit to post a news
20717         * top/README-release: Point directly to the news submission form.
20719 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
20721         gnu-web-doc-update: fix --help
20722         * build-aux/gnu-web-doc-update: The information "top level" was written
20723         twice.
20725 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
20727         maint.mk: absolute VPATH issue
20728         * top/maint.mk (release-prep): Help Git find .git/.
20729         From Jim Meyering.
20731 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
20733         gitlog-to-changelog: fix previous change
20734         * build-aux/gitlog-to-changelog: Fix condition.
20735         Add missing ";".
20737 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
20739         gitlog-to-changelog: don't expect .git to be in $srcdir
20740         Reported by Bruno Haible.
20741         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00265.html>
20742         * build-aux/gitlog-to-changelog (&git_dir_option): New.
20743         Use it.
20745 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
20747         maint.mk: absolute VPATH build fix
20748         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
20749         $(srcdir) is not a parent of $(builddir).
20751 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
20753         clean-temp: Fix memory leak.
20754         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
20755         'files' members of tmpdir.
20757 2012-07-27  Jim Meyering  <meyering@redhat.com>
20759         maint.mk: new rule: refresh-gnulib-patches
20760         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
20761         Use this rule to refresh them.
20762         * top/maint.mk (refresh-gnulib-patches): New rule.
20764 2012-07-24  Bruno Haible  <bruno@clisp.org>
20766         gnulib-tool: Fix handling of inctests variable.
20767         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
20768         Reported by Nick Bowler <nbowler@elliptictech.com>.
20770 2012-07-22  Bruno Haible  <bruno@clisp.org>
20772         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
20773         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
20774         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
20775         Remove exemption for getpass.h.
20776         Suggested by Eric Blake.
20778 2012-07-20  Eric Blake  <eblake@redhat.com>
20780         verify: document conflict with -Wnested-externs
20781         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
20783         maint.mk: forbid exit(-1)
20784         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
20786 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
20788         fsusage: port back to Solaris
20789         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
20790         error (fsd not declared) on Solaris 10.  Reported privately by
20791         Andrew Borodin.
20793 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
20795         gnu-web-doc-update: fix error messages
20796         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
20798         gnu-web-doc-update: check the requirements.
20799         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
20800         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
20801         * build-aux/bootstrap (find_tool): Comment change.
20803 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
20805         maint.mk: minor simplication.
20806         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
20807         for default values.
20809 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
20811         gitlog-to-changelog: VPATH build issues
20812         If builddir is not a subdirectory of srcdir, running git from it will
20813         fail.
20814         * build-aux/gitlog-to-changelog (--srcdir): New option.
20816 2012-07-15  Bruno Haible  <bruno@clisp.org>
20818         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
20819         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
20820         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
20821         Remove exemption for fpending.h.
20822         Suggested by Eric Blake.
20824 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
20826         pthread_sigmask: fix bug on FreeBSD 9
20827         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
20828         Include string.h.
20829         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
20830         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
20831         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
20832         but pthread_sigmask (1729, NULL, NULL) returns zero.
20833         See <http://bugs.gnu.org/11884>.
20834         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
20835         by inspecting whether the main call changed the old mask.
20837 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
20839         README-release: make it more legible
20840         * top/README-release: Improve typography slightly.
20842 2012-07-15  Jim Meyering  <meyering@redhat.com>
20844         maint: require that each sc_... command start with "@"
20845         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
20846         "make sc_maint" helps us avoid this nit.
20848 2012-07-15  Jim Meyering  <meyering@redhat.com>
20850         maint.mk: add leading "@" to quiet new "make syntax-check" rule
20851         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
20853 2012-07-13  Eric Blake  <eblake@redhat.com>
20855         maint.mk: new syntax check for HAVE_DECL checks
20856         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
20857         * cfg.mk
20858         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
20859         Exempt some false positives.
20860         Based on a report by Karel Zak.
20862         argp: make HAVE_DECL usage consistent
20863         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
20864         macros, not whether they are defined.
20865         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
20866         convention with other declaration checks.
20867         Reported by Karel Zak, with suggestions from Paul Eggert.
20869         stat-time: relax license to LGPLv2+
20870         * modules/stat-time (License): Relax, with consent of all authors.
20872         strndup: fix m4 usage error
20873         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
20874         defined, to either 0 or 1.
20875         Reported by Karel Zak.
20877 2012-07-11  Jim Meyering  <meyering@redhat.com>
20879         maint: enable the sc_avoid_if_before_free syntax-check rule
20880         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
20881         (if_before_free_offenders_): Define.
20882         (if_before_free_basename_re_): Define.
20883         Exempt current files with useless if-before-free.
20885 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
20887         gettext: do not assume '#define ... defined ...' behavior
20888         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
20889         Do not use '#define FOO ... defined BAR ...', as the C standard says
20890         it's not portable to expect that this works after macro expansion.
20891         Problem reported for gzip by Steven M. Schweda in
20892         <http://lists.gnu.org/r/bug-gzip/2012-07/msg00000.html>.
20894 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
20896         getloadavg: clean out old Emacs and Autoconf cruft
20897         See Glenn Morris in <http://bugs.gnu.org/11905>.
20898         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
20899         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
20900         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
20901         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
20903 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
20905         bootstrap: let warn be like tests/init.sh's warn_
20906         Reported by Jim Meyering.
20907         * build-aux/bootstrap (warn): Remove, replaced by...
20908         (warnf_, warn_): these.
20909         Adjust callers.
20910         Shorten messages that no longer fit in 80 columns.
20912 2012-07-09  Bruno Haible  <bruno@clisp.org>
20914         getopt: Simplify after Emacs changed.
20915         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
20916         (gl_GETOPT_IFELSE): Remove macro.
20918 2012-07-09  Jim Meyering  <meyering@redhat.com>
20920         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
20921         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
20923         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
20924         Bugs in both of those conspired to make the
20925         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
20926         _sc_search_regexp's handling of non-empty $in_files would filter
20927         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
20928         choice of in_files value meant there would be no match in most
20929         projects, due to the presence of two or more Makefile.in files.
20930         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
20931         Fix a bug in how a non-empty $$in_files was processed:
20932         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
20933         in spite of the name, it's a regexp, not a list of file names.
20935 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
20937         getloadavg, getopt: fix commentary re configure.in
20938         Autoconf is deprecating the name 'configure.in', so change it to
20939         to the new name 'configure.ac' in a couple of places.
20940         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
20941         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
20942         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
20943         Emacs has renamed it to configure.ac, and it no longer refers
20944         to these macros anyway.
20946         timespec: mark functions with const attributes
20947         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
20948         Mark with _GL_ATTRIBUTE_CONST.
20950 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
20952         canonicalize[-lgpl]: handle "guessing" values when cross-building
20953         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
20954         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
20955         matches "*yes" instead of just "yes".  Regression introduced in commit
20956         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
20958 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
20959             Bruno Haible  <bruno@clisp.org>
20961         canonicalize: make the right guess when cross-compiling to GNU
20962         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
20963         determine whether cross-compiling to glibc systems, so as to
20964         include GNU/Hurd.
20966 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
20968         timespec-sub: avoid duplicate include
20969         * lib/timespec-sub.c: Do not include <config.h> twice.
20970         Reported by Juanma Barranquero.
20972 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
20974         bootstrap: use a more consistent error reporting scheme
20975         * build-aux/bootstrap (warn, die): New.
20976         Use them.
20978 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
20980         sys_time: allow too-wide tv_sec
20981         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
20982         timeval even if tv_sec is wider than time_t.  This allows
20983         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
20984         as without this patch gnulib replaces struct timeval
20985         and OpenBSD futimes therefore has a type mismatch.
20986         * doc/posix-headers/sys_time.texi: Mention this.
20988         pthread: check for both pthread_create and pthread_join
20989         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
20990         alter the check so that it tests for both pthread_create and
20991         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
20992         Suggested by Bruno Haible and Richard Yao in
20993         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00048.html>.
20995         parse-datetime: doc tuneup
20996         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
20997         spacing issues.
20999 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
21001         do-release-commit-and-tag: fix the previous commit
21002         * build-aux/do-release-commit-and-tag: Actually the test was right,
21003         but the comment and the error message were misleading.
21004         Fix comment, and improve error message.
21005         Perform check first, so that NEWS is not modified uselessly.
21007         do-release-commit-and-tag: fix typo
21008         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
21009         _not_ start with a stub.
21011 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
21013         pthread: check for pthread_create, not pthread_join
21014         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
21015         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
21016         pthread_join in libc.  I hope this removes the need for all the
21017         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
21018         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00042.html>.
21020 2012-07-04  Jim Meyering  <meyering@redhat.com>
21022         parse-datetime: fix failure to diagnose invalid input
21023         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
21024         rather than diagnosing the invalid input.  Now it reports this:
21025         date: invalid date '\260'
21026         * lib/parse-datetime.y (to_uchar): Define.
21027         (yylex): Don't sign-extend "other" bytes.
21028         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
21029         Thanks to Bruno Haible for the patch to this file.
21030         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
21031         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
21033 2012-07-03  Jim Meyering  <meyering@redhat.com>
21035         bootstrap: do not require now-removed build-aux/missing
21036         Now that build-aux/missing is, er, missing, bootstrap would
21037         silently fail.
21038         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
21039         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
21040         no longer part of gnulib.
21041         Diagnose the failure.
21043 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
21045         alloca: add support for HP NonStop TNS/E native
21046         * lib/alloca.in.h (alloca): Support the new host.
21047         From a suggestion by Joachim Schmitz in
21048         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00355.html>.
21050 2012-07-02  Pádraig Brady  <P@draigBrady.com>
21052         fsusage: remove code not needed on non GNU/Linux systems.
21054         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
21055         Don't include headers no longer needed in this case.
21056         * lib/fsusage.c [STAT_STATVFS &&
21057         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
21058         STAT_STATFS2_FRSIZE to exclude code not used in this case.
21060 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
21062         fsusage: include files needed for glibc 2.6 fallback
21063         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
21064         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
21065         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
21066         Problem reported by Ludovic Courtès in
21067         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00005.html>.
21069         fsusage: avoid needless check on GNU/Linux
21070         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
21071         on GNU/Linux systems, since it can't possibly work.
21073 2012-07-01  Bruno Haible  <bruno@clisp.org>
21075         log: Fix an autoconf >= 2.64 warning.
21076         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
21077         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
21079 2012-06-28  Bruno Haible  <bruno@clisp.org>
21081         log10f: Fix possible configuration problem.
21082         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
21083         $LOGF_LIBM.
21084         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
21086 2012-06-28  Bruno Haible  <bruno@clisp.org>
21088         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
21089         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
21090         not gl_cv_func_unlink_works.
21091         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
21093 2012-06-27  Eric Blake  <eblake@redhat.com>
21095         config: drop scripts that automake says are not independent
21096         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
21097         * build-aux/elisp-comp: Delete.
21098         * build-aux/missing: Likewise.
21099         * build-aux/ylwrap: Likewise.
21100         * modules/elisp-comp: Likewise.
21101         * MODULES.html.sh: Drop mention of elisp-comp.
21102         * NEWS: Mention this.
21104 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
21106         root-uid: new module
21107         This is for portability to Tandem's NonStop Kernel.
21108         * lib/root-uid.h, modules/root-uid: New files.
21109         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
21110         * lib/write-any-file.c, tests/test-sethostname2.c:
21111         Include "root-uid.h".
21112         * lib/euidaccess.c (euidaccess):
21113         * lib/pt_chown.c (main):
21114         * lib/unlinkdir.c (cannot_unlink_dir):
21115         * lib/write-any-file.c (can_write_any_file):
21116         * m4/mknod.m4 (gl_FUNC_MKNOD):
21117         * tests/test-sethostname2.c (geteuid, main):
21118         Don't assume ROOT_UID == 0.
21119         * modules/euidaccess (Depends-on):
21120         * modules/pt_chown (Depends-on):
21121         * modules/sethostname-tests (Depends-on):
21122         * modules/unlinkdir (Depends-on):
21123         * modules/write-any-file (Depends-on):
21124         Add root-uid.
21126         regex: use locale-independent comparison for codeset name
21127         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
21128         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
21129         for codeset name.
21130         * lib/regex_internal.h: Do not include <strings.h>, since we
21131         no longer use strcasecmp.
21132         * modules/regex (Depends-on): Remove strcase.
21134 2012-06-23  Bruno Haible  <bruno@clisp.org>
21136         getopt-posix: No longer guarantee that option processing is resettable.
21137         * doc/posix-functions/getopt.texi: Drop description of problem with
21138         internal state. Fix info about mingw and msvc9.
21139         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
21140         option processing by getopt(). Run three test programs instead of one.
21141         Simplify cross-compilation guess.
21142         * NEWS: Mention the change.
21143         Reported by Rich Felker <dalias@aerifal.cx>.
21145 2012-06-26  Bruno Haible  <bruno@clisp.org>
21147         argp, regex: Ensure strcasecmp gets declared.
21148         * lib/argp-help.c: Include <strings.h>.
21149         * lib/regex_internal.h: Likewise.
21150         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
21152 2012-06-24  Bruno Haible  <bruno@clisp.org>
21154         ptsname_r: Make it consistent with ptsname on AIX.
21155         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
21156         implementation as for OSF/1.
21157         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
21158         a pty master.
21160         ptsname_r: Make it consistent with ptsname on OSF/1.
21161         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
21162         OSF/1.
21164 2012-06-24  Bruno Haible  <bruno@clisp.org>
21166         ttyname_r: Fix result on OSF/1, Solaris.
21167         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
21169 2012-06-24  Bruno Haible  <bruno@clisp.org>
21171         ptsname_r: Add support for Solaris.
21172         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
21173         Solaris.
21175         ptsname_r: Fix test failure on native Windows.
21176         * modules/ptsname_r (Depends-on): Add isatty.
21178         ptsname_r: Fix test failures on IRIX, Solaris.
21179         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
21180         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
21181         accordingly.
21182         * lib/ptsname_r.c: Include <fcntl.h>.
21183         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
21184         set errno if fd is invalid.
21185         * tests/test-isatty.c (main): Update comments.
21187 2012-06-24  Bruno Haible  <bruno@clisp.org>
21189         ptsname test: Extend test.
21190         * tests/test-ptsname.c: Include <errno.h>.
21191         (main): Test behaviour with invalid file descriptor.
21193 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
21195         time: fix obsolete comment
21196         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
21197         reference to HAVE_STRUCT_TIMESPEC in comment.
21199 2012-06-23  Bruno Haible  <bruno@clisp.org>
21201         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
21202         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
21203         does not handle abbreviated long options with equivalent
21204         disambiguations, set gl_replace_getopt to yes.
21205         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
21207 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
21209         time_r: fix typo that always overrode localtime_r decl
21210         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
21211         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
21212         not in a standard include.
21214 2012-06-22  Bruno Haible  <bruno@clisp.org>
21216         Write "Mac OS X" instead of "MacOS X".
21217         * README: Write "Mac OS X" instead of "MacOS X".
21218         * build-aux/bootstrap: Likewise.
21219         * build-aux/install-reloc: Likewise.
21220         * lib/acl-internal.h: Likewise.
21221         * lib/acl_entries.c: Likewise.
21222         * lib/argp-ba.c: Likewise.
21223         * lib/argp-pv.c: Likewise.
21224         * lib/config.charset: Likewise.
21225         * lib/copy-acl.c: Likewise.
21226         * lib/csharpexec.c: Likewise.
21227         * lib/euidaccess.c: Likewise.
21228         * lib/fbufmode.c: Likewise.
21229         * lib/fflush.c: Likewise.
21230         * lib/file-has-acl.c: Likewise.
21231         * lib/filemode.h: Likewise.
21232         * lib/fpurge.c: Likewise.
21233         * lib/freadable.c: Likewise.
21234         * lib/freadahead.c: Likewise.
21235         * lib/freading.c: Likewise.
21236         * lib/freadptr.c: Likewise.
21237         * lib/freadseek.c: Likewise.
21238         * lib/fseeko.c: Likewise.
21239         * lib/fseterr.c: Likewise.
21240         * lib/fsusage.c: Likewise.
21241         * lib/fwritable.c: Likewise.
21242         * lib/fwriting.c: Likewise.
21243         * lib/get-rusage-as.c: Likewise.
21244         * lib/get-rusage-data.c: Likewise.
21245         * lib/getdomainname.c: Likewise.
21246         * lib/idpriv-drop.c: Likewise.
21247         * lib/idpriv-droptemp.c: Likewise.
21248         * lib/localcharset.c: Likewise.
21249         * lib/locale.in.h: Likewise.
21250         * lib/localename.c: Likewise.
21251         * lib/mbsrtowcs-state.c: Likewise.
21252         * lib/nproc.c: Likewise.
21253         * lib/passfd.c: Likewise.
21254         * lib/posix_openpt.c: Likewise.
21255         * lib/printf-parse.c: Likewise.
21256         * lib/progreloc.c: Likewise.
21257         * lib/safe-read.h: Likewise.
21258         * lib/safe-write.h: Likewise.
21259         * lib/sched.in.h: Likewise.
21260         * lib/set-mode-acl.c: Likewise.
21261         * lib/signal.in.h: Likewise.
21262         * lib/stdint.in.h: Likewise.
21263         * lib/stdio-impl.h: Likewise.
21264         * lib/stdlib.in.h: Likewise.
21265         * lib/strtod.c: Likewise.
21266         * lib/sys_select.in.h: Likewise.
21267         * lib/tcgetsid.c: Likewise.
21268         * lib/unistd.in.h: Likewise.
21269         * lib/unlockpt.c: Likewise.
21270         * lib/vasnprintf.c: Likewise.
21271         * lib/vma-iter.c: Likewise.
21272         * lib/wcsrtombs-state.c: Likewise.
21273         * m4/acl.m4: Likewise.
21274         * m4/acosl.m4: Likewise.
21275         * m4/asinl.m4: Likewise.
21276         * m4/atanl.m4: Likewise.
21277         * m4/c-stack.m4: Likewise.
21278         * m4/cosl.m4: Likewise.
21279         * m4/expl.m4: Likewise.
21280         * m4/extensions.m4: Likewise.
21281         * m4/fdatasync.m4: Likewise.
21282         * m4/fmal.m4: Likewise.
21283         * m4/frexp.m4: Likewise.
21284         * m4/frexpf.m4: Likewise.
21285         * m4/frexpl.m4: Likewise.
21286         * m4/fsusage.m4: Likewise.
21287         * m4/getdomainname.m4: Likewise.
21288         * m4/getloadavg.m4: Likewise.
21289         * m4/getopt.m4: Likewise.
21290         * m4/gettext.m4: Likewise.
21291         * m4/gnulib-common.m4: Likewise.
21292         * m4/intdiv0.m4: Likewise.
21293         * m4/intlmacosx.m4: Likewise.
21294         * m4/largefile.m4: Likewise.
21295         * m4/ldexpl.m4: Likewise.
21296         * m4/link-follow.m4: Likewise.
21297         * m4/locale-ar.m4: Likewise.
21298         * m4/locale-fr.m4: Likewise.
21299         * m4/locale-ja.m4: Likewise.
21300         * m4/locale-tr.m4: Likewise.
21301         * m4/locale-zh.m4: Likewise.
21302         * m4/locale_h.m4: Likewise.
21303         * m4/lock.m4: Likewise.
21304         * m4/logl.m4: Likewise.
21305         * m4/mathfunc.m4: Likewise.
21306         * m4/minus-zero.m4: Likewise.
21307         * m4/mktime.m4: Likewise.
21308         * m4/mmap-anon.m4: Likewise.
21309         * m4/multiarch.m4: Likewise.
21310         * m4/nanosleep.m4: Likewise.
21311         * m4/nocrash.m4: Likewise.
21312         * m4/poll.m4: Likewise.
21313         * m4/printf-frexpl.m4: Likewise.
21314         * m4/printf.m4: Likewise.
21315         * m4/signbit.m4: Likewise.
21316         * m4/sinl.m4: Likewise.
21317         * m4/sqrtl.m4: Likewise.
21318         * m4/strerror_r.m4: Likewise.
21319         * m4/tanl.m4: Likewise.
21320         * m4/threadlib.m4: Likewise.
21321         * m4/ttyname_r.m4: Likewise.
21322         * m4/unlink.m4: Likewise.
21323         * m4/visibility.m4: Likewise.
21324         * m4/wcwidth.m4: Likewise.
21325         * tests/minus-zero.h: Likewise.
21326         * tests/test-alloca-opt.c: Likewise.
21327         * tests/test-copy-acl.sh: Likewise.
21328         * tests/test-copy-file.sh: Likewise.
21329         * tests/test-fdatasync.c: Likewise.
21330         * tests/test-file-has-acl.sh: Likewise.
21331         * tests/test-flock.c: Likewise.
21332         * tests/test-fsync.c: Likewise.
21333         * tests/test-localename.c: Likewise.
21334         * tests/test-malloca.c: Likewise.
21335         * tests/test-nonblocking-pipe.h: Likewise.
21336         * tests/test-nonblocking-socket.h: Likewise.
21337         * tests/test-openpty.c: Likewise.
21338         * tests/test-posix_openpt.c: Likewise.
21339         * tests/test-ptsname.c: Likewise.
21340         * tests/test-ptsname_r.c: Likewise.
21341         * tests/test-sameacls.c: Likewise.
21342         * tests/test-select.h: Likewise.
21343         * tests/test-set-mode-acl.sh: Likewise.
21344         * tests/test-snprintf-posix.h: Likewise.
21345         * tests/test-sprintf-posix.h: Likewise.
21346         * tests/test-strtod.c: Likewise.
21347         * tests/test-time.c: Likewise.
21348         * tests/test-vasnprintf-posix.c: Likewise.
21349         * tests/test-vasprintf-posix.c: Likewise.
21350         * doc/acl-resources.txt: Likewise.
21351         * doc/**/*.texi: Likewise.
21352         Reported by Max Horn <max@quendi.de>.
21354 2012-06-22  Bruno Haible  <bruno@clisp.org>
21356         grantpt: Relax requirement regarding invalid file descriptors.
21357         * lib/grantpt.c: Don't include <fcntl.h>.
21358         (grantpt): Don't verify the validity of the file descriptor.
21359         * modules/grantpt (Depends-on): Remove fcntl-h.
21360         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
21361         file descriptors.
21362         * doc/posix-functions/grantpt.texi: Document more platforms on which
21363         grantpt succeeds for invalid file descriptors.
21364         Reported by Rich Felker <dalias@aerifal.cx>.
21366 2012-06-22  Bruno Haible  <bruno@clisp.org>
21368         fbufmode test: Don't test unportable behaviour.
21369         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
21370         (main): Invoke it three times.
21371         Reported by Szabolcs Nagy <nsz@port70.net>
21372         and Rich Felker <dalias@aerifal.cx>.
21374 2012-06-21  Bruno Haible  <bruno@clisp.org>
21376         gnulib-tool: Refactor inctests variable.
21377         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
21378         (func_modules_transitive_closure,
21379         func_modules_transitive_closure_separately,
21380         func_import, func_create_testdir): Update.
21382         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
21383         * gnulib-tool: Accept option --without-tests.
21384         (func_usage): Document --without-tests option. Rearrange.
21385         (inctests): Normalize according to the mode.
21386         * NEWS: Mention the change.
21387         Suggested by Simon Josefsson.
21389 2012-06-21  Bruce Korb  <bkorb@gnu.org>
21391         parse-duration test: Avoid spurious output.
21392         * tests/test-parse-duration.sh: Reindent with leading tabs.
21394 2012-06-21  Jim Meyering  <meyering@redhat.com>
21396         maint: disable the strncpy prohibition
21397         * cfg.mk: Do not prohibit strncpy here.
21399 2012-06-21  Bruno Haible  <bruno@clisp.org>
21401         nonblocking: Avoid compilation error on mingw64.
21402         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
21403         fscanf.
21404         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
21405         * modules/vfscanf (configure.ac): Likewise.
21406         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
21407         definition only if stdio.h has prepared it.
21408         Reported by Daniel P. Berrange <berrange@redhat.com>.
21410 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
21412         gnulib-tool: Use readlink if it is available.
21413         * gnulib-tool (func_readlink): Choose function more appropriately.
21415 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
21417         posixtm-tests: port to buggy compiler
21418         Problem reported by Simon Josefsson in
21419         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00246.html>.
21420         * modules/posixtm-tests (Depends-on): Add stdint.
21421         * tests/test-posixtm.c (struct posixtm_test.t_expected):
21422         Now of type int_least64_t, not int64_t, both because that's
21423         what INT64_C returns and because int_least64_t works even
21424         on 72-bit hosts.
21425         (T): Use INT64_C on constants outside the traditional int range,
21426         to work around compiler bug noted by Simon.
21428         mktime: fix integer overflow in 'configure'-time test
21429         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
21430         after integer overflow.  Problem reported by Rich Felker in
21431         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00257.html>.
21432         Also, don't look for further instances of a bug if we've already
21433         found one instance; this helps 'configure' run faster.
21435 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
21437         tmpfile, clean-temp: Fix invocation of GetVersionEx.
21438         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
21439         GetVersionEx correctly.
21440         * lib/clean-temp.c (supports_delete_on_close): Likewise.
21442 2012-06-20  Bruno Haible  <bruno@clisp.org>
21444         fdopen: Allow implementations that don't reject invalid fd arguments.
21445         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
21446         succeeds.
21447         Reported by Rich Felker <dalias@aerifal.cx>.
21449 2012-06-20  Simon Josefsson  <simon@josefsson.org>
21451         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
21452         bring in LIBINTL.
21454 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
21456         init.sh: do not rely on autoupated PWD
21457         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
21458         <http://lists.gnu.org/r/bug-gzip/2012-06/msg00008.html>.
21459         Although Nelson's bug was not necessarily fixed by this patch,
21460         it seems wise to make the change for safety.
21461         * tests/init.sh (path_prepend_): Do not rely on PWD updating
21462         automagically after 'cd'; this is not reliable on older shells.
21463         (setup_): Fail if we cannot cd to temporary directory.
21465 2012-06-19  Bruno Haible  <bruno@clisp.org>
21467         stat, fstat: Avoid warnings on mingw64.
21468         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
21469         redefining.
21470         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
21471         Reported by Daniel P. Berrange <berrange@redhat.com>.
21473 2012-06-19  Bruno Haible  <bruno@clisp.org>
21475         stdioext: Add support for musl libc.
21477         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
21478         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
21480         * m4/fseterr.m4: New file.
21481         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
21482         function exists.
21483         * modules/fseterr (Files): Add m4/fseterr.m4.
21484         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
21485         __fseterr does not exist.
21486         (Makefile.am): Remove fseterr.c from lib_SOURCES.
21488         * lib/freadable.h: Update comment.
21490         * lib/fwritable.h: Update comment.
21492         * lib/freading.h: Update comment.
21494         * lib/fwriting.h: Update comment.
21496         * m4/freadahead.m4: New file.
21497         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
21498         that function exists.
21499         * modules/freadahead (Files): Add m4/freadahead.m4.
21500         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
21501         __freadahead does not exist.
21502         (Makefile.am): Remove freadahead.c from lib_SOURCES.
21504         * m4/freadptr.m4: New file.
21505         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
21506         function exists.
21507         * modules/freadptr (Files): Add m4/freadptr.m4.
21508         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
21509         __freadptr does not exist.
21510         (Makefile.am): Remove freadptr.c from lib_SOURCES.
21512         * m4/freadseek.m4: New file.
21513         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
21514         exists.
21515         * modules/freadseek (Files): Add m4/freadseek.m4.
21516         (configure.ac): Invoke gl_FUNC_FREADSEEK.
21518         * lib/fpurge.c (fpurge): Update comment.
21520         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
21522 2012-06-19  Bruno Haible  <bruno@clisp.org>
21524         *printf-posix: Put more info into config.log.
21525         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
21526         exit code into config.log.
21528 2012-06-19  Bruno Haible  <bruno@clisp.org>
21530         getopt-gnu: Fix exit code overflow in autoconf test.
21531         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
21532         to keep them below < 128.
21534 2012-06-17  Jim Meyering  <meyering@redhat.com>
21536         maint.mk: fix typo in code to derive GPG key at release time
21537         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
21539 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
21541         regex: avoid warning when pointers are not long
21542         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
21543         and uintptr_t, not long, for portability to hosts where pointers and
21544         long have different sizes.  Issue noted by Daniel P. Berrange in
21545         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00122.html>
21546         and fix suggested by Bruno Haible in
21547         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00128.html>.
21549 2012-06-17  Bruno Haible  <bruno@clisp.org>
21551         dummy: Relicense into the public domain.
21552         * modules/dummy (License): Set to "public domain".
21553         Suggested by Reuben Thomas.
21555 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
21557         announce-gen: VPATH issues
21558         * build-aux/announce-gen (--srcdir): New option, used to trim the
21559         $srcdir part of the path from $builddir to NEWS.
21560         * top/maint.mk (announcement): Adjust.
21562 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
21564         gnu-web-doc-update: VPATH builds
21565         * build-aux/gnu-web-doc-update (--builddir): New option.
21566         Revamp the handling of options.
21567         Prefer $(...) to `...`.
21568         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
21569         the template, and it is GNU mktemp specific.
21570         Prefer set -e to long series of &&.
21571         Restore the initial git branch, not "master".
21572         Properly initialize submodules (don't rely only on bootstrap).
21573         Do not reconfigure blindly, use config.status.
21574         * top/README-release: Update instructions for gnu-web-doc-update.
21576 2012-06-11  Jim Meyering  <meyering@redhat.com>
21578         maint.mk: revert most of the previous change re "all these"
21579         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
21580         For rationale, see the discussion at
21581         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
21583 2012-06-10  Karl Berry  <karl@gnu.org>
21585         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
21587         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
21589 2012-06-10  Bruce Korb  <bkorb@gnu.org>
21591         parse-duration: Relicense under LGPLv2+.
21592         * modules/parse-duration (License): Change to LGPLv2+.
21594 2012-06-10  Jim Meyering  <meyering@redhat.com>
21596         maint.mk: prohibit common grammar error: "all these"
21597         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
21598         the list of prohibited word sequences.  It should be "all of these".
21599         * lib/tempname.c (__gen_tempname): Fix one of them.
21601 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
21603         do-release-commit-and-tag: support VPATH builds
21604         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
21605         (noteworthy): Defined earlier to factor its value.
21606         (noteworthy_stub): New.
21607         Use it to factor.
21608         (help_version): Split into...
21609         (help, version): these.
21610         Adjust the option processing part.
21611         Support "--option=value" in addition to "--option value".
21612         (builddir): New.
21613         (--builddir): New option.
21614         * top/README-release: Document this.
21615         Reword slightly so that the reader cannot understand that he
21616         has to do these steps before calling do-release-commit-and-tag.
21618 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
21620         readme-release: also require announce-gen and maintainer-makefile
21621         * modules/readme-release (Depends-on): here.
21622         * modules/announce-gen, modules/do-release-commit-and-tag,
21623         modules/gnu-web-doc-update, modules/maintainer-makefile
21624         (Description): Point to readme-release.
21626 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
21628         maint.mk: fix VPATH issues.
21629         * top/maint.mk (news-check): GNU Make understand $< very well.
21630         (release-prep): NEWS is in $(srcdir).
21632 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
21634         readme-release: require the promoted modules.
21635         * modules/readme-release (Depends-on): Add
21636         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
21637         in this text.
21639 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
21640             Bruno Haible  <bruno@clisp.org>
21642         error, strerror-override: Support mingw64 from Fedora 17.
21643         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
21644         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
21645         EINPROGRESS.
21646         * lib/strerror-override.h (strerror_override): Test it.
21647         * lib/strerror-override.c (strerror_override): Likewise.
21648         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
21650 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
21651             Bruno Haible  <bruno@clisp.org>
21653         error, strerror-override: Support mingw64 from Fedora 17.
21654         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
21655         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
21656         * lib/strerror-override.h (strerror_override): Test it.
21657         * lib/strerror-override.c (strerror_override): Likewise.
21659 2012-06-03  Bruno Haible  <bruno@clisp.org>
21661         error, strerror-override: Support new errno values from POSIX:2008.
21662         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
21663         ENOTRECOVERABLE.
21664         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
21665         platforms.
21666         * lib/strerror-override.c (strerror_override): Conditionalize the
21667         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
21668         * lib/strerror-override.h (strerror_override): Declare also if
21669         GNULIB_defined_EOWNERDEAD is defined.
21670         * tests/test-errno.c (e130, e131): New variables.
21671         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
21672         ENOTRECOVERABLE.
21673         Reported by Paolo Bonzini.
21675 2012-05-31  Jim Meyering  <meyering@redhat.com>
21677         savewd: add missing dependency on sys_wait module
21678         * modules/savewd (Depends-on): Add sys_wait, needed at least
21679         for MSVC.  Report and suggested change by Michael Goffioul.
21681 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
21683         system-quote-tests: port to CentOS 5
21684         Problem reported by Tom G. Christensen in
21685         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00255.html>.
21686         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
21688 2012-05-29  Jim Meyering  <meyering@redhat.com>
21690         maint: fix typos in comments and ChangeLog
21691         Culprits identified and fixed mostly automatically using these commands:
21692         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
21693         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
21694         using http://github.com/lyda/misspell-check
21695         * ChangeLog: Fix typos.
21696         * doc/solaris-versions: Likewise.
21697         * lib/regexec.c (re_search_stub): Likewise.
21698         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
21700 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
21702         manywarnings: remove duplicate -Wmultichar entry
21703         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
21704         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
21705         so keep the entry marked as documented.
21707 2012-05-27  Karl Berry  <karl@gnu.org>
21709         * config/srclist.txt (mktime.c): remove last libc sync,
21710         perhaps just temporarily.
21712 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
21714         regex: don't assume uint64_t or uint32_t
21715         * lib/regcomp.c (init_word_char): Don't assume that the types
21716         uint64_t and uint32_t exist.  The C standard doesn't guarantee
21717         them, and on some 32-bit compilers there is no uint64_t.
21718         Problem reported by Gianluigi Tiesi in
21719         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00154.html>.
21721 2012-05-25  Jim Meyering  <meyering@redhat.com>
21723         maint.mk: add strncpy-prohibiting syntax-check rule
21724         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
21726 2012-05-24  Jim Meyering  <meyering@redhat.com>
21728         maint.mk: compute $(gpg_key_ID) more portably
21729         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
21730         That use of sed is not portable to some fringe systems.
21731         Reported by Paul Eggert in
21732         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
21734 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
21736         mktime: sync from glibc
21737         * config/srclist.txt: Uncomment mktime.c.
21738         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
21739         First, indent with tabs, since glibc uses tabs and doesn't want to
21740         change and we'd rather be identical to glibc.  Also, two small
21741         coding changes:
21742         (isdst_differ): Use &&, not &, as && is the usual style.
21743         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
21744         for clarity.
21746 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
21748         announce-gen: du -h is more portable than du --human
21749         * build-aux/announce-gen (sizes): Invoke du with -h instead
21750         of --human.  Accept leading white space in its output.
21752 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
21754         announce-gen: Improve diagnostics.
21755         * build-aux/announce-gen: When parsing command line options,
21756         prefer "announce-gen: option --release-type requires an argument"
21757         to "Option release-type requires an argument".
21759 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
21761         maint.mk: gpg_key_ID: use sed more portably
21762         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
21763         the closing brace.
21764         (refresh-po): Fuse two sed invocations into one.
21766 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
21768         gitlog-to-changelog: support the log message format used in Bison.
21769         * build-aux/gitlog-to-changelog: Support --strip-tab and
21770         --strip-cherry-picked.
21772 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
21774         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
21775         the rest of the current time slice to another thread in the current
21776         process. So if the thread that feeds the file decscriptor we're
21777         polling is not in the current process, we get busy-waiting.
21778         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
21779         Patch from Theodore Leblond.
21780         * lib/select.c: Split polling out of the loop that sets the output
21781         fd_sets.  Check for zero result and loop if the wait timeout is
21782         infinite.
21784 2012-05-21  Simon Josefsson  <simon@josefsson.org>
21786         select: Fix build error on IRIX 6.5.
21787         * lib/select.c: Include stddef.h for NULL.
21789 2012-05-21  Simon Josefsson  <simon@josefsson.org>
21791         gc: fix libgcrypt detection on older machines.
21792         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
21793         copyright years because the file has been distributed every year
21794         since it was created.
21796 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
21798         crypto: fix bug in large buffer handling
21799         Problem reported by Serge Belyshev for glibc in
21800         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
21801         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00226.html>.
21802         * lib/md4.c (md4_process_block):
21803         * lib/md5.c (md5_process_block):
21804         * lib/sha1.c (sha1_process_block):
21805         * lib/sha256.c (sha256_process_block):
21806         Don't assume the buffer length is less than 2**32.
21807         * lib/sha512.c (sha512_process_block): Likewise.
21808         Here, the bug is present only in the rare case where the host does
21809         not support uint64_t or where size_t is wider than 64 bits.
21810         Use u64size to work around the problems.
21811         * lib/u64.h (u64size): New macro.
21813 2012-05-15  Pádraig Brady  <P@draigBrady.com>
21815         fsusage: fix block size returned on older Linux 2.6
21817         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
21818         which is available since Linux 2.6.
21819         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
21820         when the member is available so it can be used as a fallback.
21821         * doc/posix-functions/statvfs.texi: Mention the hang issue
21822         on Linux < 2.6.36.
21824 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
21826         bootstrap: suppress stderr chatter
21827         * build-aux/bootstrap (insert_sorted_if_absent, main program):
21828         Omit unnecessary chatter to stderr.  The main program chatter
21829         was there only inadvertantly.
21831         bootstrap: .gitignore files created by autopoint, libtool
21832         I ran into this problem when bootstrapping the latest diffutils.
21833         After './bootstrap', 'git status' reported lots of untracked files
21834         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
21835         autopoint and do not need to be version-controlled.
21836         * build-aux/bootstrap: Put into .gitignore the files that
21837         autopoint and libtool create, by keeping track of files that exist
21838         after but not before these programs are run.
21839         (version_controlled_file): Move up.  2nd arg is now full file
21840         name, not base name; this is more convenient.  Put CVS at the end,
21841         as it's now somewhat deprecated.
21843 2012-05-14  Jim Meyering  <meyering@redhat.com>
21845         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
21846         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
21847         definition.  Reported by Bruno Haible.
21849 2012-05-13  Bruno Haible  <bruno@clisp.org>
21850             Paul Eggert  <eggert@cs.ucla.edu>
21852         binary-io: Define set_binary_mode function.
21853         * lib/binary-io.h (set_binary_mode): New function.
21854         (SET_BINARY): Define in terms of set_binary_mode.
21855         * modules/binary-io (configure.ac): Require AC_C_INLINE.
21856         * tests/test-binary-io.c (main): Accept an argument, and test either
21857         set_binary_mode or SET_BINARY depending on the argument.
21858         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
21859         argument. Clean up also t-bin-out0.tmp.
21861 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
21863         bootstrap: take advantage of POSIX shell features
21865         The 'bootstrap' script offered by Gnulib script already uses POSIX
21866         shell features (like $((...)) arithmetic expansions) that are not
21867         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
21868         means that bootstrap must already be run using a proper POSIX shell,
21869         which will thus provide more features, like ${var#pattern} parameter
21870         expansion or inversion of a command exit status with '!'.  We can
21871         thus use these features to improve the clarity and the performances
21872         of the bootstrap script.
21874         Suggested by Eric Blake.
21876         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
21877         of sed/expr plus command substitutions, to save some forks.  While
21878         we are at it, prefer the POSIX $(...) form of command substitution,
21879         rather than the legacy form `...` (since the former is visually
21880         clearer and interacts better with quoting), and prefer the idiom:
21881           "if ! CMD; then ACTION ..."
21882         over the idiom:
21883           "if CMD; then :; else ACTION ..."
21884         which was required by legacy Bourne shells not supporting '!'.
21886 2012-05-12  Bruno Haible  <bruno@clisp.org>
21888         system-quote: Add more comments.
21889         * lib/system-quote.h: Add more comments about wilcards and limitations.
21890         Suggested by Eli Zaretskii <eliz@gnu.org>.
21892         sh-quote, system-quote: Add comments about wildcards.
21893         * lib/sh-quote.h: Clarify what happens with wildcard characters.
21894         * lib/system-quote.h: Likewise.
21895         Reported by Eli Zaretskii <eliz@gnu.org>.
21897 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
21899         fsusage: check for GNU/Linux statvfs problem dynamically
21900         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
21901         Define STAT_STATFS2_BSIZE too, since in this case the code now
21902         checks dynamically whether statvfs is reliable, falling back on
21903         Linux-style statfs otherwise.
21904         (statvfs_works): New function, for dynamically testing statvfs.
21905         (get_fs_usage) [STAT_STATVFS]: Use it.
21906         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
21907         statvfs on GNU/Linux hosts, since it's now done dynamically.
21909 2012-05-10  Bruno Haible  <bruno@clisp.org>
21911         system-quote, execute, spawn-pipe: Escape '?' on Windows.
21912         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
21913         '?' character.
21914         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
21915         * tests/test-system-quote-main.c (check_all): Check also strings like
21916         "??????????".
21917         Reported by Eli Zaretskii <eliz@gnu.org>.
21919 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
21921         _Noreturn: port config.h to gcc -Wundef
21922         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
21923         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
21924         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00147.html>.
21926 2012-05-10  Bruno Haible  <bruno@clisp.org>
21928         system-quote: Refactor.
21929         * lib/system-quote.h (system_quote_copy): Fix comment.
21930         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
21931         New functions, extracted from system_quote_copy.
21932         (system_quote_length, system_quote_copy): Use these functions.
21933         Reported by Paul Eggert.
21935 2012-05-08  Bruno Haible  <bruno@clisp.org>
21937         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
21938         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
21940 2012-05-08  Bruno Haible  <bruno@clisp.org>
21942         Tests for module 'system-quote'.
21943         * modules/system-quote-tests: New file.
21944         * tests/test-system-quote.sh: New file.
21945         * tests/test-system-quote-main.c: New file.
21946         * tests/test-system-quote-child.c: New file.
21948         New module 'system-quote'.
21949         * lib/system-quote.h: New file.
21950         * lib/system-quote.c: New file.
21951         * modules/system-quote: New file.
21953 2012-05-08  Bruno Haible  <bruno@clisp.org>
21955         sh-quote: Make C++ safe and allow multiple inclusion.
21956         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
21957         declarations in extern "C".
21959 2012-05-08  Bruno Haible  <bruno@clisp.org>
21961         sh-quote tests: Make tests stricter.
21962         * tests/test-sh-quote.c (check_one): Check the return value of
21963         shell_quote_copy.
21964         (main): Check a string with a CR character. Check a string that
21965         contains UCHAR_MAX.
21967 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
21969         warnings.m4: provide a means to specify the program to compile.
21970         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
21971         (gl_WARN_ADD): here.
21972         Use gl_AS_VAR_APPEND.
21973         Support an argument to specify the program to compile.
21974         (gl_WARN_ADD): Accept an argument to specify the program to compile.
21975         AC_SUBST the WARN_CFLAGS when they are used.
21976         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
21977         leave this to gl_WARN_ADD.
21979 2012-05-08  Eric Blake  <eblake@redhat.com>
21981         doc: recommendations on gettext version
21982         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
21983         choice between versions.
21984         * DEPENDENCIES (gettext): Cover both approaches.
21986 2012-05-08  Jim Meyering  <meyering@redhat.com>
21988         init.sh: explain why EXEEXT support uses aliases rather than functions
21989         * tests/init.sh: Add a comment.
21991         init.sh: don't let bash aliases interfere with tests
21992         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
21993         is bash.  This avoids problems for those who alias standard commands to
21994         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
21995         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
21997 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
21999         stdint: be more consistent with glibc, SunOS libc
22000         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
22001         (gl_int_fast16_t, gl_uint_fast16_t)
22002         (gl_int_fast32_t, gl_uint_fast32_t)
22003         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
22004         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
22005         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
22006         Be consistent with glibc by default, and with SunOS 5.10 and later
22007         if __sun is defined.  This lessens the likelihood of clashes if
22008         code compiled for older hosts is combined with code compiled for
22009         newer ones.  Problem reported by Niels Möller in
22010         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00074.html>.
22012 2012-05-07  Eric Blake  <eblake@redhat.com>
22014         isatty: relax license to LGPLv2+
22015         * modules/isatty (License): Relax license.
22017 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
22019         stat-size: comment fix
22020         * lib/stat-size.h: Remove obsolete comment about indenting.
22022 2012-05-06  Bruno Haible  <bruno@clisp.org>
22024         Tests for module 'sh-quote'.
22025         * modules/sh-quote-tests: New file.
22026         * tests/test-sh-quote.c: New file.
22028 2012-05-06  Bruno Haible  <bruno@clisp.org>
22030         sh-quote: Improve shell_quote_argv's signature.
22031         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
22032         * lib/sh-quote.c (shell_quote_argv): Likewise.
22034 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
22036         stdint: document issues with int_fast8_t etc.
22037         * doc/posix-headers/stdint.texi (stdint.h): Say that other
22038         stdint.h substitutes may define these types differently.  See
22039         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00071.html>.
22041 2012-05-05  Bruno Haible  <bruno@clisp.org>
22043         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
22044         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
22045         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
22046         or 'guessing no (mishandles large arguments)'.
22048 2012-05-05  Bruno Haible  <bruno@clisp.org>
22050         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
22051         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
22052         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
22053         set gl_cv_func_link_follows_symlink to "guessing no".
22055 2012-05-05  Bruno Haible  <bruno@clisp.org>
22057         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
22058         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
22059         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
22060         "guessing no".
22061         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
22063 2012-05-05  Bruno Haible  <bruno@clisp.org>
22065         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
22066         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
22067         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
22068         set gl_cv_struct_dirent_d_ino to "guessing yes".
22070 2012-05-05  Bruno Haible  <bruno@clisp.org>
22072         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
22073         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
22074         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
22075         "guessing yes".
22077 2012-05-05  Bruno Haible  <bruno@clisp.org>
22079         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
22080         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
22081         compiling to a glibc system, set gl_cv_func_signbit and
22082         gl_cv_func_signbit_gcc to "guessing yes".
22084 2012-05-05  Bruno Haible  <bruno@clisp.org>
22086         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
22087         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
22088         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
22089         to "guessing yes".
22090         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
22091         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
22093 2012-05-05  Bruno Haible  <bruno@clisp.org>
22095         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
22096         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
22097         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
22098         gl_cv_func_realpath_works to "guessing yes".
22100 2012-05-05  Bruno Haible  <bruno@clisp.org>
22102         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
22103         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
22104         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
22106 2012-05-04  Bruno Haible  <bruno@clisp.org>
22108         Tweak last commit.
22109         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
22110         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
22112 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
22114         unistd_h: make it easier to avoid sys_types_h
22115         This is useful for Emacs, which has its own method of porting to
22116         Windows, and which therefore does not need the sys_types_h module.
22117         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
22118         code moved here from gl_SYS_TYPES_H.
22119         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
22120         using the code directly.
22121         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
22122         gl_SYS_TYPES_H.
22123         * modules/sys_types (Files):
22124         * modules/unistd (Files): Add m4/off_t.m4.
22126 2012-05-03  Bruno Haible  <bruno@clisp.org>
22128         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
22129         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
22130         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
22131         "guessing yes" or "guessing no".
22132         (gl_FUNC_LSTAT): Update.
22133         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
22134         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
22135         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
22137 2012-05-03  Bruno Haible  <bruno@clisp.org>
22139         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
22140         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
22141         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
22142         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
22143         cross-compiling, choose the first alternative on glibc systems.
22144         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
22146 2012-05-03  Bruno Haible  <bruno@clisp.org>
22148         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
22149         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
22150         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
22152 2012-05-03  Bruno Haible  <bruno@clisp.org>
22154         chown: Avoid "guessing no" when cross-compiling to glibc systems.
22155         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
22157 2012-05-03  Bruno Haible  <bruno@clisp.org>
22159         Avoid "guessing no" guesses when cross-compiling to glibc systems.
22160         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
22161         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
22162         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
22163         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
22164         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
22165         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
22166         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
22167         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
22168         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
22169         compiling to glibc systems, set gl_cv_func_chown_slash_works,
22170         gl_cv_func_chown_ctime_works to "guessing yes".
22171         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
22172         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
22173         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
22174         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
22175         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
22176         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
22177         compiling to glibc systems, set gl_cv_func_open_directory_works to
22178         "guessing yes".
22179         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
22180         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
22181         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
22182         "guessing yes".
22183         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
22184         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
22185         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
22186         compiling to glibc systems, set gl_cv_func_floorf_ieee to
22187         "guessing yes".
22188         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
22189         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
22190         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
22191         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
22192         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
22193         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
22194         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
22195         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
22196         "guessing yes".
22197         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
22198         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
22199         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
22200         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
22201         "guessing yes".
22202         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
22203         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
22204         "guessing yes".
22205         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
22206         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
22207         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
22208         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
22209         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
22210         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
22211         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
22212         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
22213         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
22214         compiling to glibc systems, set gl_cv_func_log10f_ieee to
22215         "guessing yes".
22216         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
22217         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
22218         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
22219         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
22220         "guessing yes".
22221         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
22222         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
22223         "guessing yes".
22224         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
22225         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
22226         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
22227         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
22228         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
22229         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
22230         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
22231         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
22232         compiling to glibc systems, set gl_cv_func_mkfifo_works to
22233         "guessing yes".
22234         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
22235         compiling to glibc systems, set gl_cv_func_mknod_works to
22236         "guessing yes".
22237         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
22238         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
22239         "guessing yes".
22240         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
22241         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
22242         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
22243         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
22244         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
22245         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
22246         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
22247         compiling to glibc systems, set gl_cv_func_svid_putenv to
22248         "guessing yes".
22249         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
22250         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
22251         "guessing yes".
22252         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
22253         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
22254         "guessing yes".
22255         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
22256         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
22257         to "guessing yes".
22258         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
22259         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
22260         to "guessing yes".
22261         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
22262         compiling to glibc systems, set gl_cv_func_rmdir_works to
22263         "guessing yes".
22264         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
22265         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
22266         gl_cv_func_unlink_parent_fails to "guessing yes".
22267         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
22268         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
22269         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
22270         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
22271         gl_cv_func_rename_dest_works to "guessing yes".
22272         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
22273         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
22274         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
22275         compiling to glibc systems, set gl_cv_func_roundf_ieee to
22276         "guessing yes".
22277         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
22278         compiling to glibc systems, set gl_cv_func_roundl_ieee to
22279         "guessing yes".
22280         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
22281         compiling to glibc systems, set gl_cv_func_setenv_works to
22282         "guessing yes".
22283         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
22284         compiling to glibc systems, set gl_cv_func_unsetenv_works to
22285         "guessing yes".
22286         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
22287         compiling to glibc systems, set gl_cv_func_sleep_works to
22288         "guessing yes".
22289         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
22290         compiling to glibc systems, set gl_cv_func_stat_file_slash to
22291         "guessing yes".
22292         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
22293         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
22294         "guessing yes".
22295         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
22296         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
22297         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
22298         compiling to glibc systems, set gl_cv_func_truncf_ieee to
22299         "guessing yes".
22300         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
22301         compiling to glibc systems, set gl_cv_func_truncl_ieee to
22302         "guessing yes".
22303         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
22304         compiling to glibc systems, set gl_cv_func_usleep_works to
22305         "guessing yes".
22306         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
22307         compiling to glibc systems, set gl_cv_func_futimesat_works to
22308         "guessing yes".
22310 2012-05-03  Bruno Haible  <bruno@clisp.org>
22312         Say "guessing yes" or "guessing no" when cross-compiling.
22313         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
22314         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
22315         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
22316         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
22317         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
22318         am_cv_func_working_getline to "guessing yes" or "guessing no".
22319         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
22320         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
22321         (gl_FUNC_MEMMEM): When cross-compiling, set
22322         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
22323         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
22324         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
22325         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
22326         set gl_cv_func_strcasestr_works_always to "guessing yes" or
22327         "guessing no".
22328         (gl_FUNC_STRCASESTR): When cross-compiling, set
22329         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
22330         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
22331         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
22332         (gl_FUNC_STRSTR): When cross-compiling, set
22333         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
22334         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
22335         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
22336         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
22337         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
22339 2012-05-01  Bruno Haible  <bruno@clisp.org>
22341         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
22342         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
22343         * build-aux/reloc-ldflags: Likewise.
22344         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
22346 2012-05-01  Bruno Haible  <bruno@clisp.org>
22348         gnulib-tool: Remove transitional code.
22349         * gnulib-tool: Don't warn about --import with 0 arguments any more.
22350         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
22352 2012-05-01  Bruno Haible  <bruno@clisp.org>
22354         getcwd: Fix misindentation.
22355         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
22357 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
22359         exclude: process exclude and include directives in order
22360         This restores the pre-2009 behavior, and is part of a fix of a
22361         grep bug reported by Quentin Arce in
22362         <http://lists.gnu.org/r/bug-grep/2012-04/msg00056.html>.
22363         * lib/exclude.c (struct exclude): Remove 'tail' member.
22364         (new_exclude_segment): Prepend the new segment instead of appending.
22365         Return void, since that's now more convenient.
22366         (file_pattern_matches): Renamed from excluded_file_pattern_p.
22367         (file_name_matches): Renamed from excluded_file_name_p.
22368         (file_pattern_matches, file_name_matches):
22369         Return true if the pattern matches, not if it excludes.
22370         All callers changed.
22371         (excluded_file_name): Process the list in reverse order;
22372         since the list is now reversed this restores the pre-2009 behavior.
22373         (add_exclude): Adjust to new reversed-order list.  Use local var
22374         rather than macro, for clarity.
22375         * tests/test-exclude7.sh: Adjust to corrected behavior.
22377         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
22378         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
22379         it's not possible here.  Handle the case of \ at end of pattern
22380         without dumping core.
22381         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
22383         _Noreturn: future-proof non-GNU and non-MSVC compilers
22384         * build-aux/snippet/_Noreturn.h (_Noreturn):
22385         * m4/gnulib-common.m4 (gl_COMMON_BODY):
22386         Do not define _Noreturn if __STDC_VERSION__ indicates this is
22387         C11 or later.  This is more likely to work with random future C
22388         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
22389         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00195.html>.
22391         exclude: handle wildcards with FNM_EXTMATCH
22392         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
22393         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
22394         comment that "has wildcards" really means "has or may have
22395         wildcards".  Simplify by avoiding the need to call strcspn.
22397 2012-04-29  Bruno Haible  <bruno@clisp.org>
22399         gnulib-tool: Fix list of authors.
22400         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
22402 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
22404         bootstrap: support Automake-NG in $buildreq
22405         * bootstrap (check_versions): Handle automake and aclocal from
22406         Automake-NG specially.  They can be specified as respectively
22407         the "automake-ng" and "aclocal-ng" requirements.
22409 2012-04-25  Eric Blake  <eblake@redhat.com>
22411         bootstrap: only force latest Makefile.in.in for gettext module
22412         * build-aux/bootstrap (with_gettext): Only install latest
22413         Makefile.in.in for projects requesting bleeding edge gettext.
22415 2012-04-22  Bruno Haible  <bruno@clisp.org>
22417         doc: Mention reason for replacement on glibc/Linux systems.
22418         * doc/posix-functions/dprintf.texi: Mention the problem with special
22419         'long double' values.
22420         * doc/posix-functions/fprintf.texi: Likewise.
22421         * doc/posix-functions/printf.texi: Likewise.
22422         * doc/posix-functions/snprintf.texi: Likewise.
22423         * doc/posix-functions/sprintf.texi: Likewise.
22424         * doc/posix-functions/vdprintf.texi: Likewise.
22425         * doc/posix-functions/vfprintf.texi: Likewise.
22426         * doc/posix-functions/vprintf.texi: Likewise.
22427         * doc/posix-functions/vsnprintf.texi: Likewise.
22428         * doc/posix-functions/vsprintf.texi: Likewise.
22429         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
22430         platforms with F_DUPFD_CLOEXEC problems.
22431         * doc/posix-functions/glob.texi: Mention which platforms are affected
22432         by the problem with symbolic links.
22433         * doc/posix-functions/linkat.texi: Mention the problem with
22434         AT_SYMLINK_FOLLOW on Linux.
22436 2012-04-22  Bruno Haible  <bruno@clisp.org>
22438         pwrite: Don't replace on all platforms.
22439         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
22441 2012-04-22  Bruno Haible  <bruno@clisp.org>
22443         rint* tests: Avoid gcc warnings.
22444         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
22445         * tests/test-rintf.c (INFINITY, NAN): Likewise.
22446         * tests/test-rintl.c (INFINITY, NAN): Likewise.
22448 2012-04-21  Bruno Haible  <bruno@clisp.org>
22450         users.txt: Update.
22451         * users.txt: Add freedink, wdiff. Update URLs for projects that have
22452         switched from CVS to git, bzr, or svn.
22454 2012-04-21  Bruno Haible  <bruno@clisp.org>
22456         Large File Support for native Windows platforms.
22458         * m4/largefile.m4 (gl_LARGEFILE): New macro.
22459         * modules/largefile (configure.ac): Require gl_LARGEFILE.
22461         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
22462         type.
22463         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
22464         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
22465         * doc/posix-headers/sys_types.texi: Mention the effect of the
22466         'largefile' module.
22468         * lib/fcntl.in.h: Add comments about off_t.
22469         * modules/fcntl-h (Depends-on): Add sys_types.
22471         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
22472         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
22473         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
22474         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
22475         * modules/unistd (Depends-on): Add sys_types.
22476         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
22478         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
22479         instead of lseek.
22480         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
22481         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
22482         * modules/lseek (Depends-on): Add sys_types.
22484         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
22485         msvc-nothrow.h.
22486         (SetFileSize): New function.
22487         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
22488         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
22489         if Large File Support is requested.
22490         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
22491         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
22493         * lib/stdio.in.h: Add comments about off_t.
22494         * modules/stdio (Depends-on): Add sys_types.
22496         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
22497         instead of ftello.
22498         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
22499         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
22500         (gl_PREREQ_FTELLO): New macro.
22501         * modules/ftello (Depends-on): Add sys_types.
22502         (configure.ac): Incoke gl_PREREQ_FTELLO.
22504         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
22505         instead of fseeko.
22506         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
22507         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
22508         (gl_PREREQ_FSEEKO): New macro.
22509         * modules/fseeko (Depends-on): Add sys_types.
22510         (configure.ac): Invoke gl_PREREQ_FSEEKO.
22512         * lib/sys_stat.in.h: Add comments about off_t.
22513         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
22514         64-bit integer for st_size in 'struct stat'.
22515         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
22516         Define _GL_WINDOWS_64_BIT_ST_SIZE.
22517         * modules/sys_stat (Depends-on): Add sys_types.
22518         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
22520         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
22521         instead of stat or _stat.
22523         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
22524         'struct _stati64' instead of fstat and 'struct stat'.
22525         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
22526         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
22528         Reported by Ray Satiro <raysatiro@yahoo.com>.
22530 2012-04-19  Eric Blake  <eblake@redhat.com>
22532         bootstrap: accommodate older libtool
22533         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
22534         Reported by Daniel P. Berrange.
22536 2012-04-19  Jim Meyering  <meyering@redhat.com>
22538         announce-gen: avoid failure due to lack of Digest::SHA1
22539         Even with the preferred Digest::SHA available, this script
22540         would fail when the backup module, Digest::SHA1, was not installed.
22541         * build-aux/announce-gen: Quote the conditional use of "use".
22542         Reported by Reuben Thomas in:
22543         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
22545         bootstrap: don't let a user's CDPATH setting affect this script
22546         When CDPATH is set, cd will sometimes generate output.
22547         When "cd" is run in a subshell whose output matters, that
22548         surprising-to-some output can cause malfunction.
22549         Unsetting CDPATH turns off this shell "feature."
22550         * build-aux/bootstrap (CDPATH): Unset.
22551         Reported by Reuben Thomas in:
22552         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
22553         and inspired by his patch here:
22554         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
22556 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
22557         and Jim Meyering  <meyering@redhat.com>
22559         maint.mk: catch "see @xref{}" and similar
22560         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
22561         prohibit "See also @xref{", "Also see @pxref{", and similar.
22563 2012-04-16  Jim Meyering  <meyering@redhat.com>
22565         bootstrap: really use gnulib's po/Makefile.in.in
22566         * build-aux/bootstrap: Correct the source file name in previous change.
22567         Reported by Akim Demaille.
22569         configmake: correct minor inconsistency in Makefile rule
22570         * modules/configmake (Makefile.am): All other rules like this one
22571         run the final "mv -f ..." in the same backslash-continued command
22572         as the one that does everything else.  This one put the mv -f ...
22573         command on a separate, non-backslash-continued line.
22574         Make it like the others.
22576         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
22577         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
22578         the one from gettext.  Reported by Akim Demaille.
22580 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
22582         Fix recursion of install-* into po directories.
22583         Bison's install-pdf bug reported by Hans Aberg at
22584         <http://lists.gnu.org/r/bug-bison/2011-05/msg00008.html>.
22585         * build-aux/po/Makefile.in.in (install-dvi, install-html)
22586         (install-info, install-pdf, install-ps): New targets.
22588 2012-04-16  Jim Meyering  <meyering@redhat.com>
22590         maint: avoid spurious "make sc_maint" failure
22591         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
22592         exempt all *.class file names, for lib/javaversion.class.
22594 2012-04-15  Bruno Haible  <bruno@clisp.org>
22596         lseek: Make configure test independent of environment.
22597         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
22598         Windows, we know that lseek() on pipes is broken; skip the runtime
22599         test.
22601 2012-04-14  Bruno Haible  <bruno@clisp.org>
22603         stat: Bypass buggy override in mingw64.
22604         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
22605         * lib/stat.c (stat) [mingw64]: Define to _stat.
22606         * doc/posix-functions/stat.texi: Mention mingw64 bug.
22608 2012-04-14  Bruno Haible  <bruno@clisp.org>
22610         pathmax: Fix compilation error on MSVC 9.
22611         * modules/pathmax (Depends-on): Add unistd.
22613 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
22615         README: document pointer comparison assumption
22616         * README (Portability guidelines): Document assumption about
22617         pointer comparisons, in response to a recent bug-gnulib comment by
22618         Jeffrey Kegler.
22620 2012-04-12  Bruno Haible  <bruno@clisp.org>
22622         Tests for module 'getrusage'.
22623         * modules/getrusage-tests: New file.
22624         * tests/test-getrusage.c: New file.
22626         New module 'getrusage'.
22627         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
22628         warn-on-use.h.
22629         (getrusage): New declaration.
22630         * lib/getrusage.c: New file.
22631         * m4/getrusage.m4: New file.
22632         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
22633         is declared.
22634         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
22635         HAVE_GETRUSAGE.
22636         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
22637         snippet/c++defs, snippet/warn-on-use.
22638         (Makefile.am): Update generation of sys/resource.h. Substitute
22639         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
22640         * modules/getrusage: New file.
22641         * doc/posix-functions/getrusage.texi: Mention the new module.
22643 2012-04-12  Bruno Haible  <bruno@clisp.org>
22645         Tests for module 'sys_resource'.
22646         * modules/sys_resource-tests: New file.
22647         * tests/test-sys_resource.c: New file.
22649         New module 'sys_resource'.
22650         * lib/sys_resource.in.h: New file.
22651         * m4/sys_resource_h.m4: New file.
22652         * modules/sys_resource: New file.
22653         * doc/posix-headers/sys_resource.texi: Mention the new module.
22655 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
22657         ioctl: Fix compilation error on mingw.
22658         * lib/ioctl.c: Include <windows.h>.
22659         Also reported by Ray Satiro <raysatiro@yahoo.com>.
22661 2012-04-04  Jim Meyering  <meyering@redhat.com>
22663         regex: correct #pragma guard expression
22664         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
22665         not 4.3.  Correct its cpp guard expression.
22667 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
22669         regex: remove unnecessary type punning
22670         Problem reported by Vladimir Serbinenko in
22671         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00006.html>.
22672         * lib/regex.h (struct re_pattern_buffer): Change the type of
22673         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
22674         Fix comment to match code.
22675         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
22676         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
22677         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
22678         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
22679         (set_regs):
22680         Omit no-longer-necessary casts.
22682 2012-04-03  Bruno Haible  <bruno@clisp.org>
22684         Tests for module 'ilogbl'.
22685         * modules/ilogbl-tests: New file.
22686         * tests/test-ilogbl.c: New file.
22688         New module 'ilogbl'.
22689         * lib/math.in.h (ilogbl): New declaration.
22690         * lib/ilogbl.c: New file.
22691         * m4/ilogbl.m4: New file.
22692         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
22693         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
22694         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
22695         Split sed invocation, to avoid the limit of 100 substitutions of
22696         HP-UX 'sed'.
22697         * modules/ilogbl: New file.
22698         * tests/test-math-c++.cc: Check the declaration of ilogbl.
22699         * doc/posix-functions/ilogbl.texi: Mention the new module.
22701 2012-04-03  Bruno Haible  <bruno@clisp.org>
22703         Tests for module 'ilogbf'.
22704         * modules/ilogbf-tests: New file.
22705         * tests/test-ilogbf.c: New file.
22707         New module 'ilogbf'.
22708         * lib/math.in.h (ilogbf): New declaration.
22709         * lib/ilogbf.c: New file.
22710         * m4/ilogbf.m4: New file.
22711         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
22712         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
22713         REPLACE_ILOGBF.
22714         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
22715         REPLACE_ILOGBF.
22716         * modules/ilogbf: New file.
22717         * tests/test-math-c++.cc: Check the declaration of ilogbf.
22718         * doc/posix-functions/ilogbf.texi: Mention the new module.
22720 2012-04-03  Bruno Haible  <bruno@clisp.org>
22722         Tests for module 'ilogb'.
22723         * modules/ilogb-tests: New file.
22724         * tests/test-ilogb.c: New file.
22725         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
22726         tests/test-logb-ieee.h.
22728         New module 'ilogb'.
22729         * lib/math.in.h (ilogb): New declaration.
22730         * lib/ilogb.c: New file.
22731         * m4/ilogb.m4: New file.
22732         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
22733         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
22734         REPLACE_ILOGB.
22735         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
22736         REPLACE_ILOGB.
22737         * modules/ilogb: New file.
22738         * tests/test-math-c++.cc: Check the declaration of ilogb.
22739         * doc/posix-functions/ilogb.texi: Mention the new module.
22741 2012-04-03  Bruno Haible  <bruno@clisp.org>
22743         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
22744         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
22745         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
22746         (main): Check their values.
22747         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
22748         problem.
22750 2012-04-03  Bruno Haible  <bruno@clisp.org>
22752         Tests for module 'logbl-ieee'.
22753         * modules/logbl-ieee-tests: New file.
22754         * tests/test-logbl-ieee.c: New file.
22756         New module 'logbl-ieee'.
22757         * modules/logbl-ieee: New file.
22759         Tests for module 'logb-ieee'.
22760         * modules/logb-ieee-tests: New file.
22761         * tests/test-logb-ieee.c: New file.
22763         New module 'logb-ieee'.
22764         * modules/logb-ieee: New file.
22766         Tests for module 'logbf-ieee'.
22767         * modules/logbf-ieee-tests: New file.
22768         * tests/test-logbf-ieee.c: New file.
22769         * tests/test-logb-ieee.h: New file.
22771         New module 'logbf-ieee'.
22772         * modules/logbf-ieee: New file.
22774 2012-04-03  Bruno Haible  <bruno@clisp.org>
22776         Tests for module 'logbl'.
22777         * modules/logbl-tests: New file.
22778         * tests/test-logbl.c: New file.
22780         New module 'logbl'.
22781         * lib/math.in.h (logbl): New declaration.
22782         * lib/logbl.c: New file.
22783         * m4/logbl.m4: New file.
22784         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
22785         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
22786         REPLACE_LOGBL.
22787         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
22788         REPLACE_LOGBL.
22789         * modules/logbl: New file.
22790         * tests/test-math-c++.cc: Check the declaration of logbl.
22791         * doc/posix-functions/logbl.texi: Mention the new module.
22793 2012-04-02  Bruno Haible  <bruno@clisp.org>
22795         Tests for module 'logbf'.
22796         * modules/logbf-tests: New file.
22797         * tests/test-logbf.c: New file.
22799         New module 'logbf'.
22800         * lib/math.in.h (logbf): New declaration.
22801         * lib/logbf.c: New file.
22802         * m4/logbf.m4: New file.
22803         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
22804         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
22805         REPLACE_LOGBF.
22806         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
22807         REPLACE_LOGBF.
22808         * modules/logbf: New file.
22809         * tests/test-math-c++.cc: Check the declaration of logbf.
22810         * doc/posix-functions/logbf.texi: Mention the new module.
22812 2012-04-02  Bruno Haible  <bruno@clisp.org>
22814         logb tests: More tests.
22815         * tests/test-logb.h: New file, based on tests/test-logb.c and
22816         tests/test-frexp.h.
22817         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
22818         (main): Just invoke test_function.
22819         * modules/logb-tests (Files): Add tests/test-logb.h,
22820         tests/minus-zero.h, tests/randomd.c.
22821         (Makefile.am): Add randomd.c to test_logb_SOURCES.
22823         logb: Provide replacement and workarounds.
22824         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
22825         is 1.
22826         * lib/logb.c: New file.
22827         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
22828         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
22829         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
22830         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
22831         * modules/logb (Files): Add lib/logb.c.
22832         (Depends-on): Add isfinite, frexp, isnand.
22833         (configure.ac): Compile the replacement code logb.c if needed.
22834         * tests/test-math-c++.cc: Check the declaration of logb.
22835         * doc/posix-functions/logb.texi: Mention the replacement and the bug
22836         with subnormal numbers.
22838 2012-04-02  Bruno Haible  <bruno@clisp.org>
22840         log10* tests: Speed up.
22841         * tests/test-log10.h (test_function): Reduce amount of random numbers
22842         to test.
22844 2012-04-01  Bruno Haible  <bruno@clisp.org>
22846         logf-ieee: Fix test whether logf works.
22847         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
22849 2012-04-01  Bruno Haible  <bruno@clisp.org>
22851         log10l: Work around log10l-ieee test failure on IRIX 6.5.
22852         * lib/log10l.c: Include <float.h>
22853         (log10l): On IRIX, normalize the +Infinity value.
22854         * modules/log10l (Depends-on): Add 'float'.
22855         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
22856         +Infinity.
22858         log10f-ieee: Work around test failure on NetBSD 5.1.
22859         * m4/log10f-ieee.m4: New file.
22860         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
22861         test whether log10f works with a negative argument. Replace it if not.
22862         * lib/log10f.c (log10f): For negative arguments, return NaN.
22863         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
22864         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
22865         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
22867         log10f-ieee: Work around test failure on Solaris 9.
22868         * modules/log10f-ieee (Depends-on): Add log10-ieee.
22869         (configure.ac): Require gl_FUNC_LOG10F.
22871         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
22872         * m4/log10-ieee.m4: New file.
22873         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
22874         whether log10 works with a negative argument. Replace it if not.
22875         * lib/log10.c (log10): For negative arguments, return NaN.
22876         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
22877         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
22878         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
22880         Tests for module 'log10l-ieee'.
22881         * modules/log10l-ieee-tests: New file.
22882         * tests/test-log10l-ieee.c: New file.
22884         New module 'log10l-ieee'.
22885         * modules/log10l-ieee: New file.
22887         Tests for module 'log10-ieee'.
22888         * modules/log10-ieee-tests: New file.
22889         * tests/test-log10-ieee.c: New file.
22891         New module 'log10-ieee'.
22892         * modules/log10-ieee: New file.
22894         Tests for module 'log10f-ieee'.
22895         * modules/log10f-ieee-tests: New file.
22896         * tests/test-log10f-ieee.c: New file.
22897         * tests/test-log10-ieee.h: New file.
22899         New module 'log10f-ieee'.
22900         * modules/log10f-ieee: New file.
22902 2012-04-01  Bruno Haible  <bruno@clisp.org>
22904         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
22905         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
22906         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
22907         workaround.
22908         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
22909         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
22910         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
22911         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
22912         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
22913         (Depends-on): Update conditions.
22914         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
22915         IRIX 6.5, OSF/1 5.1 problems.
22917 2012-04-01  Bruno Haible  <bruno@clisp.org>
22919         log10f: Work around OSF/1 5.1 bug.
22920         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
22921         * lib/log10f.c (log10f): If logf exists, use it and provide just the
22922         workaround.
22923         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
22924         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
22925         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
22926         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
22927         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
22928         (Depends-on): Update conditions.
22929         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
22931 2012-04-01  Bruno Haible  <bruno@clisp.org>
22933         log10: Work around OSF/1 5.1 bug.
22934         * lib/math.in.h (log10): New declaration.
22935         * lib/log10.c: New file.
22936         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
22937         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
22938         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
22939         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
22940         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
22941         * modules/log10 (Files): Add lib/log10.c.
22942         (Depends-on): Add math.
22943         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
22944         * tests/test-math-c++.cc: Check the declaration of log10.
22945         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
22947 2012-03-31  Bruno Haible  <bruno@clisp.org>
22949         log10l tests: More tests.
22950         * modules/log10l-tests (Files): Add tests/test-log10l.h,
22951         tests/minus-zero.h, tests/randoml.c.
22952         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
22953         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
22954         (main): Invoke test_function.
22956         log10f tests: More tests.
22957         * modules/log10f-tests (Files): Add tests/test-log10.h,
22958         tests/minus-zero.h, tests/randomf.c.
22959         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
22960         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
22961         (main): Invoke test_function.
22963         log10 tests: More tests.
22964         * tests/test-log10.h: New file.
22965         * modules/log10-tests (Files): Add tests/test-log10.h,
22966         tests/minus-zero.h, tests/randomd.c.
22967         (Makefile.am): Add randomd.c to test_log10_SOURCES.
22968         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
22969         (main): Invoke test_function.
22971 2012-03-31  Simon Josefsson  <simon@josefsson.org>
22973         fflush: Fix syntax error.
22974         * lib/fflush.c: Include unused-parameter.h, needed for
22975         _GL_UNUSED_PARAMETER.
22976         * modules/fflush (Depends-on): Add snippet/unused-parameter.
22978 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
22980         regex: pacify GCC when compiling GRUB
22981         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
22982         a diagnostic.  Reported by Vladimir Serbinenko in
22983         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00163.html>.
22985 2012-03-29  Eric Blake  <eblake@redhat.com>
22987         stdio: don't assume gets any more
22988         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
22989         support.
22990         * modules/stdio (Makefile.am): Likewise.
22991         * lib/stdio-read.c (gets): Likewise.
22992         * tests/test-stdio-c++.cc: Likewise.
22993         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
22994         * lib/stdio.in.h (gets): Make warning occur in more places.
22995         * doc/posix-functions/gets.texi (gets): Update documentation.
22996         Reported by Christer Solskogen.
22998         maint.mk: fix syntax checks without exclusions
22999         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
23000         Reported by Daniel P. Berrange.
23002         strerror_r: avoid compiler warning
23003         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
23004         level.
23006         fflush: avoid compiler warning
23007         * lib/fflush.c (update_fpos_cache): Mark variables that are
23008         potentially unused.
23010 2012-03-25  Bruno Haible  <bruno@clisp.org>
23012         Tests for module 'localeconv'.
23013         * modules/localeconv-tests: New file.
23014         * tests/test-localeconv.c: New file.
23016         New module 'localeconv'.
23017         * lib/locale.in.h (localeconv): New declaration.
23018         * lib/localeconv.c: New file.
23019         * m4/localeconv.m4: New file.
23020         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
23021         REPLACE_LOCALECONV.
23022         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
23023         REPLACE_LOCALECONV.
23024         * modules/localeconv: New file.
23025         * modules/nl_langinfo (Depends-on): Add localeconv.
23026         * modules/human (Depends-on): Likewise.
23027         * doc/posix-functions/localeconv.texi: Mention the new module.
23029 2012-03-25  Bruno Haible  <bruno@clisp.org>
23031         locale: Provide a complete 'struct lconv'.
23032         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
23033         'struct lconv' does not contain int_p_cs_precedes.
23034         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
23035         * doc/posix-headers/locale.texi: Update.
23037         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
23038         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
23039         * doc/posix-headers/locale.texi: Update.
23041         locale: Provide a working 'struct lconv'.
23042         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
23043         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
23044         'struct lconv' does not even contain decimal_point.
23045         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
23046         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
23047         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
23048         * doc/posix-headers/locale.texi: Mention the problems with
23049         'struct lconv'.
23050         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
23052 2012-03-24  Bruno Haible  <bruno@clisp.org>
23054         Enable common subexpression optimization in GCC.
23055         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
23056         macros.
23057         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
23058         GCC attribute 'const'.
23059         (uc_locale_language): Declare with GCC attribute 'pure'.
23060         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
23061         with GCC attribute 'const'.
23062         * lib/unictype.in.h (uc_is_general_category_withtable,
23063         uc_combining_class, uc_combining_class_name,
23064         uc_combining_class_long_name, uc_bidi_class_name,
23065         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
23066         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
23067         uc_decimal_value, uc_digit_value, uc_numeric_value,
23068         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
23069         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
23070         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
23071         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
23072         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
23073         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
23074         Declare with GCC attribute 'const'.
23075         (uc_general_category_name, uc_general_category_long_name,
23076         uc_general_category_byname, uc_general_category,
23077         uc_is_general_category, uc_combining_class_byname,
23078         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
23079         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
23080         Declare with GCC attribute 'pure'.
23081         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
23082         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
23083         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
23084         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
23085         with GCC attribute 'pure'.
23086         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
23087         'const'.
23088         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
23089         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
23090         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
23091         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
23092         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
23093         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
23094         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
23095         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
23096         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
23097         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
23098         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
23099         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
23100         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
23101         GCC attribute 'pure'.
23102         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
23103         'const'.
23104         * lib/uniwidth.in.h (uc_width): Simplify declaration.
23105         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
23106         u32_strwidth): Declare with GCC attribute 'pure'.
23108         Enable common subexpression optimization in GCC.
23109         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
23110         (alphasort): Declare with GCC attribute 'pure'.
23111         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
23112         (atoll): Declare with GCC attribute 'pure'.
23113         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
23114         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
23115         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
23116         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
23117         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
23118         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
23119         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
23121 2012-03-24  Bruno Haible  <bruno@clisp.org>
23123         gnulib-tool: Avoid unintended error output from 'cmp'.
23124         * gnulib-tool (func_add_file, func_update_file, func_import): Use
23125         "cmp -s", not "cmp > /dev/null".
23127 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
23129         gnulib-tool: fix imprecise comments w.r.t. an automake bug
23131         It's not just Automake versions < 1.9b that creates an empty
23132         pkgdatadir at installation time if pkgdata_DATA is specified
23133         to empty; modern automake versions do this as well, at least
23134         until automake 1.11.4 (not yet released at the moment of writing,
23135         but soon to appear).  That behaviour was generally considered a
23136         feature rather than a bug, at least until this discussion:
23137         <http://lists.gnu.org/r/automake/2012-03/msg00014.html>
23139         See also automake bugs #10997 and #11030.
23141         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
23142         reference to relevant automake bug numbers.
23143         (func_emit_tests_Makefile_am): Likewise.
23145 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
23147         announce-gen: use Digest::SHA when possible
23148         * build-aux/announce-gen: Use Digest::SHA when possible, falling
23149         back to Digest::SHA1 if necessary.
23151 2012-03-20  Jim Meyering  <meyering@redhat.com>
23153         tests: avoid gcc warnings about argv vs. const initializers
23154         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
23155         warnings about discarding 'const' qualifier from pointer target type.
23156         * tests/test-posix_spawn2.c (main): Likewise.
23158 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
23160         README-release: simplify slightly
23161         * top/README-release: Run "git checkout master" only once.
23163 2012-03-15  Mark Wielaard  <mark@klomp.org>
23165         git-merge-changelog: add specific example on how to use with hg.
23166         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
23168 2012-03-18  Mark Wielaard  <mark@klomp.org>
23170         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
23172 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
23174         git-version-gen: don't let "prefix" envvar cause trouble
23175         * build-aux/git-version-gen (prefix): Initialize properly,
23176         so as not to use a value specified via the environment.
23177         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
23179 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
23181         regex: diagnose too-large repeat counts in EREs
23182         Previously, the code did not diagnose the too-large repeat count
23183         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
23184         as if it were 'b\{1000000000}', which is unexpected.
23185         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
23186         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
23187         is a reasonable one for this problem.  Another option would be to
23188         create a new REG_OVERFLOW error for repeat counts that are too large.
23189         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
23190         count is too large, so that the caller can distinguish the two cases.
23191         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
23192         "Too large" return code, and that repeat counts are one example of this.
23194 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
23196         doc: some glibc x32 integer width issues
23197         * doc/posix-headers/sys_types.texi (sys/types.h):
23198         * doc/posix-headers/time.texi (time.h):
23199         Mention that glibc x32 does not conform to POSIX in a couple of
23200         areas related to integer widths.
23202 2012-03-15  Bruno Haible  <bruno@clisp.org>
23204         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
23205         * lib/fma.c (VOLATILE): New macro.
23206         (FUNC): Use it to work around a GCC compiler bug.
23208 2012-03-13  Bruno Haible  <bruno@clisp.org>
23210         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
23211         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
23212         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
23213         REPLACE_HYPOTL to 1.
23214         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
23216 2012-03-13  Bruno Haible  <bruno@clisp.org>
23218         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
23219         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
23220         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
23221         REPLACE_REMAINDERL to 1.
23222         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
23223         bug.
23225 2012-03-13  Bruno Haible  <bruno@clisp.org>
23227         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
23228         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
23229         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
23230         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
23231         too big rounding errors.
23232         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
23233         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
23234         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
23235         (Depends-on): Update conditions.
23236         * tests/test-sqrtl.c (my_ldexpl): New function.
23237         (main): Add test of a particular value.
23238         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
23240 2012-03-13  Pádraig Brady  <P@draigBrady.com>
23242         doc: Update timer_* platform portability notes.
23243         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
23244         that always return ENOSYS.
23245         * doc/posix-functions/timer_delete.texi: Likewise.
23246         * doc/posix-functions/timer_gettime.texi: Likewise.
23247         * doc/posix-functions/timer_settime.texi: Likewise.
23249 2012-03-13  Bruno Haible  <bruno@clisp.org>
23251         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
23252         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
23253         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
23254         REPLACE_CBRTL to 1.
23255         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
23257 2012-03-13  Bruno Haible  <bruno@clisp.org>
23259         remainderl: Avoid compilation error on AIX >= 5.2.
23260         * lib/math.in.h (remainderl): Undefine macro from the system header.
23262 2012-03-13  Bruno Haible  <bruno@clisp.org>
23264         Avoid compilation errors with MSVC option -fp:strict.
23265         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
23266         * lib/cbrtf.c: Likewise.
23267         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
23269 2012-03-12  Bruno Haible  <bruno@clisp.org>
23271         uninorm: Don't crash in out-of-memory conditions.
23272         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
23273         gracefully.
23274         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
23275         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
23277 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
23279         quote: fix syntax-check
23280         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
23281         also exports quote_quoting_options.
23283 2012-03-12  Simon Josefsson  <simon@josefsson.org>
23285         Collapse list of copyright years to ranges.  See
23286         <https://lists.gnu.org/r/bug-gnulib/2012-03/msg00051.html>.
23287         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
23288         build-aux/csharpexec.sh.in, build-aux/gnupload,
23289         build-aux/install-reloc, build-aux/javacomp.sh.in,
23290         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
23291         build-aux/move-if-change, build-aux/reloc-ldflags,
23292         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
23294 2012-03-11  Bruno Haible  <bruno@clisp.org>
23296         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
23297         * m4/log2f-ieee.m4: New file.
23298         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
23299         whether log2f works with a minus zero argument. Replace it if not.
23300         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
23301         (Depends-on): Add log2-ieee.
23302         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
23303         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
23305         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
23306         * m4/log2-ieee.m4: New file.
23307         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
23308         whether log2 works with a minus zero argument. Replace it if not.
23309         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
23310         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
23311         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
23313         Tests for module 'log2l-ieee'.
23314         * modules/log2l-ieee-tests: New file.
23315         * tests/test-log2l-ieee.c: New file.
23317         New module 'log2l-ieee'.
23318         * modules/log2l-ieee: New file.
23320         Tests for module 'log2-ieee'.
23321         * modules/log2-ieee-tests: New file.
23322         * tests/test-log2-ieee.c: New file.
23324         New module 'log2-ieee'.
23325         * modules/log2-ieee: New file.
23327         Tests for module 'log2f-ieee'.
23328         * modules/log2f-ieee-tests: New file.
23329         * tests/test-log2f-ieee.c: New file.
23330         * tests/test-log2-ieee.h: New file.
23332         New module 'log2f-ieee'.
23333         * modules/log2f-ieee: New file.
23335 2012-03-11  Bruno Haible  <bruno@clisp.org>
23337         Tests for module 'log2l'.
23338         * modules/log2l-tests: New file.
23339         * tests/test-log2l.c: New file.
23341         New module 'log2l'.
23342         * lib/math.in.h (log2l): New declaration.
23343         * lib/log2l.c: New file.
23344         * m4/log2l.m4: New file.
23345         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
23346         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
23347         REPLACE_LOG2L.
23348         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
23349         REPLACE_LOG2L.
23350         * modules/log2l: New file.
23351         * tests/test-math-c++.cc: Check the declaration of log2l.
23352         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
23353         and OSF/1 problems.
23355 2012-03-11  Bruno Haible  <bruno@clisp.org>
23357         Tests for module 'log2f'.
23358         * modules/log2f-tests: New file.
23359         * tests/test-log2f.c: New file.
23361         New module 'log2f'.
23362         * lib/math.in.h (log2f): New declaration.
23363         * lib/log2f.c: New file.
23364         * m4/log2f.m4: New file.
23365         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
23366         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
23367         REPLACE_LOG2F.
23368         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
23369         REPLACE_LOG2F.
23370         * modules/log2f: New file.
23371         * tests/test-math-c++.cc: Check the declaration of log2f.
23372         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
23373         and OSF/1 and Cygwin problems.
23375 2012-03-11  Bruno Haible  <bruno@clisp.org>
23377         Tests for module 'log2'.
23378         * modules/log2-tests: New file.
23379         * tests/test-log2.c: New file.
23380         * tests/test-log2.h: New file.
23382         New module 'log2'.
23383         * lib/math.in.h (log2): New declaration.
23384         * lib/log2.c: New file.
23385         * m4/log2.m4: New file.
23386         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
23387         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
23388         REPLACE_LOG2.
23389         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
23390         REPLACE_LOG2.
23391         * modules/log2: New file.
23392         * tests/test-math-c++.cc: Check the declaration of log2.
23393         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
23394         and OSF/1 and Cygwin problems.
23396 2012-03-11  Bruno Haible  <bruno@clisp.org>
23398         exp2* tests: More tests.
23399         * tests/test-exp2.h (test_function): Test all integral arguments that
23400         don't need to overflow or denormalized numbers.
23401         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
23402         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
23403         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
23405 2012-03-10  Bruno Haible  <bruno@clisp.org>
23407         log1pl-ieee: Work around test failure on AIX 7.1.
23408         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
23410         log1pl-ieee: Work around test failure on IRIX 6.5.
23411         * m4/log1pl-ieee.m4: New file.
23412         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
23413         test whether log1pl works with a minus zero argument. Replace it if
23414         not.
23415         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
23416         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
23417         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
23418         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
23419         (Depends-on): Update conditions.
23420         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
23421         m4/signbit.m4.
23422         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
23423         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
23425         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
23426         * m4/log1pf-ieee.m4: New file.
23427         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
23428         test whether log1pf works with a minus zero argument. Replace it if
23429         not.
23430         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
23431         m4/signbit.m4.
23432         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
23433         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
23435         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
23436         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
23437         (configure.ac): Require gl_FUNC_LOG1PF.
23439         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
23440         * m4/log1p-ieee.m4: New file.
23441         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
23442         whether log1p works with a minus zero argument. Replace it if not.
23443         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
23444         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
23445         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
23446         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
23447         (Depends-on): Update conditions.
23448         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
23449         m4/signbit.m4.
23450         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
23451         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
23453         Tests for module 'log1pl-ieee'.
23454         * modules/log1pl-ieee-tests: New file.
23455         * tests/test-log1pl-ieee.c: New file.
23457         New module 'log1pl-ieee'.
23458         * modules/log1pl-ieee: New file.
23460         Tests for module 'log1p-ieee'.
23461         * modules/log1p-ieee-tests: New file.
23462         * tests/test-log1p-ieee.c: New file.
23464         New module 'log1p-ieee'.
23465         * modules/log1p-ieee: New file.
23467         Tests for module 'log1pf-ieee'.
23468         * modules/log1pf-ieee-tests: New file.
23469         * tests/test-log1pf-ieee.c: New file.
23470         * tests/test-log1p-ieee.h: New file.
23472         New module 'log1pf-ieee'.
23473         * modules/log1pf-ieee: New file.
23475 2012-03-10  Bruno Haible  <bruno@clisp.org>
23477         Tests for module 'log1pl'.
23478         * modules/log1pl-tests: New file.
23479         * tests/test-log1pl.c: New file.
23481         New module 'log1pl'.
23482         * lib/math.in.h (log1pl): New declaration.
23483         * lib/log1pl.c: New file.
23484         * m4/log1pl.m4: New file.
23485         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
23486         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
23487         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
23488         * modules/log1pl: New file.
23489         * tests/test-math-c++.cc: Check the declaration of log1pl.
23490         * doc/posix-functions/log1pl.texi: Mention the new module.
23492 2012-03-10  Bruno Haible  <bruno@clisp.org>
23494         Tests for module 'log1pf'.
23495         * modules/log1pf-tests: New file.
23496         * tests/test-log1pf.c: New file.
23498         New module 'log1pf'.
23499         * lib/math.in.h (log1pf): New declaration.
23500         * lib/log1pf.c: New file.
23501         * m4/log1pf.m4: New file.
23502         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
23503         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
23504         REPLACE_LOG1PF.
23505         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
23506         REPLACE_LOG1PF.
23507         * modules/log1pf: New file.
23508         * tests/test-math-c++.cc: Check the declaration of log1pf.
23509         * doc/posix-functions/log1pf.texi: Mention the new module.
23511 2012-03-10  Bruno Haible  <bruno@clisp.org>
23513         log1p tests: More tests.
23514         * tests/test-log1p.h: New file.
23515         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
23516         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
23517         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
23518         (main): Invoke test_function.
23520         log1p: Provide replacement for Minix and MSVC.
23521         * lib/math.in.h (log1p): New declaration.
23522         * lib/log1p.c: New file.
23523         * m4/log1p.m4: New file.
23524         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
23525         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
23526         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
23527         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
23528         (Depends-on): Add math, isnand, log, round.
23529         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
23530         HAVE_LOG1P is 0.
23531         * tests/test-math-c++.cc: Check the declaration of log1p.
23532         * doc/posix-functions/log1p.texi: Mention the replacement.
23534 2012-03-10  Bruno Haible  <bruno@clisp.org>
23536         math tests: Small simplification.
23537         * tests/test-exp.h (test_function): Use the same err_bound for
23538         'double' on platforms with sizeof (long double) == sizeof (double)
23539         than on platforms with sizeof (long double) > sizeof (double).
23540         * tests/test-exp2.h (test_function): Likewise.
23541         * tests/test-expm1.h (test_function): Likewise.
23542         * tests/test-log.h (test_function): Likewise.
23544 2012-03-10  Bruno Haible  <bruno@clisp.org>
23546         Fix some comments.
23547         * lib/expl.c: Fix an ambiguous comment.
23548         * lib/expm1.c: Likewise.
23549         * lib/expm1l.c: Likewise.
23550         * lib/exp2.c: Likewise.
23551         * lib/exp2l.c: Likewise.
23553 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
23555         regex: allow inclusion of <regex.h> before <limits.h>
23556         Without this patch, portable programs had to include <limits.h> before
23557         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
23558         I ran into this problem with a test version of GNU grep on Solaris 8.
23559         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
23560         This is done conditionally so that this change can be merged
23561         back to glibc.
23562         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
23563         using the included regex.
23565         fts: depend on fdopendir
23566         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
23567         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
23568         problem was introduced when fdopendir was split out.
23570 2012-03-10  Bruno Haible  <bruno@clisp.org>
23572         Remove unused variables.
23573         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
23574         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
23576 2012-03-10  Bruno Haible  <bruno@clisp.org>
23578         isnanf-nolibm: Fix last commit.
23579         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
23581         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
23582         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
23584 2012-03-10  Bruno Haible  <bruno@clisp.org>
23586         logf-ieee: Work around test failure on NetBSD 5.1.
23587         * m4/logf-ieee.m4: New file.
23588         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
23589         whether logf works with a negative argument. Replace it if not.
23590         * lib/logf.c (logf): For negative arguments, return NaN.
23591         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
23592         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
23593         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
23595         logf-ieee: Work around test failure on Solaris 9.
23596         * modules/logf-ieee (Depends-on): Add log-ieee.
23597         (configure.ac): Require gl_FUNC_LOGF.
23599         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
23600         * m4/log-ieee.m4: New file.
23601         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
23602         log works with a negative argument. Replace it if not.
23603         * lib/log.c (log): For negative arguments, return NaN.
23604         * modules/log-ieee (Files): Add m4/log-ieee.m4.
23605         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
23606         * doc/posix-functions/log.texi: Mention the log-ieee module.
23608         Tests for module 'logl-ieee'.
23609         * modules/logl-ieee-tests: New file.
23610         * tests/test-logl-ieee.c: New file.
23612         New module 'logl-ieee'.
23613         * modules/logl-ieee: New file.
23615         Tests for module 'log-ieee'.
23616         * modules/log-ieee-tests: New file.
23617         * tests/test-log-ieee.c: New file.
23619         New module 'log-ieee'.
23620         * modules/log-ieee: New file.
23622         Tests for module 'logf-ieee'.
23623         * modules/logf-ieee-tests: New file.
23624         * tests/test-logf-ieee.c: New file.
23625         * tests/test-log-ieee.h: New file.
23627         New module 'logf-ieee'.
23628         * modules/logf-ieee: New file.
23630 2012-03-10  Bruno Haible  <bruno@clisp.org>
23632         log: Fix bug introduced on 2012-03-09.
23633         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
23635 2012-03-10  Pádraig Brady  <P@draigBrady.com>
23637         timer-time: link explicitly with pthreads on glibc
23638         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
23639         to support static linking, when newer glibc is
23640         detected, as that contains pthread emulation of
23641         POSIX timer functions where required.
23642         * modules/timer-time: Depend on threadlib to
23643         pull in the appropriate library to link.
23645 2012-03-10  Bruno Haible  <bruno@clisp.org>
23647         log* tests: More tests.
23648         * tests/test-log.h: New file.
23649         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
23650         (main): Invoke test_function.
23651         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
23652         (main): Invoke test_function.
23653         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
23654         (main): Invoke test_function.
23655         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
23656         tests/randomd.c.
23657         (Makefile.am): Add randomd.c to test_log_SOURCES.
23658         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
23659         tests/randomf.c.
23660         (Makefile.am): Add randomf.c to test_logf_SOURCES.
23661         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
23662         tests/randoml.c.
23663         (Depends-on): Add 'float'.
23664         (Makefile.am): Add randoml.c to test_logl_SOURCES.
23666 2012-03-09  Bruno Haible  <bruno@clisp.org>
23668         logl: Work around OSF/1 5.1 bug.
23669         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
23670         * lib/logl.c (logl): If logl exists, use it and provide just the
23671         workaround.
23672         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
23673         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
23674         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
23675         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
23676         * modules/logl (configure.ac): Consider REPLACE_LOGL.
23677         (Depends-on): Update conditions.
23678         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
23680 2012-03-09  Bruno Haible  <bruno@clisp.org>
23682         logf: Work around OSF/1 5.1 bug.
23683         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
23684         * lib/logf.c (logf): If logf exists, use it and provide just the
23685         workaround.
23686         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
23687         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
23688         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
23689         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
23690         * modules/logf (configure.ac): Consider REPLACE_LOGF.
23691         (Depends-on): Update conditions.
23692         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
23694 2012-03-09  Bruno Haible  <bruno@clisp.org>
23696         log: Work around OSF/1 5.1 bug.
23697         * lib/math.in.h (log): New declaration.
23698         * lib/log.c: New file.
23699         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
23700         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
23701         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
23702         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
23703         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
23704         * modules/log (Files): Add lib/log.c.
23705         (Depends-on): Add math.
23706         (configure.ac): If REPLACE_LOG is 1, compile an override.
23707         * tests/test-math-c++.cc: Check the declaration of log.
23708         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
23710 2012-03-09  Jim Meyering  <meyering@redhat.com>
23712         readtokens.c: adjust wording in a comment
23713         * lib/readtokens.c: Insert omitted "that" in a comment.
23715 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
23717         modechange: add notations +40, 00440, etc.
23718         * lib/modechange.c (mode_compile): Support new notations
23719         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
23721 2012-03-08  Bruno Haible  <bruno@clisp.org>
23723         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
23724         * m4/exp2l-ieee.m4: New file.
23725         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
23726         test whether exp2l works with a NaN argument and with a negative
23727         infinity argument. Replace it if not.
23728         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
23729         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
23730         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
23731         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
23732         (Depends-on): Update conditions.
23733         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
23734         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
23735         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
23737         Tests for module 'exp2l-ieee'.
23738         * modules/exp2l-ieee-tests: New file.
23739         * tests/test-exp2l-ieee.c: New file.
23741         New module 'exp2l-ieee'.
23742         * modules/exp2l-ieee: New file.
23744         Tests for module 'exp2-ieee'.
23745         * modules/exp2-ieee-tests: New file.
23746         * tests/test-exp2-ieee.c: New file.
23748         New module 'exp2-ieee'.
23749         * modules/exp2-ieee: New file.
23751         Tests for module 'exp2f-ieee'.
23752         * modules/exp2f-ieee-tests: New file.
23753         * tests/test-exp2f-ieee.c: New file.
23754         * tests/test-exp2-ieee.h: New file.
23756         New module 'exp2f-ieee'.
23757         * modules/exp2f-ieee: New file.
23759 2012-03-08  Bruno Haible  <bruno@clisp.org>
23761         Tests for module 'exp2l'.
23762         * modules/exp2l-tests: New file.
23763         * tests/test-exp2l.c: New file.
23765         New module 'exp2l'.
23766         * lib/math.in.h (exp2l): New declaration.
23767         * lib/exp2l.c: New file.
23768         * lib/expl-table.c: New file, extracted from lib/expl.c.
23769         * lib/expl.c (gl_expl_table): New declaration.
23770         (expl): Remove expl_table. Update reference.
23771         * m4/exp2l.m4: New file.
23772         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
23773         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
23774         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
23775         * modules/exp2l: New file.
23776         * modules/expl (Files): Add lib/expl-table.c.
23777         (configure.ac): Compile also expl-table.c.
23778         * tests/test-math-c++.cc: Check the declaration of exp2l.
23779         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
23780         problem.
23782 2012-03-08  Bruno Haible  <bruno@clisp.org>
23784         Tests for module 'exp2f'.
23785         * modules/exp2f-tests: New file.
23786         * tests/test-exp2f.c: New file.
23788         New module 'exp2f'.
23789         * lib/math.in.h (exp2f): New declaration.
23790         * lib/exp2f.c: New file.
23791         * m4/exp2f.m4: New file.
23792         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
23793         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
23794         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
23795         * modules/exp2f: New file.
23796         * tests/test-math-c++.cc: Check the declaration of exp2f.
23797         * doc/posix-functions/exp2f.texi: Mention the new module and the
23798         IRIX problem.
23800 2012-03-08  Bruno Haible  <bruno@clisp.org>
23802         Tests for module 'exp2'.
23803         * modules/exp2-tests: New file.
23804         * tests/test-exp2.c: New file.
23805         * tests/test-exp2.h: New file.
23807         New module 'exp2'.
23808         * lib/math.in.h (exp2): New declaration.
23809         * lib/exp2.c: New file.
23810         * m4/exp2.m4: New file.
23811         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
23812         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
23813         REPLACE_EXP2.
23814         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
23815         REPLACE_EXP2.
23816         * modules/exp2: New file.
23817         * tests/test-math-c++.cc: Check the declaration of exp2.
23818         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
23819         and OpenBSD problems.
23821 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
23823         savedir: fix comment typo
23824         * lib/savedir.c (savedirstream): Fix typo in comment.
23826 2012-03-08  Bruno Haible  <bruno@clisp.org>
23828         test-readtokens.c: use const; remove unwarranted cast
23829         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
23831 2012-03-08  Bruno Haible  <bruno@clisp.org>
23833         fmal: Avoid compilation error on AIX.
23834         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
23835         AIX 5.2..7.1.
23837 2012-03-08  Bruno Haible  <bruno@clisp.org>
23839         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
23840         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
23841         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
23842         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
23843         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
23844         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
23845         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
23847 2012-03-08  Bruno Haible  <bruno@clisp.org>
23849         remainderf: Override buggy system function on IRIX 6.5.
23850         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
23851         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
23852         when it exists.
23853         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
23855 2012-03-08  Jim Meyering  <meyering@redhat.com>
23857         test-readtokens.c: avoid const-related compilation warnings
23858         * tests/test-readtokens.c: Avoid const-related compilation warnings.
23860 2012-03-07  Jim Meyering  <meyering@redhat.com>
23861             Bruno Haible  <bruno@clisp.org>
23863         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
23864         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
23865         tests/randomd.c.
23866         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
23867         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
23868         tests/randoml.c.
23869         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
23871 2012-03-07  Bruno Haible  <bruno@clisp.org>
23873         expm1l: Avoid compilation error on AIX.
23874         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
23875         AIX 5.2..7.1.
23877 2012-03-07  Bruno Haible  <bruno@clisp.org>
23879         expm1l: Don't override undeclared system function on IRIX 6.5.
23880         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
23881         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
23882         it exists. Set HAVE_DECL_EXPM1L.
23883         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
23884         HAVE_EXPM1L.
23885         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
23886         HAVE_EXPM1L.
23887         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
23889 2012-03-07  Bruno Haible  <bruno@clisp.org>
23891         remainderl: Don't override undeclared system function on IRIX 6.5.
23892         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
23893         HAVE_REMAINDERL.
23894         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
23895         declared when it exists. Set HAVE_DECL_REMAINDERL.
23896         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
23897         not HAVE_REMAINDERL.
23898         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
23899         HAVE_REMAINDERL.
23900         * doc/posix-functions/remainderl.texi: Mention missing declaration
23901         problem.
23903 2012-03-07  Bruno Haible  <bruno@clisp.org>
23905         rintf: Don't override undeclared system function on IRIX 6.5.
23906         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
23907         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
23908         exists. Set HAVE_DECL_RINTF.
23909         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
23910         HAVE_RINTF.
23911         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
23912         HAVE_RINTF.
23913         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
23915 2012-03-07  Bruno Haible  <bruno@clisp.org>
23917         roundl: Avoid compilation error on AIX.
23918         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
23919         AIX 5.2..7.1.
23921 2012-03-07  Bruno Haible  <bruno@clisp.org>
23923         roundl: Don't override undeclared system function on IRIX 6.5.
23924         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
23925         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
23926         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
23927         * modules/roundl (configure.ac): For replacement code, test
23928         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
23929         (Depends-on): Update conditions.
23930         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
23932 2012-03-07  Bruno Haible  <bruno@clisp.org>
23934         roundf: Don't override undeclared system function on IRIX 6.5.
23935         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
23936         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
23937         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
23938         * modules/roundf (configure.ac): For replacement code, test
23939         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
23940         (Depends-on): Update conditions.
23941         * modules/roundf-ieee (Depends-on): Update conditions.
23942         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
23944 2012-03-07  Bruno Haible  <bruno@clisp.org>
23946         round: Don't override undeclared system function on IRIX 6.5.
23947         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
23948         argument.
23949         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
23950         also when it is not declared. Set HAVE_ROUND. For replacement code,
23951         test HAVE_ROUND, not HAVE_DECL_ROUND.
23952         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
23953         not HAVE_DECL_ROUND.
23954         (Depends-on): Update conditions.
23955         * modules/round-ieee (Depends-on): Update conditions.
23956         * doc/posix-functions/round.texi: Mention the IRIX problem.
23958 2012-03-07  Bruno Haible  <bruno@clisp.org>
23960         copysignf: Don't override undeclared system function on IRIX 6.5.
23961         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
23962         HAVE_COPYSIGNF.
23963         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
23964         declared when it exists. Set HAVE_DECL_COPYSIGNF.
23965         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
23966         not HAVE_COPYSIGNF.
23967         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
23968         HAVE_COPYSIGNF.
23969         * doc/posix-functions/copysignf.texi: Mention missing declaration
23970         problem.
23972 2012-03-07  Jim Meyering  <meyering@redhat.com>
23974         readtokens: add tests
23975         * modules/readtokens-tests: New file.
23976         * tests/test-readtokens.c: New file.
23978 2012-03-07  Jim Meyering  <meyering@redhat.com>
23980         quotearg: the module must now include quote.h
23981         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
23982         So must the module.
23983         * modules/quotearg (Files): Add quote.h.
23985 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
23987         readtokens: avoid core dumps with unusual calling patterns
23988         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
23989         * lib/readtokens.c: Include limits.h.
23990         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
23991         (readtoken): Don't cache the delimiters; the cache code was buggy
23992         if !delim && saved_delim, or if the new n_delim differs from the old.
23993         Also, it wasn't thread-safe.
23995 2012-03-07  Bruno Haible  <bruno@clisp.org>
23997         quote: Adhere to common module description layout.
23998         * modules/quote (Makefile.am): Add back empty section.
24000 2012-03-06  Akim Demaille  <demaille@gostai.com>
24002         quote: fuse into quotearg
24003         This patch is made for the benefit of Bison.
24004         quote does not leave the choice of the quoting style to the user.
24005         quoting_style provides poor customizability, yet quoting_options,
24006         which is very rich, is hidden inside quotearg.c.  So in order to
24007         allow quote customization, move its implementation to quotearg.c.
24008         * lib/quote.c: Remove.
24009         * modules/quote: Adjust.
24010         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
24011         warning: provide all the members of literal structs.
24012         (quote_quoting_options): New.
24013         (quote, quote_n): Import implementation from quote.c.
24014         * lib/quote.h: Import the comments from quote.c.
24015         (quote_quoting_options): New.
24017 2012-03-06  Bruno Haible  <bruno@clisp.org>
24019         Tests for module 'expm1l-ieee'.
24020         * modules/expm1l-ieee-tests: New file.
24021         * tests/test-expm1l-ieee.c: New file.
24023         New module 'expm1l-ieee'.
24024         * modules/expm1l-ieee: New file.
24026         Tests for module 'expm1f-ieee'.
24027         * modules/expm1f-ieee-tests: New file.
24028         * tests/test-expm1f-ieee.c: New file.
24030         New module 'expm1f-ieee'.
24031         * modules/expm1f-ieee: New file.
24033         Tests for module 'expm1-ieee'.
24034         * modules/expm1-ieee-tests: New file.
24035         * tests/test-expm1-ieee.c: New file.
24036         * tests/test-expm1-ieee.h: New file.
24038         New module 'expm1-ieee'.
24039         * modules/expm1-ieee: New file.
24040         * m4/expm1-ieee.m4: New file.
24041         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
24042         whether expm1 works with a minus zero argument. Replace it if not.
24043         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
24044         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
24045         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
24046         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
24047         (Depends-on): Update conditions.
24048         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
24049         AIX problem.
24051 2012-03-06  Bruno Haible  <bruno@clisp.org>
24053         Work around expm1f bug on IRIX 6.5.
24054         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
24055         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
24056         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
24057         not work.
24058         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
24059         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
24060         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
24061         (Depends-on): Update conditions.
24062         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
24064 2012-03-06  Bruno Haible  <bruno@clisp.org>
24066         Tests for module 'expm1l'.
24067         * modules/expm1l-tests: New file.
24068         * tests/test-expm1l.c: New file.
24070         New module 'expm1l'.
24071         * lib/math.in.h (expm1l): New declaration.
24072         * lib/expm1l.c: New file.
24073         * m4/expm1l.m4: New file.
24074         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
24075         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
24076         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
24077         * modules/expm1l: New file.
24078         * tests/test-math-c++.cc: Check the declaration of expm1l.
24079         * doc/posix-functions/expm1l.texi: Mention the new module.
24081 2012-03-06  Bruno Haible  <bruno@clisp.org>
24083         Tests for module 'expm1f'.
24084         * modules/expm1f-tests: New file.
24085         * tests/test-expm1f.c: New file.
24087         New module 'expm1f'.
24088         * lib/math.in.h (expm1f): New declaration.
24089         * lib/expm1f.c: New file.
24090         * m4/expm1f.m4: New file.
24091         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
24092         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
24093         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
24094         * modules/expm1f: New file.
24095         * tests/test-math-c++.cc: Check the declaration of expm1f.
24096         * doc/posix-functions/expm1f.texi: Mention the new module.
24098 2012-03-06  Bruno Haible  <bruno@clisp.org>
24100         Tests for module 'expm1'.
24101         * modules/expm1-tests: New file.
24102         * tests/test-expm1.c: New file.
24103         * tests/test-expm1.h: New file.
24105         New module 'expm1'.
24106         * lib/math.in.h (expm1): New declaration.
24107         * lib/expm1.c: New file.
24108         * m4/expm1.m4: New file.
24109         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
24110         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
24111         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
24112         * modules/expm1: New file.
24113         * tests/test-math-c++.cc: Check the declaration of expm1.
24114         * doc/posix-functions/expm1.texi: Mention the new module.
24116 2012-03-06  Bruno Haible  <bruno@clisp.org>
24118         math: Ensure declarations of math functions.
24119         * modules/acosf (Depends-on): Add 'extensions'.
24120         * modules/asinf (Depends-on): Likewise.
24121         * modules/atan2f (Depends-on): Likewise.
24122         * modules/atanf (Depends-on): Likewise.
24123         * modules/cbrt (Depends-on): Likewise.
24124         * modules/cbrtf (Depends-on): Likewise.
24125         * modules/cbrtl (Depends-on): Likewise.
24126         * modules/copysignf (Depends-on): Likewise.
24127         * modules/copysignl (Depends-on): Likewise.
24128         * modules/cosf (Depends-on): Likewise.
24129         * modules/coshf (Depends-on): Likewise.
24130         * modules/expf (Depends-on): Likewise.
24131         * modules/fabsf (Depends-on): Likewise.
24132         * modules/fabsl (Depends-on): Likewise.
24133         * modules/fmaf (Depends-on): Likewise.
24134         * modules/fmal (Depends-on): Likewise.
24135         * modules/fmodf (Depends-on): Likewise.
24136         * modules/fmodl (Depends-on): Likewise.
24137         * modules/frexpf (Depends-on): Likewise.
24138         * modules/frexpl (Depends-on): Likewise.
24139         * modules/hypot (Depends-on): Likewise.
24140         * modules/hypotf (Depends-on): Likewise.
24141         * modules/hypotl (Depends-on): Likewise.
24142         * modules/ldexpf (Depends-on): Likewise.
24143         * modules/ldexpl (Depends-on): Likewise.
24144         * modules/log10f (Depends-on): Likewise.
24145         * modules/log10l (Depends-on): Likewise.
24146         * modules/log1p (Depends-on): Likewise.
24147         * modules/logb (Depends-on): Likewise.
24148         * modules/logf (Depends-on): Likewise.
24149         * modules/modff (Depends-on): Likewise.
24150         * modules/modfl (Depends-on): Likewise.
24151         * modules/powf (Depends-on): Likewise.
24152         * modules/remainderf (Depends-on): Likewise.
24153         * modules/remainderl (Depends-on): Likewise.
24154         * modules/rintf (Depends-on): Likewise.
24155         * modules/rintl (Depends-on): Likewise.
24156         * modules/sinf (Depends-on): Likewise.
24157         * modules/sinhf (Depends-on): Likewise.
24158         * modules/sqrtf (Depends-on): Likewise.
24159         * modules/tanf (Depends-on): Likewise.
24160         * modules/tanhf (Depends-on): Likewise.
24161         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
24162         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
24163         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
24164         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
24165         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
24166         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
24167         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
24168         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
24169         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
24170         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
24171         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
24172         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
24173         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
24174         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
24175         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
24176         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
24177         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
24178         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
24179         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
24180         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
24181         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
24182         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
24183         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
24184         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
24185         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
24186         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
24187         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
24188         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
24189         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
24190         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
24191         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
24192         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
24193         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
24194         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
24195         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
24196         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
24197         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
24198         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
24199         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
24200         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
24201         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
24203 2012-03-06  Bruno Haible  <bruno@clisp.org>
24205         math: Update module names in warnings.
24206         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
24207         tanl): Use specific module name in warn-on-use warning.
24209 2012-03-06  Bruno Haible  <bruno@clisp.org>
24211         expl: Simplify computation.
24212         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
24214 2012-03-05  Bruno Haible  <bruno@clisp.org>
24216         exp* tests: More tests.
24217         * tests/test-exp.h: New file.
24218         * tests/test-exp.c: Include <float.h> and test-exp.h.
24219         (main): Invoke test_function.
24220         * tests/test-expf.c: Include <float.h> and test-exp.h.
24221         (main): Invoke test_function.
24222         * tests/test-expl.c: Include <float.h> and test-exp.h.
24223         (main): Invoke test_function.
24224         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
24225         (Makefile.am): Add randomd.c to test_exp_SOURCES.
24226         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
24227         (Makefile.am): Add randomf.c to test_expf_SOURCES.
24228         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
24229         (Depends-on): Add 'float'.
24230         (Makefile.am): Add randoml.c to test_expl_SOURCES.
24232         expl: Fix precision of computed result.
24233         * lib/expl.c: Completely rewritten.
24234         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
24235         (Maintainer): Add me.
24236         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
24238 2012-03-05  Bruno Haible  <bruno@clisp.org>
24240         cbrt* tests: More tests.
24241         * tests/test-cbrt.h: New file.
24242         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
24243         (main): Invoke test_function.
24244         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
24245         (main): Invoke test_function.
24246         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
24247         (main): Invoke test_function.
24248         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
24249         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
24250         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
24251         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
24252         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
24253         (Depends-on): Add 'float'.
24254         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
24256 2012-03-05  Bruno Haible  <bruno@clisp.org>
24258         hypot* tests: More tests.
24259         * tests/test-hypot.h: New file, partially extracted from
24260         tests/test-hypotl.c.
24261         * tests/test-hypot.c: Include test-hypot.h.
24262         (main): Invoke test_function.
24263         * tests/test-hypotf.c: Include test-hypot.h.
24264         (main): Invoke test_function.
24265         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
24266         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
24267         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
24268         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
24269         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
24270         tests/randomf.c.
24271         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
24272         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
24273         tests/randoml.c.
24274         (Depends-on): Add 'fpucw', 'float'.
24275         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
24277 2012-03-05  Bruno Haible  <bruno@clisp.org>
24279         fpucw: Doc about FreeBSD.
24280         * lib/fpucw.h: Mention FreeBSD in comments.
24282 2012-03-04  Bruno Haible  <bruno@clisp.org>
24284         sqrt* tests: More tests.
24285         * tests/test-sqrt.h: New file.
24286         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
24287         (main): Invoke test_function.
24288         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
24289         (main): Invoke test_function.
24290         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
24291         (main): Invoke test_function.
24292         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
24293         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
24294         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
24295         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
24296         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
24297         (Depends-on): Add 'float'.
24298         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
24300 2012-03-04  Bruno Haible  <bruno@clisp.org>
24302         remainder* tests: More tests.
24303         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
24304         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
24305         (main): Invoke test_function.
24306         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
24307         (main): Invoke test_function.
24308         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
24309         (main): Invoke test_function.
24310         * modules/remainder-tests (Files): Add tests/test-remainder.h,
24311         tests/randomd.c.
24312         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
24313         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
24314         tests/randomf.c.
24315         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
24316         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
24317         tests/randoml.c.
24318         (Depends-on): Add 'float'.
24319         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
24321 2012-03-04  Bruno Haible  <bruno@clisp.org>
24323         remainder, remainderf, remainderl: Fix computation for large quotients.
24324         * lib/remainder.c: Completely rewritten.
24325         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
24326         USE_FLOAT.
24327         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
24328         USE_LONG_DOUBLE.
24329         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
24330         isnand, isinf. Remove round, fma.
24331         * modules/remainderf (Files): Add lib/remainder.c.
24332         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
24333         Remove roundf, fmaf.
24334         * modules/remainderl (Files): Add lib/remainder.c.
24335         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
24336         isinf. Remove roundl, fmal.
24337         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
24338         REMAINDER_LIBM.
24339         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
24340         REMAINDERF_LIBM.
24341         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
24342         REMAINDERL_LIBM.
24344 2012-03-04  Bruno Haible  <bruno@clisp.org>
24346         fmod* tests: More tests.
24347         * tests/test-fmod.h (my_ldexp): New function.
24348         (test_function): Reduce amount of random numbers to test. Add tests
24349         of very large quotients x / y.
24350         * tests/test-fmod.c (MAX_EXP): New macro.
24351         * tests/test-fmodf.c (MAX_EXP): Likewise.
24352         * tests/test-fmodl.c (MAX_EXP): Likewise.
24354 2012-03-04  Bruno Haible  <bruno@clisp.org>
24356         fmod, fmodl: Fix computation for large quotients x / y.
24357         * lib/fmod.c: Completely rewritten.
24358         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
24359         USE_LONG_DOUBLE.
24360         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
24361         isnand. Remove fma.
24362         * modules/fmodl (Files): Add lib/fmod.c.
24363         (Depends-on): Add float, isfinite, signbit, fabsl,
24364         frexpl, ldexpl, isnanl. Remove fma.
24365         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
24366         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
24368 2012-03-03  Bruno Haible  <bruno@clisp.org>
24370         fmod* tests: More tests.
24371         * tests/test-fmod.h: New file.
24372         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
24373         (main): Invoke test_function.
24374         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
24375         (main): Invoke test_function.
24376         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
24377         (main): Invoke test_function.
24378         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
24379         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
24380         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
24381         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
24382         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
24383         (Depends-on): Add 'float'.
24384         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
24386 2012-03-03  Bruno Haible  <bruno@clisp.org>
24388         rint* tests: More tests.
24389         * tests/test-rint.h: New file, partially extracted from
24390         tests/test-rintl.c.
24391         * tests/test-rint.c: Include test-rint.h.
24392         (main): Invoke test_function.
24393         * tests/test-rintf.c: Include test-rint.h.
24394         (main): Invoke test_function.
24395         * tests/test-rintl.c: Include test-rint.h.
24396         (main): Invoke test_function.
24397         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
24398         (Makefile.am): Add randomd.c to test_rint_SOURCES.
24399         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
24400         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
24401         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
24402         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
24404 2012-03-03  Bruno Haible  <bruno@clisp.org>
24406         modf* tests: More tests.
24407         * tests/test-modf.h: New file.
24408         * tests/test-modf.c: Include <float.h> and test-modf.h.
24409         (main): Invoke test_function.
24410         * tests/test-modff.c: Include <float.h> and test-modf.h.
24411         (main): Invoke test_function.
24412         * tests/test-modfl.c: Include <float.h> and test-modf.h.
24413         (main): Invoke test_function.
24414         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
24415         (Makefile.am): Add randomd.c to test_modf_SOURCES.
24416         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
24417         (Makefile.am): Add randomf.c to test_modff_SOURCES.
24418         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
24419         (Depends-on): Add 'float'.
24420         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
24422 2012-03-03  Bruno Haible  <bruno@clisp.org>
24424         fabs* tests: More tests.
24425         * tests/test-fabs.h: New file, partially extracted from
24426         tests/test-fabsl.c.
24427         * tests/test-fabs.c (RANDOM): New macro.
24428         * tests/test-fabsf.c (RANDOM): New macro.
24429         * tests/test-fabsl.c (RANDOM): New macro.
24430         * modules/fabs-tests (Files): Add tests/randomd.c.
24431         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
24432         * modules/fabsf-tests (Files): Add tests/randomf.c.
24433         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
24434         * modules/fabsl-tests (Files): Add tests/randoml.c.
24435         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
24437 2012-03-03  Bruno Haible  <bruno@clisp.org>
24439         ldexp* tests: More tests.
24440         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
24441         * tests/test-ldexp.c (RANDOM): New macro.
24442         * tests/test-ldexpf.c (RANDOM): New macro.
24443         * tests/test-ldexpl.c (RANDOM): New macro.
24444         * modules/ldexp-tests (Files): Add tests/randomd.c.
24445         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
24446         * modules/ldexpf-tests (Files): Add tests/randomf.c.
24447         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
24448         * modules/ldexpl-tests (Files): Add tests/randoml.c.
24449         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
24451 2012-03-03  Bruno Haible  <bruno@clisp.org>
24453         frexp* tests: More tests.
24454         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
24455         * tests/test-frexp.c (RANDOM): New macro.
24456         * tests/test-frexpf.c (RANDOM): New macro.
24457         * tests/test-frexpl.c (RANDOM): New macro.
24458         * modules/frexp-tests (Files): Add tests/randomd.c.
24459         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
24460         * modules/frexpf-tests (Files): Add tests/randomf.c.
24461         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
24462         * modules/frexpl-tests (Files): Add tests/randoml.c.
24463         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
24465 2012-03-03  Bruno Haible  <bruno@clisp.org>
24467         Support for pseudo-random numbers in tests.
24468         * tests/randomf.c: New file.
24469         * tests/randomd.c: New file.
24470         * tests/randoml.c: New file.
24471         * tests/macros.h (randomf, randomd, randoml): New declarations.
24473 2012-03-03  Bruno Haible  <bruno@clisp.org>
24475         frexp* tests: Refactor.
24476         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
24477         * tests/test-frexp.c: Include and use it.
24478         * tests/test-frexpf.c: Likewise.
24479         * tests/test-frexpl.c: Likewise.
24480         * modules/frexp-tests (Files): Add tests/test-frexp.h.
24481         * modules/frexpf-tests (Files): Likewise.
24482         * modules/frexpl-tests (Files): Likewise.
24484 2012-03-02  Jim Meyering  <meyering@redhat.com>
24486         maint: don't specify XZ_OPT=-9ev in dist-related rule
24487         Using xz's -9 option is warranted only if you have a very large
24488         tarball (see xz's documentation for the sizes vs. presets), and
24489         requires 64MiB of memory at decompression time.
24490         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
24491         Automake's default of just "-e" is fine.  Override on a
24492         per-package basis by setting XZ_OPT e.g., in cfg.mk.
24494 2012-03-01  Eric Blake  <eblake@redhat.com>
24496         maint.mk: allow announcement for non-gnulib project
24497         * maint.mk (announcement): Skip gnulib version if not used.
24499 2012-03-01  Jim Meyering  <meyering@redhat.com>
24501         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
24502         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
24503         envvar settings cannot interfere.  Otherwise, setting envvars like
24504         prohibit=foo require=bar, etc. would cause spurious test failures.
24506 2012-03-01  Eric Blake  <eblake@redhat.com>
24508         maint.mk: add per-line exclusions to prohibitions
24509         * maint.mk (_sc_search_regexp): Add $exclude parameter.
24510         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
24511         (sc_const_long_option): Use it.
24513 2012-03-01  Bruno Haible  <bruno@clisp.org>
24515         Tests for module 'expl-ieee'.
24516         * modules/expl-ieee-tests: New file.
24517         * tests/test-expl-ieee.c: New file.
24519         New module 'expl-ieee'.
24520         * modules/expl-ieee: New file.
24522         Tests for module 'exp-ieee'.
24523         * modules/exp-ieee-tests: New file.
24524         * tests/test-exp-ieee.c: New file.
24526         New module 'exp-ieee'.
24527         * modules/exp-ieee: New file.
24529         Tests for module 'expf-ieee'.
24530         * modules/expf-ieee-tests: New file.
24531         * tests/test-expf-ieee.c: New file.
24532         * tests/test-exp-ieee.h: New file.
24534         New module 'expf-ieee'.
24535         * modules/expf-ieee: New file.
24537 2012-02-29  Bruno Haible  <bruno@clisp.org>
24539         cbrtl-ieee: Work around test failure on IRIX 6.5.
24540         * m4/cbrtl-ieee.m4: New file.
24541         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
24542         test whether cbrtl works with a minus zero argument. Replace it if not.
24543         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
24544         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
24545         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
24546         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
24547         (Depends-on): Update conditions.
24548         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
24549         m4/signbit.m4.
24550         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
24551         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
24552         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
24554         Tests for module 'cbrtl-ieee'.
24555         * modules/cbrtl-ieee-tests: New file.
24556         * tests/test-cbrtl-ieee.c: New file.
24558         New module 'cbrtl-ieee'.
24559         * modules/cbrtl-ieee: New file.
24561         Tests for module 'cbrt-ieee'.
24562         * modules/cbrt-ieee-tests: New file.
24563         * tests/test-cbrt-ieee.c: New file.
24565         New module 'cbrt-ieee'.
24566         * modules/cbrt-ieee: New file.
24568         Tests for module 'cbrtf-ieee'.
24569         * modules/cbrtf-ieee-tests: New file.
24570         * tests/test-cbrtf-ieee.c: New file.
24571         * tests/test-cbrt-ieee.h: New file.
24573         New module 'cbrtf-ieee'.
24574         * modules/cbrtf-ieee: New file.
24576 2012-02-29  Bruno Haible  <bruno@clisp.org>
24578         cbrtf: Work around bug in IRIX 6.5 system function.
24579         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
24580         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
24581         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
24582         work.
24583         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
24584         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
24585         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
24586         (Depends-on): Update conditions.
24587         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
24589 2012-02-29  Bruno Haible  <bruno@clisp.org>
24591         Tests for module 'cbrtl'.
24592         * modules/cbrtl-tests: New file.
24593         * tests/test-cbrtl.c: New file.
24595         New module 'cbrtl'.
24596         * lib/math.in.h (cbrtl): New declaration.
24597         * lib/cbrtl.c: New file.
24598         * m4/cbrtl.m4: New file.
24599         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
24600         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
24601         HAVE_DECL_CBRTL.
24602         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
24603         HAVE_DECL_CBRTL.
24604         * modules/cbrtl: New file.
24605         * tests/test-math-c++.cc: Check the declaration of cbrtl.
24606         * doc/posix-functions/cbrtl.texi: Mention the new module.
24608 2012-02-29  Bruno Haible  <bruno@clisp.org>
24610         Tests for module 'cbrtf'.
24611         * modules/cbrtf-tests: New file.
24612         * tests/test-cbrtf.c: New file.
24614         New module 'cbrtf'.
24615         * lib/math.in.h (cbrtf): New declaration.
24616         * lib/cbrtf.c: New file.
24617         * m4/cbrtf.m4: New file.
24618         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
24619         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
24620         HAVE_DECL_CBRTF.
24621         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
24622         HAVE_DECL_CBRTF.
24623         * modules/cbrtf: New file.
24624         * tests/test-math-c++.cc: Check the declaration of cbrtf.
24625         * doc/posix-functions/cbrtf.texi: Mention the new module.
24627 2012-02-29  Bruno Haible  <bruno@clisp.org>
24629         cbrt: Provide replacement on MSVC and Minix.
24630         * lib/math.in.h (cbrt): New declaration.
24631         * lib/cbrt.c: New file.
24632         * m4/cbrt.m4: New file.
24633         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
24634         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
24635         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
24636         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
24637         (Depends-on): Add dependencies.
24638         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
24639         * tests/test-math-c++.cc: Check the declaration of cbrt.
24640         * doc/posix-functions/cbrt.texi: Mention that the module provides a
24641         replacement.
24643 2012-02-29  Bruno Haible  <bruno@clisp.org>
24645         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
24646         * m4/hypotl-ieee.m4: New file.
24647         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
24648         test whether hypotl works with mixed NaN and Infinity arguments.
24649         Replace it if not.
24650         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
24651         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
24652         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
24653         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
24654         (Depends-on): Update conditions.
24655         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
24656         (Depends-on): Add hypot-ieee.
24657         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
24658         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
24660         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
24661         * m4/hypotf-ieee.m4: New file.
24662         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
24663         test whether hypotf works with mixed NaN and Infinity arguments.
24664         Replace it if not.
24665         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
24666         (Depends-on): Add hypot-ieee.
24667         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
24668         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
24670         hypot-ieee: Work around test failure on OSF/1 and native Windows.
24671         * lib/math.in.h (hypot): New declaration.
24672         * lib/hypot.c: New file.
24673         * m4/hypot-ieee.m4: New file.
24674         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
24675         whether hypot works with mixed NaN and Infinity arguments. Replace it
24676         if not.
24677         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
24678         REPLACE_HYPOT.
24679         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
24680         * modules/hypot (Files): Add lib/hypot.c.
24681         (Depends-on): Add dependencies.
24682         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
24683         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
24684         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
24685         * tests/test-math-c++.cc: Check the declaration of hypot.
24686         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
24688         Tests for module 'hypotl-ieee'.
24689         * modules/hypotl-ieee-tests: New file.
24690         * tests/test-hypotl-ieee.c: New file.
24692         New module 'hypotl-ieee'.
24693         * modules/hypotl-ieee: New file.
24695         Tests for module 'hypot-ieee'.
24696         * modules/hypot-ieee-tests: New file.
24697         * tests/test-hypot-ieee.c: New file.
24699         New module 'hypot-ieee'.
24700         * modules/hypot-ieee: New file.
24702         Tests for module 'hypotf-ieee'.
24703         * modules/hypotf-ieee-tests: New file.
24704         * tests/test-hypotf-ieee.c: New file.
24705         * tests/test-hypot-ieee.h: New file.
24707         New module 'hypotf-ieee'.
24708         * modules/hypotf-ieee: New file.
24710 2012-02-29  Bruno Haible  <bruno@clisp.org>
24712         Remove unused variables.
24713         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
24714         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
24715         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
24716         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
24718 2012-02-29  Eric Blake  <eblake@redhat.com>
24720         termios: fix pid_t always, not just for tcgetsid
24721         * doc/posix-headers/termios.texi (termios.h): Mention problem.
24722         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
24723         just when building tcgetsid.
24725 2012-02-29  Bruno Haible  <bruno@clisp.org>
24727         Tests for module 'hypotl'.
24728         * modules/hypotl-tests: New file.
24729         * tests/test-hypotl.c: New file.
24731         New module 'hypotl'.
24732         * lib/math.in.h (hypotl): New declaration.
24733         * lib/hypotl.c: New file.
24734         * m4/hypotl.m4: New file.
24735         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
24736         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
24737         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
24738         * modules/hypotl: New file.
24739         * tests/test-math-c++.cc: Check the hypotl declaration.
24740         * doc/posix-functions/hypotl.texi: Mention the new module.
24742 2012-02-29  Eric Blake  <eblake@redhat.com>
24744         tcgetsid: fix cygwin header bug
24745         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
24747         docs: update cygwin progress
24748         * doc/posix-functions/llround.texi (llround): Added in cygwin
24749         1.7.8.
24750         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
24751         * doc/glibc-functions/program_invocation_name.texi
24752         (program_invocation_name): Likewise.
24753         * doc/glibc-functions/program_invocation_short_name.texi
24754         (program_invocation_short_name): Likewise.
24755         * doc/glibc-functions/madvise.texi (madvise): Likewise.
24756         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
24757         Likewise.
24758         * doc/posix-functions/pthread_spin_destroy.texi
24759         (pthread_spin_destroy): Added in cygwin 1.7.10.
24760         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
24761         Likewise.
24762         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
24763         Likewise.
24764         * doc/posix-functions/pthread_spin_trylock.texi
24765         (pthread_spin_trylock): Likewise.
24766         * doc/posix-functions/pthread_spin_unlock.texi
24767         (pthread_spin_unlock): Likewise.
24768         * doc/posix-functions/pthread_setschedprio.texi
24769         (pthread_setschedprio): Likewise.
24770         * doc/posix-functions/pthread_attr_getstack.texi
24771         (pthread_attr_getstack): Likewise.
24772         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
24773         (pthread_attr_getstackaddr): Likewise.
24774         * doc/glibc-functions/pthread_getattr_np.texi
24775         (pthread_getattr_np): Likewise.
24776         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
24777         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
24778         * doc/posix-functions/clock_settime.texi (clock_settime):
24779         Likewise.
24780         * doc/posix-functions/pthread_attr_getguardsize.texi
24781         (pthread_attr_getguardsize): Likewise.
24782         * doc/posix-functions/pthread_attr_setguardsize.texi
24783         (pthread_attr_setguardsize): Likewise.
24784         * doc/posix-functions/pthread_attr_setstack.texi
24785         (pthread_attr_setstack): Likewise.
24786         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
24787         (pthread_attr_setstackaddr): Likewise.
24788         * doc/posix-functions/clock_getcpuclockid.texi
24789         (clock_getcpuclockid): Likewise.
24790         * doc/posix-functions/pthread_getcpuclockid.texi
24791         (pthread_getcpuclockid): Likewise.
24792         * doc/glibc-functions/error.texi (error): Likewise.
24793         * doc/glibc-functions/error_at_line.texi (error_at_line):
24794         Likewise.
24795         * doc/glibc-functions/error_message_count.texi
24796         (error_message_count): Likewise.
24797         * doc/glibc-functions/error_one_per_line.texi
24798         (error_one_per_line): Likewise.
24799         * doc/glibc-functions/error_print_progname.texi
24800         (error_print_progname): Likewise.
24801         * doc/posix-functions/pthread_condattr_getclock.texi
24802         (pthread_condattr_getclock): Likewise.
24803         * doc/posix-functions/pthread_condattr_setclock.texi
24804         (pthread_condattr_setclock): Likewise.
24805         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
24806         Likewise.
24807         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
24808         * doc/glibc-functions/getpt.texi (getpt): Likewise.
24809         * doc/glibc-functions/get_current_dir_name.texi
24810         (get_current_dir_name): Likewise.
24811         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
24812         Likewise.
24813         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
24814         wrong return type.
24815         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
24816         1.7.11.
24818 2012-02-29  Bruno Haible  <bruno@clisp.org>
24820         Tests for module 'hypotf'.
24821         * modules/hypotf-tests: New file.
24822         * tests/test-hypotf.c: New file.
24824         New module 'hypotf'.
24825         * lib/math.in.h (hypotf): New declaration.
24826         * lib/hypotf.c: New file.
24827         * m4/hypotf.m4: New file.
24828         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
24829         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
24830         REPLACE_HYPOTF.
24831         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
24832         REPLACE_HYPOTF.
24833         * modules/hypotf: New file.
24834         * tests/test-math-c++.cc: Check the hypotf declaration.
24835         * doc/posix-functions/hypotf.texi: Mention the new module.
24837         hypot: Prepare for hypotf module.
24838         * m4/hypot.m4: New file.
24839         * modules/hypot (Files): Add m4/hypot.m4.
24840         (configure.ac): Invoke gl_FUNC_HYPOT.
24842 2012-02-29  Bruno Haible  <bruno@clisp.org>
24844         hypot tests: More tests.
24845         * tests/test-hypot.c: Include <float.h>.
24846         (main): Add tests about overflow and underflow.
24848 2012-02-29  Bruno Haible  <bruno@clisp.org>
24850         math code: Add comments.
24851         * lib/acosl.c: Add comment about related glibc source files.
24852         * lib/asinl.c: Likewise.
24853         * lib/atanl.c: Likewise.
24854         * lib/expl.c: Likewise.
24855         * lib/logl.c: Likewise.
24856         * lib/sincosl.c: Likewise.
24857         * lib/sinl.c: Likewise.
24858         * lib/tanl.c: Likewise.
24859         * lib/trigl.c: Likewise.
24860         * lib/cosl.c: Likewise. Fix comments.
24862 2012-02-28  Bruno Haible  <bruno@clisp.org>
24864         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
24865         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
24866         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
24867         HUGE_VALL are defined.
24868         (numeric_equald): Renamed from numeric_equal.
24869         (numeric_equalf, numeric_equall): New functions.
24870         (main): Check also HUGE_VALF, HUGE_VALL.
24871         * modules/math-tests (Files): Add tests/macros.h.
24872         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
24873         HUGE_VALL.
24875 2012-02-28  Bruno Haible  <bruno@clisp.org>
24877         doc: Move ISO C11 feature notes into POSIX chapters.
24878         * doc/posix-functions/aligned_alloc.texi: Renamed from
24879         doc/glibc-functions/aligned_alloc.texi.
24880         * doc/posix-functions/quick_exit.texi: Renamed from
24881         doc/glibc-functions/quick_exit.texi.
24882         * doc/posix-headers/uchar.texi: Renamed from
24883         doc/glibc-headers/uchar.texi.
24884         * doc/posix-functions/c16rtomb.texi: Renamed from
24885         doc/glibc-functions/c16rtomb.texi.
24886         * doc/posix-functions/c32rtomb.texi: Renamed from
24887         doc/glibc-functions/c32rtomb.texi.
24888         * doc/posix-functions/mbrtoc16.texi: Renamed from
24889         doc/glibc-functions/mbrtoc16.texi.
24890         * doc/posix-functions/mbrtoc32.texi: Renamed from
24891         doc/glibc-functions/mbrtoc32.texi.
24892         * doc/gnulib.texi: Update.
24893         (Glibc uchar.h): Remove section.
24894         Suggested by Eric Blake.
24896 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
24898         stdnoreturn: port to MSVC better
24899         MSVC standard headers use __declspec(noreturn), so #define noreturn
24900         to empty on that platform.  Reported by Bruno Haible in
24901         <http://lists.gnu.org/r/bug-gnulib/2012-02/msg00152.html>.
24902         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
24903         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
24905 2012-02-28  Bruno Haible  <bruno@clisp.org>
24907         doc: Mention new glibc headers and functions.
24908         * doc/glibc-headers/uchar.texi: New file.
24909         * doc/glibc-functions/aligned_alloc.texi: New file.
24910         * doc/glibc-functions/c16rtomb.texi: New file.
24911         * doc/glibc-functions/c32rtomb.texi: New file.
24912         * doc/glibc-functions/clock_adjtime.texi: New file.
24913         * doc/glibc-functions/fanotify_init.texi: New file.
24914         * doc/glibc-functions/fanotify_mark.texi: New file.
24915         * doc/glibc-functions/inet6_opt_append.texi: New file.
24916         * doc/glibc-functions/inet6_opt_find.texi: New file.
24917         * doc/glibc-functions/inet6_opt_finish.texi: New file.
24918         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
24919         * doc/glibc-functions/inet6_opt_init.texi: New file.
24920         * doc/glibc-functions/inet6_opt_next.texi: New file.
24921         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
24922         * doc/glibc-functions/inet6_rth_add.texi: New file.
24923         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
24924         * doc/glibc-functions/inet6_rth_init.texi: New file.
24925         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
24926         * doc/glibc-functions/inet6_rth_segments.texi: New file.
24927         * doc/glibc-functions/inet6_rth_space.texi: New file.
24928         * doc/glibc-functions/login.texi: New file.
24929         * doc/glibc-functions/mbrtoc16.texi: New file.
24930         * doc/glibc-functions/mbrtoc32.texi: New file.
24931         * doc/glibc-functions/name_to_handle_at.texi: New file.
24932         * doc/glibc-functions/ntp_gettimex.texi: New file.
24933         * doc/glibc-functions/open_by_handle_at.texi: New file.
24934         * doc/glibc-functions/prlimit.texi: New file.
24935         * doc/glibc-functions/process_vm_readv.texi: New file.
24936         * doc/glibc-functions/process_vm_writev.texi: New file.
24937         * doc/glibc-functions/recvmmsg.texi: New file.
24938         * doc/glibc-functions/scandirat.texi: New file.
24939         * doc/glibc-functions/sendmmsg.texi: New file.
24940         * doc/glibc-functions/setns.texi: New file.
24941         * doc/glibc-functions/timespec_get.texi: New file.
24942         * doc/gnulib.texi: Include them.
24943         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
24944         sections.
24945         Reported by Eric Blake.
24947 2012-02-28  Bruno Haible  <bruno@clisp.org>
24949         Avoid compilation errors with MSVC option -fp:strict.
24950         * lib/floor.c: Use MSVC specific pragma fenv_access.
24951         * lib/ceil.c: Likewise.
24952         * lib/trunc.c: Likewise.
24953         * lib/round.c: Likewise.
24954         * lib/rint.c: Likewise.
24955         * lib/fma.c: Likewise.
24956         * lib/integer_length.c: Likewise.
24957         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
24958         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
24959         * tests/test-floor2.c: Likewise.
24960         * tests/test-floorf2.c: Likewise.
24961         * tests/test-ceil2.c: Likewise.
24962         * tests/test-ceilf2.c: Likewise.
24963         * tests/test-trunc2.c: Likewise.
24964         * tests/test-truncf2.c: Likewise.
24965         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
24967 2012-02-27  Bruno Haible  <bruno@clisp.org>
24969         Tests for module 'sqrtl-ieee'.
24970         * modules/sqrtl-ieee-tests: New file.
24971         * tests/test-sqrtl-ieee.c: New file.
24973         New module 'sqrtl-ieee'.
24974         * modules/sqrtl-ieee: New file.
24976         Tests for module 'sqrt-ieee'.
24977         * modules/sqrt-ieee-tests: New file.
24978         * tests/test-sqrt-ieee.c: New file.
24980         New module 'sqrt-ieee'.
24981         * modules/sqrt-ieee: New file.
24983         Tests for module 'sqrtf-ieee'.
24984         * modules/sqrtf-ieee-tests: New file.
24985         * tests/test-sqrtf-ieee.c: New file.
24986         * tests/test-sqrt-ieee.h: New file.
24988         New module 'sqrtf-ieee'.
24989         * modules/sqrtf-ieee: New file.
24991 2012-02-27  Bruno Haible  <bruno@clisp.org>
24993         remainderl-ieee: Work around test failure on OSF/1.
24994         * m4/remainderl-ieee.m4: New file.
24995         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
24996         present, test whether remainderl works with a zero second argument.
24997         Replace it if not.
24998         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
24999         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
25000         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
25001         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
25002         (Depends-on): Update conditions.
25003         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
25004         (Depends-on): Add remainder-ieee.
25005         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
25006         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
25007         module.
25009         remainderf-ieee: Work around test failure on OSF/1.
25010         * m4/remainderf-ieee.m4: New file.
25011         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
25012         present, test whether remainderf works with a zero second argument.
25013         Replace it if not.
25014         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
25015         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
25016         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
25017         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
25018         (Depends-on): Update conditions.
25019         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
25020         (Depends-on): Add remainder-ieee.
25021         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
25022         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
25023         module.
25025         remainder-ieee: Work around test failure on OSF/1.
25026         * m4/remainder-ieee.m4: New file.
25027         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
25028         present, test whether remainder works with a zero second argument.
25029         Replace it if not.
25030         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
25031         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
25032         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
25033         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
25034         (Depends-on): Update dependencies.
25035         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
25036         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
25037         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
25039         Tests for module 'remainderl-ieee'.
25040         * modules/remainderl-ieee-tests: New file.
25041         * tests/test-remainderl-ieee.c: New file.
25043         New module 'remainderl-ieee'.
25044         * modules/remainderl-ieee: New file.
25046         Tests for module 'remainder-ieee'.
25047         * modules/remainder-ieee-tests: New file.
25048         * tests/test-remainder-ieee.c: New file.
25050         New module 'remainder-ieee'.
25051         * modules/remainder-ieee: New file.
25053         Tests for module 'remainderf-ieee'.
25054         * modules/remainderf-ieee-tests: New file.
25055         * tests/test-remainderf-ieee.c: New file.
25056         * tests/test-remainder-ieee.h: New file.
25058         New module 'remainderf-ieee'.
25059         * modules/remainderf-ieee: New file.
25061 2012-02-27  Bruno Haible  <bruno@clisp.org>
25063         modff, modfl: Fix configure syntax error.
25064         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
25065         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
25067 2012-02-27  Bruno Haible  <bruno@clisp.org>
25069         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
25070         * m4/fmodl-ieee.m4: New file.
25071         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
25072         whether fmodl works with zero arguments. Replace it if not.
25073         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
25074         (Depends-on): Add fmod-ieee.
25075         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
25076         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
25078         fmodf-ieee: Work around test failure on OSF/1.
25079         * m4/fmodf-ieee.m4: New file.
25080         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
25081         whether fmodf works with zero arguments. Replace it if not.
25082         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
25083         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
25084         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
25085         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
25086         (Depends-on): Update dependencies.
25087         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
25088         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
25089         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
25091         fmodf-ieee: Work around test failure on MSVC 9.
25092         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
25093         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
25095         fmod-ieee: Work around test failures on OSF/1, mingw.
25096         * m4/fmod-ieee.m4: New file.
25097         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
25098         whether fmod works with zero arguments. Replace it if not.
25099         * lib/math.in.h (fmod): New declaration.
25100         * lib/fmod.c: New file.
25101         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
25102         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
25103         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
25104         * modules/fmod (Files): Add lib/fmod.c.
25105         (Depends-on): Add math, isinf, trunc, fma.
25106         (configure.ac): Arrange to compile lib/fmod.c if needed.
25107         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
25108         m4/signbit.m4.
25109         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
25110         * tests/test-math-c++.cc: Check the declaration of fmod.
25111         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
25113         fmodl-ieee: Fix test failures.
25114         * lib/fmodl.c (fmodl): Treat Inf specially.
25115         * modules/fmodl (Depends-on): Add isinf.
25117         Tests for module 'fmodl-ieee'.
25118         * modules/fmodl-ieee-tests: New file.
25119         * tests/test-fmodl-ieee.c: New file.
25121         New module 'fmodl-ieee'.
25122         * modules/fmodl-ieee: New file.
25124         Tests for module 'fmod-ieee'.
25125         * modules/fmod-ieee-tests: New file.
25126         * tests/test-fmod-ieee.c: New file.
25128         New module 'fmod-ieee'.
25129         * modules/fmod-ieee: New file.
25131         Tests for module 'fmodf-ieee'.
25132         * modules/fmodf-ieee-tests: New file.
25133         * tests/test-fmodf-ieee.c: New file.
25134         * tests/test-fmod-ieee.h: New file.
25136         New module 'fmodf-ieee'.
25137         * modules/fmodf-ieee: New file.
25139 2012-02-27  Bruno Haible  <bruno@clisp.org>
25141         Tests for module 'rintl-ieee'.
25142         * modules/rintl-ieee-tests: New file.
25143         * tests/test-rintl-ieee.c: New file.
25145         New module 'rintl-ieee'.
25146         * modules/rintl-ieee: New file.
25148         Tests for module 'rint-ieee'.
25149         * modules/rint-ieee-tests: New file.
25150         * tests/test-rint-ieee.c: New file.
25152         New module 'rint-ieee'.
25153         * modules/rint-ieee: New file.
25155         Tests for module 'rintf-ieee'.
25156         * modules/rintf-ieee-tests: New file.
25157         * tests/test-rintf-ieee.c: New file.
25158         * tests/test-rint-ieee.h: New file.
25160         New module 'rintf-ieee'.
25161         * modules/rintf-ieee: New file.
25163 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
25165         regex: re_search etc. should return -2 when memory exhausted
25166         This bug was uncovered when testing 'grep'.  Without the fix,
25167         re_search and friends return -1 when memory is exhausted, but -1
25168         means no match, and this causes grep to falsely report no-match
25169         instead of memory-exhaustion.  See
25170         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
25171         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
25172         trouble; this can occur if re_search_internal ran out of memory.
25174 2012-02-26  Bruno Haible  <bruno@clisp.org>
25176         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
25177         * m4/modfl-ieee.m4: New file.
25178         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
25179         whether modfl works with Inf. Replace it if not.
25180         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
25181         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
25182         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
25183         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
25184         (Depends-on): Update dependencies.
25185         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
25186         m4/signbit.m4.
25187         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
25188         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
25190         modfl-ieee: Fix dependencies.
25191         * modules/modfl-ieee (Depends-on): Add modf-ieee.
25193         modfl-ieee: Fix test failures.
25194         * lib/modfl.c (modfl): Treat NaN and Inf specially.
25195         * modules/modfl (Depends-on): Add isfinite, isinf.
25197         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
25198         * m4/modff-ieee.m4: New file.
25199         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
25200         whether modff works with NaN and Inf. Replace it if not.
25201         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
25202         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
25203         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
25204         * modules/modff (configure.ac): Consider REPLACE_MODFF.
25205         (Depends-on): Update dependencies.
25206         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
25207         m4/signbit.m4.
25208         (Depends-on): Add modf-ieee.
25209         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
25210         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
25212         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
25213         * m4/modf-ieee.m4: New file.
25214         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
25215         whether modf works with NaN and Inf. Replace it if not.
25216         * lib/math.in.h (modf): New declaration.
25217         * lib/modf.c: New file.
25218         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
25219         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
25220         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
25221         * modules/modf (Files): Add lib/modf.c.
25222         (Depends-on): Add math, isfinite, trunc, isinf.
25223         (configure.ac): Addrange to compile lib/modf.c if needed.
25224         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
25225         m4/signbit.m4.
25226         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
25227         * tests/test-math-c++.cc: Check the declaration of modf.
25228         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
25230         Tests for module 'modfl-ieee'.
25231         * modules/modfl-ieee-tests: New file.
25232         * tests/test-modfl-ieee.c: New file.
25234         New module 'modfl-ieee'.
25235         * modules/modfl-ieee: New file.
25237         Tests for module 'modf-ieee'.
25238         * modules/modf-ieee-tests: New file.
25239         * tests/test-modf-ieee.c: New file.
25241         New module 'modf-ieee'.
25242         * modules/modf-ieee: New file.
25244         Tests for module 'modff-ieee'.
25245         * modules/modff-ieee-tests: New file.
25246         * tests/test-modff-ieee.c: New file.
25247         * tests/test-modf-ieee.h: New file.
25249         New module 'modff-ieee'.
25250         * modules/modff-ieee: New file.
25252 2012-02-26  Bruno Haible  <bruno@clisp.org>
25254         Tests for module 'fabsl-ieee'.
25255         * modules/fabsl-ieee-tests: New file.
25256         * tests/test-fabsl-ieee.c: New file.
25258         New module 'fabsl-ieee'.
25259         * modules/fabsl-ieee: New file.
25261         Tests for module 'fabs-ieee'.
25262         * modules/fabs-ieee-tests: New file.
25263         * tests/test-fabs-ieee.c: New file.
25265         New module 'fabs-ieee'.
25266         * modules/fabs-ieee: New file.
25268         Tests for module 'fabsf-ieee'.
25269         * modules/fabsf-ieee-tests: New file.
25270         * tests/test-fabsf-ieee.c: New file.
25271         * tests/test-fabs-ieee.h: New file.
25273         New module 'fabsf-ieee'.
25274         * modules/fabsf-ieee: New file.
25276 2012-02-26  Bruno Haible  <bruno@clisp.org>
25278         Tests for module 'fmal-ieee'.
25279         * modules/fmal-ieee-tests: New file.
25280         * tests/test-fmal-ieee.c: New file.
25282         New module 'fmal-ieee'.
25283         * modules/fmal-ieee: New file.
25285         Tests for module 'fma-ieee'.
25286         * modules/fma-ieee-tests: New file.
25287         * tests/test-fma-ieee.c: New file.
25289         New module 'fma-ieee'.
25290         * modules/fma-ieee: New file.
25292         Tests for module 'fmaf-ieee'.
25293         * modules/fmaf-ieee-tests: New file.
25294         * tests/test-fmaf-ieee.c: New file.
25295         * tests/test-fma-ieee.h: New file.
25297         New module 'fmaf-ieee'.
25298         * modules/fmaf-ieee: New file.
25300 2012-02-26  Bruno Haible  <bruno@clisp.org>
25302         Tests for module 'ldexpl-ieee'.
25303         * modules/ldexpl-ieee-tests: New file.
25304         * tests/test-ldexpl-ieee.c: New file.
25306         New module 'ldexpl-ieee'.
25307         * modules/ldexpl-ieee: New file.
25309         Tests for module 'ldexp-ieee'.
25310         * modules/ldexp-ieee-tests: New file.
25311         * tests/test-ldexp-ieee.c: New file.
25313         New module 'ldexp-ieee'.
25314         * modules/ldexp-ieee: New file.
25316         Tests for module 'ldexpf-ieee'.
25317         * modules/ldexpf-ieee-tests: New file.
25318         * tests/test-ldexpf-ieee.c: New file.
25319         * tests/test-ldexp-ieee.h: New file.
25321         New module 'ldexpf-ieee'.
25322         * modules/ldexpf-ieee: New file.
25324 2012-02-26  Bruno Haible  <bruno@clisp.org>
25326         Refactor frexp*-ieee tests.
25327         * tests/test-frexp-ieee.h: New file.
25328         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
25329         (main): Just call test_function.
25330         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
25331         (main): Just call test_function.
25332         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
25333         (main): Just call test_function.
25334         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
25335         * modules/frexp-ieee-tests (Files): Likewise.
25336         * modules/frexpl-ieee-tests (Files): Likewise.
25338         Tests for module 'frexpl-ieee'.
25339         * modules/frexpl-ieee-tests: New file.
25340         * tests/test-frexpl-ieee.c: New file.
25342         New module 'frexpl-ieee'.
25343         * modules/frexpl-ieee: New file.
25345         Tests for module 'frexp-ieee'.
25346         * modules/frexp-ieee-tests: New file.
25347         * tests/test-frexp-ieee.c: New file.
25349         New module 'frexp-ieee'.
25350         * modules/frexp-ieee: New file.
25352         Tests for module 'frexpf-ieee'.
25353         * modules/frexpf-ieee-tests: New file.
25354         * tests/test-frexpf-ieee.c: New file.
25356         New module 'frexpf-ieee'.
25357         * modules/frexpf-ieee: New file.
25359 2012-02-26  Bruno Haible  <bruno@clisp.org>
25361         roundl-ieee tests: More tests.
25362         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
25363         (main): Add tests for [MX] shaded specification in POSIX.
25364         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25365         (Depends-on): Add isnanl-nolibm.
25367         round-ieee tests: More tests.
25368         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
25369         (main): Add tests for [MX] shaded specification in POSIX.
25370         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25371         (Depends-on): Add isnand-nolibm.
25373         roundf-ieee tests: More tests.
25374         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
25375         (main): Add tests for [MX] shaded specification in POSIX.
25376         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25377         (Depends-on): Add isnanf-nolibm.
25379         truncl-ieee tests: More tests.
25380         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
25381         (main): Add tests for [MX] shaded specification in POSIX.
25382         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25383         (Depends-on): Add isnanl-nolibm.
25385         trunc-ieee tests: More tests.
25386         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
25387         (main): Add tests for [MX] shaded specification in POSIX.
25388         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25389         (Depends-on): Add isnand-nolibm.
25391         truncf-ieee tests: More tests.
25392         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
25393         (main): Add tests for [MX] shaded specification in POSIX.
25394         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25395         (Depends-on): Add isnanf-nolibm.
25397         ceill-ieee tests: More tests.
25398         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
25399         (main): Add tests for [MX] shaded specification in POSIX.
25400         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25401         (Depends-on): Add isnanl-nolibm.
25403         ceil-ieee tests: More tests.
25404         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
25405         (main): Add tests for [MX] shaded specification in POSIX.
25406         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25407         (Depends-on): Add isnand-nolibm.
25409         ceilf-ieee tests: More tests.
25410         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
25411         (main): Add tests for [MX] shaded specification in POSIX.
25412         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25413         (Depends-on): Add isnanf-nolibm.
25415         floorl-ieee tests: More tests.
25416         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
25417         (main): Add tests for [MX] shaded specification in POSIX.
25418         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25419         (Depends-on): Add isnanl-nolibm.
25421         floor-ieee tests: More tests.
25422         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
25423         (main): Add tests for [MX] shaded specification in POSIX.
25424         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25425         (Depends-on): Add isnand-nolibm.
25427         floorf-ieee tests: More tests.
25428         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
25429         (main): Add tests for [MX] shaded specification in POSIX.
25430         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25431         (Depends-on): Add isnanf-nolibm.
25433 2012-02-26  Bruno Haible  <bruno@clisp.org>
25435         fpieee: More comments.
25436         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
25438 2012-02-25  Bruno Haible  <bruno@clisp.org>
25440         Tests for module 'log10l'.
25441         * modules/log10l-tests: New file.
25442         * tests/test-log10l.c: New file.
25443         * tests/test-math-c++.cc: Check the declaration of log10l.
25445         New module 'log10l'.
25446         * lib/math.in.h (log10l): New declaration.
25447         * lib/log10l.c: New file.
25448         * m4/log10l.m4: New file.
25449         * modules/log10l: New file.
25450         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
25451         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
25452         HAVE_DECL_LOG10L.
25453         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
25454         HAVE_DECL_LOG10L.
25455         * doc/posix-functions/log10l.texi: Mention the new module.
25457 2012-02-25  Bruno Haible  <bruno@clisp.org>
25459         fmodl, remainder*: Avoid wrong results due to rounding errors.
25460         * lib/fmodl.c (fmodl): Correct the result if it is not within the
25461         expected bounds.
25462         * lib/remainderf.c (remainderf): Likewise.
25463         * lib/remainder.c (remainder): Likewise.
25464         * lib/remainderl.c (remainderl): Likewise.
25466 2012-02-25  Bruno Haible  <bruno@clisp.org>
25468         Tests for module 'remainderl'.
25469         * modules/remainderl-tests: New file.
25470         * tests/test-remainderl.c: New file.
25471         * tests/test-math-c++.cc: Check the declaration of remainderl.
25473         New module 'remainderl'.
25474         * lib/math.in.h (remainderl): New declaration.
25475         * lib/remainderl.c: New file.
25476         * m4/remainderl.m4: New file.
25477         * modules/remainderl: New file.
25478         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
25479         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
25480         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
25481         HAVE_REMAINDERL.
25482         * doc/posix-functions/remainderl.texi: Mention the new module.
25484 2012-02-25  Bruno Haible  <bruno@clisp.org>
25486         Tests for module 'remainderf'.
25487         * modules/remainderf-tests: New file.
25488         * tests/test-remainderf.c: New file.
25489         * tests/test-math-c++.cc: Check the declaration of remainderf.
25491         New module 'remainderf'.
25492         * lib/math.in.h (remainderf): New declaration.
25493         * lib/remainderf.c: New file.
25494         * m4/remainderf.m4: New file.
25495         * modules/remainderf: New file.
25496         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
25497         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
25498         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
25499         HAVE_REMAINDERF.
25500         * doc/posix-functions/remainderf.texi: Mention the new module.
25502 2012-02-25  Bruno Haible  <bruno@clisp.org>
25504         remainder: Support for MSVC.
25505         * lib/math.in.h (remainder): New declaration.
25506         * lib/remainder.c: New file.
25507         * m4/remainder.m4: New file.
25508         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
25509         (Depends-on): Add math, round, fma.
25510         (configure.ac): Use results of gl_FUNC_REMAINDER.
25511         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
25512         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
25513         HAVE_DECL_REMAINDER.
25514         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
25515         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
25516         * tests/test-math-c++.cc: Check the declaration of remainder.
25517         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
25518         problems are fixed.
25520 2012-02-25  Bruno Haible  <bruno@clisp.org>
25522         Tests for module 'fmodl'.
25523         * modules/fmodl-tests: New file.
25524         * tests/test-fmodl.c: New file.
25525         * tests/test-math-c++.cc: Check the declaration of fmodl.
25527         New module 'fmodl'.
25528         * lib/math.in.h (fmodl): New declaration.
25529         * lib/fmodl.c: New file.
25530         * m4/fmodl.m4: New file.
25531         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
25532         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
25533         REPLACE_FMODL.
25534         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
25535         REPLACE_FMODL.
25536         * modules/fmodl: New file.
25537         * doc/posix-functions/fmodl.texi: Mention the new module.
25539 2012-02-25  Bruno Haible  <bruno@clisp.org>
25541         Tests for module 'modfl'.
25542         * modules/modfl-tests: New file.
25543         * tests/test-modfl.c: New file.
25544         * tests/test-math-c++.cc: Check the declaration of modfl.
25546         New module 'modfl'.
25547         * lib/math.in.h (modfl): New declaration.
25548         * lib/modfl.c: New file.
25549         * m4/modfl.m4: New file.
25550         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
25551         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
25552         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
25553         * modules/modfl: New file.
25554         * doc/posix-functions/modfl.texi: Mention the new module.
25556 2012-02-25  Bruno Haible  <bruno@clisp.org>
25558         Tests for module 'fabsl'.
25559         * modules/fabsl-tests: New file.
25560         * tests/test-fabsl.c: New file.
25561         * tests/test-math-c++.cc: Check the declaration of fabsl.
25563         New module 'fabsl'.
25564         * lib/math.in.h (fabsl): New declaration.
25565         * lib/fabsl.c: New file.
25566         * m4/fabsl.m4: New file.
25567         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
25568         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
25569         REPLACE_FABSL.
25570         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
25571         REPLACE_FABSL.
25572         * modules/fabsl: New file.
25573         * doc/posix-functions/fabsl.texi: Mention the new module.
25575 2012-02-25  Bruno Haible  <bruno@clisp.org>
25577         fabs tests: More tests.
25578         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
25579         (zero): New variable.
25580         (main): Add tests for signed zero.
25581         * modules/fabs-tests (Files): Add tests/minus-zero.h.
25583         fabsf tests: More tests.
25584         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
25585         (zero): New variable.
25586         (main): Add tests for signed zero.
25587         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
25589 2012-02-24  Bruno Haible  <bruno@clisp.org>
25591         atanl: Provide function definition on MSVC.
25592         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
25593         function pointer.
25594         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
25596 2012-02-24  Bruno Haible  <bruno@clisp.org>
25598         acosl: Provide function definition on MSVC.
25599         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
25600         function pointer.
25601         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
25603 2012-02-24  Bruno Haible  <bruno@clisp.org>
25605         asinl: Provide function definition on MSVC.
25606         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
25607         function pointer.
25608         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
25610 2012-02-24  Bruno Haible  <bruno@clisp.org>
25612         tanl: Provide function definition on MSVC.
25613         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
25614         function pointer.
25615         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
25617 2012-02-24  Bruno Haible  <bruno@clisp.org>
25619         cosl: Provide function definition on MSVC.
25620         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
25621         function pointer.
25622         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
25624 2012-02-24  Bruno Haible  <bruno@clisp.org>
25626         sinl: Provide function definition on MSVC.
25627         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
25628         function pointer.
25629         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
25631 2012-02-24  Bruno Haible  <bruno@clisp.org>
25633         logl: Provide function definition on MSVC.
25634         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
25635         function pointer.
25636         * lib/math.in.h (logl): Undefine if it does not exist as a function.
25638 2012-02-24  Bruno Haible  <bruno@clisp.org>
25640         expl: Provide function definition on MSVC.
25641         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
25642         function pointer.
25643         * lib/math.in.h (expl): Undefine if it does not exist as a function.
25645 2012-02-24  Bruno Haible  <bruno@clisp.org>
25647         sqrtl: Provide function definition on MSVC.
25648         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
25649         a function pointer.
25650         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
25652 2012-02-24  Bruno Haible  <bruno@clisp.org>
25654         ceill: Provide function definition on MSVC.
25655         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
25656         used as a function pointer.
25657         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
25659 2012-02-24  Bruno Haible  <bruno@clisp.org>
25661         floorl: Provide function definition on MSVC.
25662         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
25663         used as a function pointer.
25664         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
25666 2012-02-24  Bruno Haible  <bruno@clisp.org>
25668         ceilf: Provide function definition on MSVC.
25669         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
25670         used as a function pointer.
25671         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
25673 2012-02-24  Bruno Haible  <bruno@clisp.org>
25675         floorf: Provide function definition on MSVC.
25676         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
25677         used as a function pointer.
25678         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
25680 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
25682         stdnoreturn: new module
25683         This implements a replacement for C11's <stdnoreturn.h>.
25684         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
25685         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
25686         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
25687         * tests/test-stdnoreturn.c: New files.
25689 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
25691         regex: fix false multibyte matches in some regular expressions
25692         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
25693         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
25694         * lib/regex_internal.c (re_string_skip_chars):
25695         Fix miscomputation of remain_len that may cause incomplete
25696         multi-byte character and false match.
25698 2012-02-24  Jim Meyering  <meyering@redhat.com>
25700         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
25701         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
25702         uses with "==" *before* the call, e.g., 0 == strcmp (...)
25703         Remove now-unnecessary str''cmp obfuscation.
25704         Suggested by Akim Demaille.
25706 2012-02-24  Bruno Haible  <bruno@clisp.org>
25708         streq: Rename macro.
25709         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
25710         * NEWS: Mention the change.
25711         * lib/mbrtowc.c (mbrtowc): Update.
25712         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
25713         * lib/wcwidth.c (wcwidth): Update.
25714         Suggested by Akim Demaille and Jim Meyering.
25716 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
25718         regex: fix typo in definition of MIN
25719         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
25720         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
25722 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
25723             Bruno Haible  <bruno@clisp.org>
25725         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
25726         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
25727         entries into a stack-allocated buffer directly.
25728         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
25730 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
25731             Bruno Haible  <bruno@clisp.org>
25733         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
25735          - There were several instances of this pattern:
25737              for (;;) {
25738                n = acl (f, GETACLCNT, 0, NULL);
25739                [ allocate an array A of size N ]
25740                if (acl (f, GETACL, n, a) == n)
25741                  break;
25742              }
25744            This loop might never terminate if some other process is constantly
25745            manipulating the file's ACL.  The loop should be rewritten to
25746            terminate.
25748          - The acl (... GETACLNT ...) call is merely an optimization; its value
25749            is merely a hint as to how big to make the array.  A better
25750            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
25751            and just guess a reasonably-big size, growing the size and trying
25752            again if it's not large enough.  This guarantees termination, and
25753            saves a system call.
25755         * lib/acl-internal.h: Include <limits.h>.
25756         (MIN, SIZE_MAX): New macros.
25757         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
25758         a stack-allocated buffer, and use malloc if it does not fit. Don't
25759         use GETACLCNT.
25760         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
25762 2012-02-19  Bruno Haible  <bruno@clisp.org>
25764         acl: Fix endless loop on Solaris with vxfs.
25765         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
25766         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
25767         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
25768         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
25769         * tests/test-sameacls.c (main)[Solaris]: Likewise.
25770         Reported by Bill Jones in
25771         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
25773 2012-02-19  Bruno Haible  <bruno@clisp.org>
25775         acl: Fix copy-acl test failure on Solaris 11.0.
25776         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
25777         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
25778         that this function returns 0 in some more cases.
25780 2012-02-19  Bruno Haible  <bruno@clisp.org>
25782         acl: Update doc references.
25783         * doc/acl-resources.txt: Update links to Solaris documentation.
25785 2012-02-19  Bruno Haible  <bruno@clisp.org>
25787         Fix test failure in many locales on Solaris 11.
25788         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
25789         'tr' arguments.
25790         * tests/test-pipe-filter-ii1.c (main): Likewise.
25791         * build-aux/bootstrap (check_versions): Run 'tr' command with range
25792         expressions in the C locale.
25793         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
25794         * m4/host-os.m4 (gl_HOST_OS): Likewise.
25796 2012-02-19  Bruno Haible  <bruno@clisp.org>
25798         gnulib-tool: Improve usage message.
25799         * gnulib-tool (func_usage): Move doc of --help and --version to the
25800         section "Operation modes".
25802 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
25804         README-release: make it easier to execute commands
25805         * top/README-release: break commands out on to separate lines.
25807 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
25809         GNUmakefile: simplify detection of unconfigured trees
25810         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
25811         whether the tree make is being run from is already configured or
25812         not.  Related simplifications.
25814 2012-02-13  Simon Josefsson  <simon@josefsson.org>
25816         * gnulib-tool (func_usage): Document --help and --version.
25818 2012-02-11  Jim Meyering  <meyering@redhat.com>
25820         bootstrap: don't exit 0 upon gnulib-tool failure
25821         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
25822         its exit status, not 0.
25824 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
25826         README-release: various improvements
25827         * top/README-release: Give a command to push changes for the
25828         release.  Add "distcheck" to list of other pre-release checks.
25829         Fix instance of "make stable" which should be "make TYPE".
25831 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
25833         maint: replace FSF snail-mail addresses with URLs
25834         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
25835         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
25836         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
25837         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
25838         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
25839         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
25840         * lib/check-version.c, lib/check-version.h, lib/config.charset:
25841         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
25842         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
25843         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
25844         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
25845         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
25846         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
25847         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
25848         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
25849         * lib/glthread/thread.c, lib/glthread/thread.h:
25850         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
25851         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
25852         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
25853         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
25854         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
25855         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
25856         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
25857         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
25858         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
25859         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
25860         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
25861         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
25862         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
25863         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
25864         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
25865         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
25866         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
25867         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
25868         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
25869         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
25870         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
25871         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
25872         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
25873         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
25874         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
25875         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
25876         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
25877         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
25878         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
25879         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
25880         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
25881         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
25882         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
25883         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
25884         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
25885         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
25886         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
25887         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
25888         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
25889         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
25890         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
25891         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
25892         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
25893         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
25894         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
25895         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
25896         * tests/test-poll.c, tests/test-quotearg-simple.c:
25897         * tests/test-quotearg.c, tests/test-quotearg.h:
25898         * tests/test-round-ieee.c, tests/test-round1.c:
25899         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
25900         * tests/test-roundl-ieee.c, tests/test-roundl.c:
25901         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
25902         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
25903         * tests/test-strerror.c, tests/test-strerror_r.c:
25904         * tests/test-strsignal.c, tests/test-strverscmp.c:
25905         * tests/test-xmemdup0.c:
25906         Replace FSF snail mail addresses with URLs, as per GNU coding
25907         standards.  See glibc bug
25908         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
25910 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
25912         README-release: capitalize a word and split a line
25913         * top/README-release: Fix punctuation and spacing.
25915 2012-02-08  Akim Demaille  <demaille@gostai.com>
25917         fatal-signal: use C prototypes (with explicit void).
25918         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
25919         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
25921 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
25923         regex: spelling fix
25924         * lib/regexec.c: spelling fix
25926         regex: rely on stdint.h for SIZE_MAX
25927         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
25929 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
25931         regex: merge glibc changes
25933         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
25934         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
25935         (init_word_char): Work even if bitset words are not exactly 32 or
25936         64 bits wide.  Don't assume there are no padding bits.
25937         * lib/regex.c [_LIBC]: Do not include <config.h>.
25938         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
25939         and -Wtype-limits.
25940         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
25941         needless disagreement with glibc.  All uses changed.  Define it to
25942         1 only if _GNU_SOURCE, to match glibc.
25943         (_REG_RM_NAME): Remove; no longer needed, since the names in
25944         question are now all protected by __USE_GNU.
25945         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
25946         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
25947         * lib/regex_internal.h (MIN): New macro.
25949         2012-01-03 Ulrich Drepper <drepper@gmail.com>
25950         * lib/regcomp.c (init_word_char): Optimize regex a bit.
25952         2011-12-30 Jakub Jelinek <jakub@redhat.com>
25953         * lib/regex_internal.c (re_string_fetch_byte_case):
25954         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
25955         is miscompiled, and it turns out it is because of an incorrect
25956         attribute on re_string_fetch_byte_case.  Unlike
25957         re_string_peek_byte_case, this one is really not pure, it modifies
25958         memory (increments pstr->cur_idx), and with the pure attribute GCC
25959         assumed it doesn't and it cached the presumed value of
25960         regexp->cur_idx in a variable across the
25961          for (;; ++i)
25962            {
25963              if (i >= BRACKET_NAME_BUF_SIZE)
25964                return REG_EBRACK;
25965              if (token->type == OP_OPEN_CHAR_CLASS)
25966                ch = re_string_fetch_byte_case (regexp);
25967              else
25968                ch = re_string_fetch_byte (regexp);
25969              if (re_string_eoi(regexp))
25970                return REG_EBRACK;
25971              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
25972                break;
25973              elem->opr.name[i] = ch;
25974            }
25976         2011-11-29 Andreas Schwab <schwab@redhat.com>
25977         * lib/regcomp.c (build_equiv_class):
25978         Fix access after end of search string in regex matcher.
25980         2011-11-12 Ulrich Drepper <drepper@redhat.com>
25981         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
25983         2011-10-12 Ulrich Drepper <drepper@redhat.com>
25984         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
25986         2011-10-11 Ulrich Drepper <drepper@redhat.com>
25987         * lib/regcomp.c (parse_branch, parse_sub_exp):
25988         More regex memory leak fixes and tests.
25989         (parse_sub_exp, parse_bracket_exp):
25990         Fix memory leak for some invalid regular expressions.
25992         2011-05-28 Ulrich Drepper <drepper@gmail.com>
25993         * lib/regex_internal.c, lib/regexec.c:
25994         Fix unnecessary overallocation due to incomplete character.  When
25995         incomplete characters are found at the end of a string the code
25996         ran amok and allocated lots of memory.  Stricter limits are now in
25997         place.
25999         2011-05-20 Reuben Thomas <rrt@sc3d.org>
26000         * lib/regex.h: Update documentation.
26002         2011-05-16 Aharon Robbins <arnold@skeeve.com>
26003         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
26005         2010-05-05 Andreas Schwab <schwab@redhat.com>
26006         * lib/regexec.c (find_collation_sequence_value):
26007         Fix lookup of collation sequence value during regexp matching.
26009         2010-01-22 Ulrich Drepper <drepper@redhat.com>
26010         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
26012         2008-01-16 Ulrich Drepper <drepper@redhat.com>
26013         * lib/regex.h: Cleanup namespace.
26015         2007-11-26 Ulrich Drepper <drepper@redhat.com>
26016         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
26018         2007-08-26 Ulrich Drepper <drepper@redhat.com>
26019         * lib/regex_internal.h: Prevent some declarations and definitions
26020         to be seen when used in tests.
26022         2005-05-06 Ulrich Drepper <drepper@redhat.com>
26023         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
26024         __libc_lock_* macros if not _LIBC.
26025         (struct re_dfa_t): Add lock.
26027 2012-02-07  Eric Blake  <eblake@redhat.com>
26029         maint.mk: also prohibit lower-case @var@
26030         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
26031         lower case, like @top_srcdir@.
26033 2012-02-04  Eric Blake  <eblake@redhat.com>
26035         canonicalize: avoid uninitialized memory use
26036         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
26037         random '/' left in dest.
26038         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
26040 2012-02-04  Bruno Haible  <bruno@clisp.org>
26042         isatty: Fix test failure of ptsname_r on native Windows.
26043         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
26044         and don't set errno.
26045         (isatty): Test first whether fd is valid. Set errno when returning 0.
26047 2012-02-04  Bruno Haible  <bruno@clisp.org>
26049         spawn-pipe tests: Fix a NULL program name in a diagnostic.
26050         * tests/test-spawn-pipe-main.c: Include progname.h.
26051         (main): Invoke set_program_name.
26052         * modules/spawn-pipe-tests (Depends-on): Add progname.
26054         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
26055         * tests/test-nonblocking-socket-main.c: Include progname.h.
26056         (main): Invoke set_program_name.
26057         * modules/nonblocking-socket-tests (Depends-on): Add progname.
26059         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
26060         * tests/test-nonblocking-pipe-main.c: Include progname.h.
26061         (main): Invoke set_program_name.
26062         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
26064 2012-02-04  Eric Blake  <eblake@redhat.com>
26066         canonicalize-lgpl: fix // handling
26067         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
26069         canonicalize: fix // handling
26070         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
26071         /// to //, since only // is special.
26073 2012-02-04  Bruno Haible  <bruno@clisp.org>
26075         ioctl: Fix test failure on native Windows.
26076         * lib/ioctl.c: Include msvc-nothrow.h.
26077         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
26079 2012-02-04  Bruno Haible  <bruno@clisp.org>
26081         fsync: Avoid test failure on native Windows.
26082         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
26083         read-only.
26085 2012-02-04  Bruno Haible  <bruno@clisp.org>
26087         sys_select: Avoid syntax error on OpenBSD 5.0.
26088         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
26089         currently being included, just include the system's <sys/select.h>.
26091 2012-02-04  Bruno Haible  <bruno@clisp.org>
26093         sys_select: Avoid syntax error on OpenBSD 5.0.
26094         * lib/sys_select.in.h: Include <signal.h> only after the include_next
26095         <sys/select.h>, not before.
26096         Reported by Jiri B <jirib@devio.us>.
26098 2012-02-04  Bruno Haible  <bruno@clisp.org>
26100         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
26101         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
26102         global variables.
26103         * tests/test-get-rusage-data.c (main): Likewise.
26104         Reported by Jim Meyering.
26106 2012-02-04  Bruno Haible  <bruno@clisp.org>
26108         stdioext: Fix last commit.
26109         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
26111 2012-02-03  Bruno Haible  <bruno@clisp.org>
26113         stdioext: Add tentative support for Plan9.
26114         * lib/stdio-impl.h: Include <errno.h>.
26115         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
26116         * lib/freadable.c (freadable): Likewise.
26117         * lib/fwritable.c (fwritable): Likewise.
26118         * lib/fbufmode.c (fbufmode): Likewise.
26119         * lib/freading.c (freading): Likewise.
26120         * lib/fwriting.c (fwriting): Likewise.
26121         * lib/freadptr.c (freadptr): Likewise.
26122         * lib/freadseek.c (freadptrinc): Likewise.
26123         * lib/freadahead.c (freadahead): Likewise.
26124         * lib/fpurge.c (fpurge): Likewise.
26125         * lib/fseeko.c (rpl_fseeko): Likewise.
26126         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
26127         Reported by Jens Staal <staal1978@gmail.com>.
26129 2012-02-02  Jim Meyering  <meyering@redhat.com>
26131         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
26132         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
26133         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
26134         not even to try to add the attribute.  Instead, add a pragma to suppress
26135         the suggestion/warning.
26137 2012-01-31  Karl Berry  <karl@gnu.org>
26139         setstate doc: typo.
26140         * doc/posix-functions/setstate.texi (setstate): { not (.
26142 2012-01-31  Bruno Haible  <bruno@clisp.org>
26144         popen: Make more robust on Windows.
26145         * lib/popen.c: On native Windows, use the _popen based code even if
26146         HAVE_POPEN is set.
26147         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
26148         environment variable on native Windows.
26150 2012-01-30  Bruno Haible  <bruno@clisp.org>
26152         pclose: Fix typo.
26153         * lib/stdio.in.h (pclose): Fix typo in warning message.
26155 2012-01-30  Bruno Haible  <bruno@clisp.org>
26157         doc about getlogin_r, setstate.
26158         * doc/posix-functions/getlogin_r.texi: List the incompatible
26159         declaration problem under "not fixed by gnulib".
26160         * doc/posix-functions/setstate.texi: Mention incompatible declaration
26161         problem on Solaris 11 and other platforms.
26163 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
26164             Bruno Haible  <bruno@clisp.org>
26166         poll tests: Make test more robust.
26167         * tests/test-poll.c: Include macros.h.
26168         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
26169         return value of various I/O operations.
26170         * modules/poll-tests (Files): Add tests/macros.h.
26172 2012-01-30  Bruno Haible  <bruno@clisp.org>
26174         sys_stat: Fix support for mingw64 and MSVC.
26175         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
26176         header files already do it.
26177         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
26178         stat itself.
26179         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
26181 2012-01-30  Bruno Haible  <bruno@clisp.org>
26183         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
26184         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
26185         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
26187 2012-01-29  Bruno Haible  <bruno@clisp.org>
26189         quotearg: Fix test failure on MacOS X 10.5.
26190         * tests/test-quotearg-simple.c: Include localcharset.h.
26191         (main): If the locale encoding is not ASCII, bypass the tests of
26192         locale_quoting_style and clocale_quoting_style.
26193         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
26195 2012-01-29  Jim Meyering  <meyering@redhat.com>
26197         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
26198         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
26199         detect uses of canonicalize_file_name.
26201 2012-01-28  Bruno Haible  <bruno@clisp.org>
26203         test-framework-sh: Fix test failure with AIX 7.1 diff.
26204         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
26205         in column 1, like 'diff -c' does.
26206         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
26207         whether 'diff -u' is used. Instead, test whether the output contains
26208         some '@' character.
26210 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
26212         strtoimax: eliminate need for stdint.h, inttypes.h checks
26213         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
26214         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
26215         the prerequisites for a recently-introduced strtoimax test.
26216         I guess this might cause strtoimax to be replaced when not
26217         strictly necessary on older hosts, but this shouldn't introduce
26218         any bugs and it should make Emacs 'configure' faster on typical
26219         modern hosts.  Problem discovered when importing the latest gnulib
26220         to an Emacs test version.
26221         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
26223 2012-01-28  Bruno Haible  <bruno@clisp.org>
26225         sys_time: Override 'struct timeval' on some native Windows platforms.
26226         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
26227         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
26228         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
26229         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
26230         needs to be overridden.
26231         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
26232         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
26233         * tests/test-sys_select.c: Check that the tv_sec member has the same
26234         size as a 'time_t'.
26235         * tests/test-sys_time.c: Likewise.
26236         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
26237         is set, set also REPLACE_GETTIMEOFDAY.
26238         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
26239         convert the resulting 'struct timeval' before returning.
26240         * lib/select.c: Include <sys/time.h>.
26241         (select, timeval): Undefine at the right place.
26242         * modules/select (Depends-on): Add sys_time.
26243         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
26244         some Windows platforms.
26245         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
26247 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
26249         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
26250         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
26251         an integer.
26252         * lib/fcntl.c (dupfd): Likewise.
26253         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
26255 2012-01-28  Bruno Haible  <bruno@clisp.org>
26257         fcntl: Avoid compilation error on native Windows.
26258         * modules/fcntl (Depends-on): Add 'close'.
26260 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
26262         select, poll, isatty: Avoid warnings on x86_64 mingw64.
26263         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
26264         pointer to an integer.
26265         * lib/poll.c (IsConsoleHandle): Likewise.
26266         * lib/isatty.c (IsConsoleHandle): Likewise.
26268 2012-01-28  Jim Meyering  <meyering@redhat.com>
26270         doc: clarify README-release
26271         * top/README-release: Clarify: you should make a point to have
26272         the latest stable versions of build tools in your PATH, and the
26273         reference to buildreq is solely for its list of tool names, not
26274         for its minimal-functional version numbers.
26275         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
26277         maint.mk: use more readable (yet functionally equivalent) quoting
26278         It is common to quote a single quote in a single quoted string like
26279         this:  '...'\''...'.  Unless you know the idiom, that looks like
26280         gibberish, so prefer to double-quote the string when possible.
26281         Then you can use a more readable, lone single quote: "...'..."
26282         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
26283         "don't" is more readable than the equivalent 'don'\''t'.
26284         (sc_cast_of_x_alloc_return_value): Likewise.
26285         (sc_cast_of_alloca_return_value): Likewise.
26286         (sc_makefile_path_separator_check): Similar: use ":" in '...',
26287         rather than '\'':'\''.
26289 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
26291         stdalign: relax _Alignof and tighten _Alignas test
26292         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
26293         as it was too strict: alignof must divide offsetof, but it need
26294         not equal offsetof.  Inspired by Joseph S. Myers's comment
26295         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
26296         Conversely, tighten the _Alignas test a bit, as the resulting
26297         alignment must be exactly 8.
26299 2012-01-27  Bruno Haible  <bruno@clisp.org>
26301         stdalign: Document the last change.
26302         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
26304 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
26306         stdalign: check that alignof and offsetof are consistent
26307         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
26308         Problem reported for gnulib by Richard W.M. Jones in
26309         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00340.html>.
26311 2012-01-27  Jim Meyering  <meyering@redhat.com>
26313         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
26314         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
26315         convert a sequence with gaps to the minimal containing range.
26316         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
26317         * tests/test-update-copyright.sh: Test for this.
26318         The FSF confirmed it is ok to do this, assuming there is at
26319         least one significant change per year in the affected range:
26320         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
26322 2012-01-26  Bruno Haible  <bruno@clisp.org>
26324         pipe2: refine doc about thread-safety
26325         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
26326         multithread-safety problem.
26327         * doc/glibc-functions/accept4.texi: Likewise.
26329 2012-01-26  Bruno Haible  <bruno@clisp.org>
26331         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
26332         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
26333         In the test program, include <fcntl.h>, for O_RDONLY.
26335 2012-01-26  Eric Blake  <eblake@redhat.com>
26337         pipe2: document lack of thread-safety in replacement
26338         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
26339         issue in replacement.
26340         * doc/glibc-functions/accept4.texi (accept4): Likewise.
26341         Based on a report by Eric Wong.
26343 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
26344             Bruno Haible  <bruno@clisp.org>
26346         malloca: Avoid warnings on x86_64 mingw64.
26347         * lib/malloca.c: Include <stdint.h>.
26348         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
26349         * modules/malloca (Depends-on): Add stdint.
26350         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
26352 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
26354         obstack: remove __STDC__ conditionals
26355         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
26356         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
26357         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
26358         m4/include_next.m4 as the only gnulib-maintained places that still
26359         refer to __STDC__.
26361 2012-01-24  Bruno Haible  <bruno@clisp.org>
26363         havelib: Modern quoting.
26364         * build-aux/config.rpath: Quote 'like this', not `like this', as per
26365         the recent change to the GNU coding standards.
26367 2012-01-24  Bruno Haible  <bruno@clisp.org>
26369         stdint: Improve support for Android.
26370         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
26371         Reported by Simon Josefsson <simon@josefsson.org>.
26373 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
26375         doc: omit trailing empty lines from INSTALL etc.
26376         * doc/Makefile (INSTALL): Omit trailing empty lines.
26377         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
26378         omit trailing empty lines.  This simplifies the build procedure.
26380 2012-01-23  Jim Meyering  <meyering@redhat.com>
26382         tests: avoid spurious warnings about gl_sockets_startup
26383         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
26384         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
26385         reporting a "statement with no effect".
26386         * tests/test-accept.c (main): Mark as "(void)".
26387         * tests/test-accept4.c (main): Likewise.
26388         * tests/test-bind.c (main): Likewise.
26389         * tests/test-connect.c (main): Likewise.
26390         * tests/test-getpeername.c (main): Likewise.
26391         * tests/test-getsockname.c (main): Likewise.
26392         * tests/test-getsockopt.c (main): Likewise.
26393         * tests/test-listen.c (main): Likewise.
26394         * tests/test-recv.c (main): Likewise.
26395         * tests/test-recvfrom.c (main): Likewise.
26396         * tests/test-send.c (main): Likewise.
26397         * tests/test-sendto.c (main): Likewise.
26398         * tests/test-setsockopt.c (main): Likewise.
26399         * tests/test-shutdown.c (main): Likewise.
26401 2012-01-21  Bruno Haible  <bruno@clisp.org>
26403         locale-fr.m4: Fix for Android.
26404         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
26405         failure of the test program on Bionic libc.
26407 2012-01-21  Jim Meyering  <meyering@redhat.com>
26409         bootstrap: fail when bootstrap_post_import_hook fails
26410         Otherwise, it's far too easy to miss diagnostics emitted
26411         between gnulib-tool's output and that of running configure.
26412         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
26414 2012-01-17  Jim Meyering  <meyering@redhat.com>
26416         maint: enable sc_trailing_blank
26417         * build-aux/pmccabe.css: Remove trailing blanks.
26418         * doc/acl-cygwin.txt: Likewise.
26419         * doc/gnu-oids.texi: Likewise
26420         * cfg.mk: Enable sc_trailing_blank.
26421         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
26423 2012-01-17  Jim Meyering  <meyering@redhat.com>
26425         maint: enable sc_prohibit_openat_without_use
26426         * cfg.mk: Enable sc_prohibit_openat_without_use.
26427         Exempt lib/selinux-at.c.
26429 2012-01-17  Jim Meyering  <meyering@redhat.com>
26431         maint: enable sc_prohibit_cloexec_without_use
26432         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
26433         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
26435 2012-01-17  Jim Meyering  <meyering@redhat.com>
26437         maint: enable sc_prohibit_intprops_without_use
26438         * cfg.mk: Enable sc_prohibit_intprops_without_use
26439         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
26441 2012-01-17  Jim Meyering  <meyering@redhat.com>
26443         maint: enable sc_prohibit_hash_pjw_without_use
26444         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
26445         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
26446         to match any use of \<hash_pjw\>, i.e., not necessarily with a
26447         following " (".
26449 2012-01-17  Jim Meyering  <meyering@redhat.com>
26451         maint: enable double-word-prohibiting rule
26452         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
26453         Exempt three files.
26455 2012-01-17  Jim Meyering  <meyering@redhat.com>
26457         maint: remove empty lines at EOF, but excluding modules/*
26458         Apply syntax rules at home as well as abroad.  Most changes
26459         were induced by running this:
26460           make srcdir=. _build-aux=build-aux -f top/maint.mk \
26461             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
26462             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
26463         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
26464         Exempt modules/* and two binary files.
26465         Also exempt doc/INSTALL*, per request from Bruno Haible.
26466         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
26467         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
26468         * doc/Copyright/request-assign.future: Likewise.
26469         * doc/Copyright/request-disclaim.changes: Likewise.
26470         * doc/INSTALL: Likewise.
26471         * doc/INSTALL.ISO: Likewise.
26472         * doc/INSTALL.UTF-8: Likewise.
26473         * doc/acl-cygwin.txt: Likewise.
26474         * doc/acl-resources.txt: Likewise.
26475         * doc/fdl-1.2.texi: Likewise.
26476         * doc/fdl-1.3.texi: Likewise.
26477         * doc/fdl.texi: Likewise.
26478         * lib/argp-pin.c: Likewise.
26479         * lib/round.c: Likewise.
26480         * lib/unicase/u16-totitle.c: Likewise.
26481         * lib/unictype/block_test.c: Likewise.
26482         * lib/uninorm/canonical-decomposition.c: Likewise.
26483         * m4/README: Likewise.
26484         * m4/relocatable-lib.m4: Likewise.
26485         * tests/test-isnand-nolibm.c: Likewise.
26486         * tests/test-isnand.c: Likewise.
26487         * tests/uninorm/NormalizationTest.txt: Likewise.
26489 2012-01-17  Jim Meyering  <meyering@redhat.com>
26491         maint: add framework to run syntax-check rules against gnulib sources
26492         * cfg.mk: New file, to disable all currently-failing tests.
26493         We'll enable them one by one, as they are made to pass.
26494         * Makefile (sc_maint): New rule.
26496 2012-01-21  Bruno Haible  <bruno@clisp.org>
26498         stdint: Add support for Android.
26499         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
26500         include the system's <stdint.h>.
26501         Reported by Simon Josefsson <simon@josefsson.org>.
26503 2012-01-19  Jim Meyering  <meyering@redhat.com>
26505         bootstrap: add bootstrap_post_import_hook
26506         Bison does still need something like the gnulib_mk_hook whose
26507         invocation I had to remove along with slurp in commit 767ccd40.
26508         Technically, we could get along without it, but doing so would
26509         have required living with a warning and a mandatory post-bootstrap
26510         automake rerun.
26511         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
26512         (bootstrap_post_import_hook): New function.
26513         Invoke it after gnulib-tool --import and before autoreconf.
26515 2012-01-18  Jim Meyering  <meyering@redhat.com>
26517         gitlog-to-changelog: don't use "no_"-prefixed variable name
26518         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
26519         to enable both --cluster and --no-cluster.  Change variable name,
26520         s/\$no_cluster/$cluster/, and reverse usage to match.
26522         gitlog-to-changelog: use "||", not "or" in expressions
26523         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
26524         expressions.
26526 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
26528         gitlog-to-changelog: new option --no-cluster
26529         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
26530         clustering of adjacent commit messages.
26532 2012-01-17  Jim Meyering  <meyering@redhat.com>
26534         maint: spell file systems with two words, not one
26535         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
26536         two words, not one.
26538 2012-01-16  Jim Meyering  <meyering@redhat.com>
26540         bootstrap: add a FIXME comment to ensure we eventually remove the hack
26541         * build-aux/bootstrap (gnulib_tool_options): Add comment.
26543 2012-01-16  Eric Blake  <eblake@redhat.com>
26545         bootstrap: cater to autoconf 2.59
26546         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
26547         is not available.
26549         bootstrap: properly check for libtool
26550         * build-aux/bootstrap (libtoolize): Also run libtool when older
26551         usage is detected.
26553 2012-01-15  Bruno Haible  <bruno@clisp.org>
26555         Improve support for MSVC 9.
26556         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
26557         clashes on MSVC.
26558         * lib/fcntl.in.h: Likewise.
26559         * lib/stdlib.in.h: Likewise.
26560         * lib/sys_stat.in.h: Likewise.
26562 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
26564         gnupload: we hold the master copy of this script now
26565         For motivation and more information, see:
26566         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00222.html>
26567         * build-aux/gnupload: Make it clear in the heading comments that the
26568         master copy of this file is maintained by gnulib.  Since we are at
26569         it, bump its copyright year and ...
26570         ($scriptversion): ... the date in its version.
26571         ($usage): Patches and bug reports should be sent to the gnulib list,
26572         not the automake one.
26573         * config/srclist.txt: Don't try to sync 'gnupload' from automake
26574         anymore.
26576 2012-01-15  Bruno Haible  <bruno@clisp.org>
26578         Fix module 'random'.
26579         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
26580         initstate, setstate are declared.
26582 2012-01-14  Bruno Haible  <bruno@clisp.org>
26584         Tests for module 'random'.
26585         * modules/random-tests: New file.
26586         * tests/test-random.c: New file, based on tests/test-random_r.c.
26588         New module 'random'.
26589         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
26590         declarations.
26591         * lib/random.c: New file, based on glibc/stdlib/random.c.
26592         * m4/random.m4: New file.
26593         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
26594         HAVE_RANDOM.
26595         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
26596         * modules/random: New file.
26597         * config/srclist.txt: Add an entry for random.c.
26598         * doc/posix-functions/random.texi: Mention the 'random' module.
26599         * doc/posix-functions/initstate.texi: Likewise.
26600         * doc/posix-functions/setstate.texi: Likewise.
26601         * doc/posix-functions/srandom.texi: Likewise.
26603 2012-01-12  Bruno Haible  <bruno@clisp.org>
26605         random_r: Use common idioms.
26606         * lib/random_r.c: Include <stdlib.h> first.
26608         random_r: Override incompatible API on AIX, OSF/1.
26609         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
26610         Override the system function if REPLACE_RANDOM_R is 1.
26611         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
26612         and OSF/1, set REPLACE_RANDOM_R.
26613         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
26614         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
26615         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
26616         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
26617         * doc/glibc-functions/random_r.texi: Likewise.
26618         * doc/glibc-functions/setstate_r.texi: Likewise.
26620         random_r: Support for MSVC 9.
26621         * lib/random_r.c: Include stdint.h, not inttypes.h.
26623 2012-01-12  Eric Blake  <eblake@redhat.com>
26625         inet_ntop: guard extra work by IF_LINT
26626         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
26627         better code generation when not checking for warnings.
26628         Suggested by Paul Eggert and Jim Meyering.
26630         strptime: fix regression on mingw
26631         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
26632         Fix regression.  Reported by Bruno Haible.
26634 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
26635             Bruno Haible  <bruno@clisp.org>
26637         copy-file: add error-code-returning variant.
26638         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
26639         (qcopy_file_preserving): New declaration.
26640         * lib/copy-file.c (qcopy_file_preserving): Renamed from
26641         copy_file_preserving. Change return type to 'int'. Don't emit an error
26642         message here.
26643         (copy_file_preserving): New function.
26644         * tests/test-copy-file.c: Include <stdlib.h>.
26645         (main): Test qcopy_file_preserving if the environment variable
26646         NO_STDERR_OUTPUT is set.
26647         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
26648         with NO_STDERR_OUTPUT
26649         * tests/test-copy-file-2.sh: Likewise.
26651 2012-01-10  Bruno Haible  <bruno@clisp.org>
26653         copy-file: Use 'quote' module consistently.
26654         * lib/copy-file.c (copy_file_preserving): Use quote().
26656         copy-file: Refactor.
26657         * lib/copy-file.c: Include quote.h.
26658         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
26659         message here.
26660         * modules/copy-file (Depends-on): Add quote.
26662         acl: Export qcopy_acl.
26663         * lib/acl.h (qcopy_acl): New declaration.
26664         * lib/copy-acl.c (qcopy_acl): Make non-static.
26666         acl: Rename a local variable.
26667         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
26669         acl: Align return values of copy_acl and qcopy_acl.
26670         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
26671         maybe < -1.
26673 2012-01-11  Eric Blake  <eblake@redhat.com>
26675         strptime: silence gcc warnings
26676         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
26677         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
26678         Reported by Daniel P. Berrange.
26680         inet_ntop: silence gcc warning
26681         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
26682         Reported by Daniel P. Berrange.
26684 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
26686         getloadavg test: skip the test on GNU/Linux without /proc mounted
26687         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
26688         file.  When /proc is not mounted, it always fails with ENOENT.
26689         * tests/test-getloadavg.c (main): Treat ENOENT return code from
26690         getloadavg(3) the same way as ENOSYS and ENOTSUP.
26692 2012-01-10  Bruno Haible  <bruno@clisp.org>
26694         regex: Avoid link error on MSVC 9.
26695         * modules/regex (Depends-on): Add wctype.
26697 2012-01-10  Bruno Haible  <bruno@clisp.org>
26699         doc: Mention --with-tests option.
26700         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
26701         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
26702         --with-tests.
26703         Reported by Reuben Thomas.
26705 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
26707         users.txt: order package names lexicographically.
26708         * users.txt: Order package names lexicographically.
26710 2012-01-10  Jim Meyering  <meyering@redhat.com>
26712         maint.mk: fix description in comment
26713         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
26715         ignore-value: remove deprecated ignore_ptr function
26716         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
26717         * NEWS: Note this.
26719 2012-01-09  Jim Meyering  <meyering@redhat.com>
26721         test-init.sh: avoid a subshell
26722         * tests/test-init.sh: Remove protective subshell.
26723         Suggested by Bernhard Voelker.  While a subshell is normally
26724         required to protect against older shells (Solaris, FreeBSD) that
26725         warn about a missing program before performing redirection, the
26726         shell-selection tests performed by init.sh probably exclude any
26727         offending shell.
26729 2012-01-08  Bruno Haible  <bruno@clisp.org>
26731         setlocale tests: Avoid test failure on Solaris 11.0.
26732         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
26733         variable.
26735 2012-01-08  Bruno Haible  <bruno@clisp.org>
26737         posix_spawn_file_actions_addopen: Work around Solaris 11.0 bug.
26738         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
26739         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
26740         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
26741         macro.
26742         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
26743         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
26744         * lib/spawn_faction_addopen.c: Add workaround implementation if
26745         HAVE_WORKING_POSIX_SPAWN.
26746         * modules/spawn (Makefile): Substitute
26747         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
26748         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
26749         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
26750         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
26751         (Depends-on): Update conditions.
26752         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
26753         the Solaris 11 bug.
26755 2012-01-08  Bruno Haible  <bruno@clisp.org>
26757         posix_spawn_file_actions_adddup2: Work around Solaris 11.0 bug.
26758         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
26759         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
26760         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
26761         macro.
26762         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
26763         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
26764         * lib/spawn_faction_adddup2.c: Add workaround implementation if
26765         HAVE_WORKING_POSIX_SPAWN.
26766         * modules/spawn (Makefile): Substitute
26767         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
26768         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
26769         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
26770         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
26771         (Depends-on): Update conditions.
26772         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
26773         the Solaris 11 bug.
26775 2012-01-08  Bruno Haible  <bruno@clisp.org>
26777         posix_spawn_file_actions_addclose: Work around Solaris 11.0 bug.
26778         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
26779         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
26780         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
26781         HAVE_WORKING_POSIX_SPAWN.
26782         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
26783         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
26784         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
26785         * lib/spawn_faction_addclose.c: Add workaround implementation if
26786         HAVE_WORKING_POSIX_SPAWN.
26787         * modules/spawn (Makefile): Substitute
26788         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
26789         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
26790         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
26791         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
26792         (Depends-on): Update conditions.
26793         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
26794         the Solaris 11 bug.
26796 2012-01-08  Bruno Haible  <bruno@clisp.org>
26798         doc: Update for Solaris 11.0.
26799         * doc/*/*.texi: Mention Solaris 11.0 where appropriate.
26800         * m4/printf.m4: Update comments.
26802 2012-01-08  Bruno Haible  <bruno@clisp.org>
26804         mktime: Avoid compilation error on Solaris 11.
26805         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
26807 2012-01-08  Bruno Haible  <bruno@clisp.org>
26809         doc: Small fix.
26810         * doc/posix-headers/nl_types.texi: Correct platforms list.
26812 2012-01-08  Simon Josefsson  <simon@josefsson.org>
26814         Add lgpl-3.0 module.
26815         * MODULES.html.sh (Support for building documentation): Add
26816         lgpl-3.0.
26817         * modules/lgpl-3.0: New file.
26819 2012-01-08  Jim Meyering  <meyering@redhat.com>
26821         select.c: indent with spaces, not TABs
26822         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
26824 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
26826         quotearg: do not use grave accent for left quote
26827         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
26828         locale_quoting_style.
26829         (quotearg_buffer_restyled): Fix example.
26830         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
26832 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
26834         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
26835         Most programs do not have translation catalogs for English and much
26836         less separate catalogs for British and American English.  Drop the
26837         suggestion to translators about these two, and provide it
26838         automatically for Unicode locales.  Like most programs, even those
26839         using American English, we use single quotation marks.  This conflicts
26840         with the American typographic convention, but works better when you
26841         cite the entire error message within double quotes.  It also tries not
26842         to clash with established practice and with what non-gnulib programs
26843         will usually do.
26844         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
26845         using an UTF-8 or GB-18030 locale.  The list of other locales with
26846         quotes was provided by Bruno Haible.
26847         (quotearg_buffer_restyled): Adjust instructions to translators.
26848         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
26849         text, since this would be wrong when using Unicode.
26850         * modules/quotearg: Depend on c-strcaseeq.
26852 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
26854         quotearg: fix Wikipedia link
26855         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
26857 2012-01-07  Simon Josefsson  <simon@josefsson.org>
26859         Fix for mingw with MSVC9.
26860         * m4/ld-version-script.m4: Check that compiler rejects version
26861         scripts with syntax errors.  Reported by Bruno Haible
26862         <bruno@clisp.org>.
26864 2012-01-06  Bruno Haible  <bruno@clisp.org>
26866         Talk about "native Windows API", not "Woe32".
26867         * lib/accept4.c: Update comments to mention native Windows.
26868         * lib/execute.c: Likewise.
26869         * lib/fatal-signal.c: Likewise.
26870         * lib/localcharset.c: Likewise.
26871         * lib/nanosleep.c: Likewise.
26872         * lib/nl_langinfo.c: Likewise.
26873         * lib/pclose.c: Likewise.
26874         * lib/pipe-filter-gi.c: Likewise.
26875         * lib/pipe-filter-ii.c: Likewise.
26876         * lib/pipe.c: Likewise.
26877         * lib/pipe2.c: Likewise.
26878         * lib/popen.c: Likewise.
26879         * lib/progreloc.c: Likewise.
26880         * lib/relocatable.c: Likewise.
26881         * lib/sigaction.c: Likewise.
26882         * lib/sigprocmask.c: Likewise.
26883         * lib/spawn-pipe.h: Likewise.
26884         * lib/spawn-pipe.c: Likewise.
26885         * lib/spawni.c: Likewise.
26886         * lib/stat-time.h: Likewise.
26887         * lib/w32spawn.h: Likewise.
26888         * tests/test-isatty.c: Likewise.
26889         * lib/config.charset: More comments.
26890         * doc/gnulib-intro.texi: Mention native Windows.
26891         * doc/posix-functions/_Exit_C99.texi: Likewise.
26892         * doc/posix-headers/fcntl.texi: Likewise.
26894 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
26896         argp: Avoid crash if translator uses % characters in a translation.
26897         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
26898         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
26900 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
26902         doc: C11 and C++11 are now official
26903         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
26904         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
26905         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
26906         * modules/stdalign:
26907         Replace references to draft C1X to C11, and to draft C++0X to C++11.
26909 2012-01-06  Bruno Haible  <bruno@clisp.org>
26911         uc-is-grapheme-break tests: Tweak.
26912         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
26913         message.
26915 2012-01-06  Bruno Haible  <bruno@clisp.org>
26917         test-init.sh: correct the test for diff -u
26918         * tests/test-init.sh: Also redirect stdout to /dev/null.
26920 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
26922         Use ', not `, for quoting output.
26923         * build-aux/announce-gen (usage, sizes, print_news_deltas)
26924         (print_changelog_deltas, get_tool_versions, main program):
26925         * build-aux/git-version-gen:
26926         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
26927         * build-aux/move-if-change (help):
26928         * build-aux/useless-if-before-free (usage, main program):
26929         * check-module (parse_module_file, usage)
26930         (find_included_lib_files, check_module):
26931         * lib/argmatch.c (main) [TEST]:
26932         * lib/argp-help.c (_help):
26933         * lib/getopt1.c (main) [TEST]:
26934         * lib/git-merge-changelog.c (usage):
26935         * lib/xstrtol-error.c (xstrtol_error):
26936         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
26937         * m4/argz.m4 (gl_FUNC_ARGZ):
26938         * m4/bison.m4 (gl_BISON):
26939         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
26940         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
26941         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
26942         * m4/fpending.m4 (gl_PREREQ_FPENDING):
26943         * m4/gc-random.m4 (gl_GC_RANDOM):
26944         * m4/intl.m4 (gt_CHECK_DECL):
26945         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
26946         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
26947         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
26948         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
26949         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
26950         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
26951         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
26952         * tests/test-dirname.c (main):
26953         * tests/test-getpass.c (main):
26954         * tests/test-iconvme.c (main):
26955         * tests/test-parse-datetime.c (LOG):
26956         * tests/test-xstrtoimax.sh:
26957         * tests/test-xstrtol.sh:
26958         * tests/test-xstrtoll.sh:
26959         * tests/test-xstrtoumax.sh:
26960         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
26961         * top/GNUmakefile (abort-due-to-no-makefile):
26962         Quote 'like this', not `like this', as per the recent change to
26963         the GNU coding standards.
26965 2012-01-05  Bruno Haible  <bruno@clisp.org>
26967         strtoimax: Don't force a replacement on systems where intmax_t is int.
26968         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
26969         'intmax_t' is not larger than 'int'.
26970         Reported by Pádraig Brady <P@draigBrady.com>.
26972 2012-01-05  Bruno Haible  <bruno@clisp.org>
26974         doc: Mention NetBSD bugs.
26975         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
26976         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
26978 2012-01-05  Bruno Haible  <bruno@clisp.org>
26980         strtoumax tests: Enhance tests.
26981         * tests/test-strtoumax.c (main): Add tests for large values.
26983 2012-01-05  Bruno Haible  <bruno@clisp.org>
26985         strtoimax: Work around AIX 5.1 bug.
26986         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
26987         definition.
26988         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
26989         Set HAVE_STRTOIMAX.
26990         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
26991         REPLACE_STRTOIMAX.
26992         * modules/inttypes-incomplete (Makefile.am): Substitute
26993         REPLACE_STRTOIMAX.
26994         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
26995         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
26996         (Depends-on): Update conditions.
26997         * tests/test-strtoimax.c (main): Add tests for large values.
26998         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
27000 2012-01-05  Bruno Haible  <bruno@clisp.org>
27002         inttypes: Modernize.
27003         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
27004         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
27005         (Makefile.am): Update inttypes.h rule.
27007 2012-01-05  Jim Meyering  <meyering@redhat.com>
27009         init.sh: don't waste a subshell just to redirect stderr
27010         * tests/init.sh: In testing for diff -u and diff -c, use a
27011         stderr-redirecting exec inside `...` rather than a subshell.
27013         test-init.sh: avoid failure on HP-UX 11.00
27014         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
27015         resolves to diff -c or cmp.  Reported by Bruno Haible.
27017 2012-01-05  Bruno Haible  <bruno@clisp.org>
27019         Tests for module 'strtoull'.
27020         * modules/strtoull-tests: New file.
27021         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
27023 2012-01-05  Bruno Haible  <bruno@clisp.org>
27025         Tests for module 'strtoll'.
27026         * modules/strtoll-tests: New file.
27027         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
27029 2012-01-05  Bruno Haible  <bruno@clisp.org>
27031         Tests for module 'strtoul'.
27032         * modules/strtoul-tests: New file.
27033         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
27035 2012-01-05  Bruno Haible  <bruno@clisp.org>
27037         Tests for module 'strtol'.
27038         * modules/strtol-tests: New file.
27039         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
27041 2012-01-04  Jim Meyering  <meyering@redhat.com>
27043         test-init.sh: accommodate Solaris 5.10's different diff -u output
27044         * tests/test-init.sh: Also exempt @@ lines from the comparison
27045         of diff output, since Solaris 5.10 and GNU diff formats differ.
27046         Reported by Stefano Lattarini.
27048 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
27050         test-posixtm: don't assume signed integer wraparound
27051         * tests/test-posixtm.c (main): Don't assume wraparound semantics
27052         after signed integer overflow.  Inspired by (though it may not
27053         fix) Bruno Haible's bug report in
27054         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00066.html>.
27056         Spell out "Windows 9x" and "Windows XP".
27057         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
27058         "Windows 9x" and "WinXP" with "Windows XP".
27060 2012-01-04  Jim Meyering  <meyering@redhat.com>
27062         test-vc-list-files-cvs.sh: remove obsolete comment
27063         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
27064         double exit.  Now that's all encapsulated via skip_ and Exit.
27066 2012-01-04  Bruno Haible  <bruno@clisp.org>
27068         Talk about "native Windows API", not "Win32".
27069         * lib/classpath.c: Update comments to mention native Windows.
27070         * lib/csharpexec.c: Likewise.
27071         * lib/dup2.c: Likewise.
27072         * lib/error.c: Likewise.
27073         * lib/fcntl.c: Likewise.
27074         * lib/filename.h: Likewise.
27075         * lib/findprog.c: Likewise.
27076         * lib/get-rusage-as.c: Likewise.
27077         * lib/get-rusage-data.c: Likewise.
27078         * lib/getpagesize.c: Likewise.
27079         * lib/javaexec.c: Likewise.
27080         * lib/msvc-inval.c: Likewise.
27081         * lib/msvc-nothrow.c: Likewise.
27082         * lib/nanosleep.c: Likewise.
27083         * lib/nonblocking.c: Likewise.
27084         * lib/printf-parse.c: Likewise.
27085         * lib/setlocale.c: Likewise.
27086         * lib/sigaction.c: Likewise.
27087         * lib/strerror_r.c: Likewise.
27088         * lib/tmpdir.c: Likewise.
27089         * lib/vasnprintf.c: Likewise.
27090         * lib/w32spawn.h: Likewise.
27091         * lib/waitpid.c: Likewise.
27092         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
27093         * m4/locale-ar.m4: Likewise.
27094         * m4/locale-fr.m4: Likewise.
27095         * m4/locale-ja.m4: Likewise.
27096         * m4/locale-tr.m4: Likewise.
27097         * m4/locale-zh.m4: Likewise.
27098         * m4/printf.m4: Likewise.
27099         * tests/test-cloexec.c: Likewise.
27100         * tests/test-copy-acl.sh: Likewise.
27101         * tests/test-copy-file.sh: Likewise.
27102         * tests/test-file-has-acl.sh: Likewise.
27103         * tests/test-set-mode-acl.sh: Likewise.
27104         * tests/test-dup-safer.c: Likewise.
27105         * tests/test-dup2.c: Likewise.
27106         * tests/test-dup3.c: Likewise.
27107         * tests/test-fcntl.c: Likewise.
27108         * tests/test-nonblocking-pipe.h: Likewise.
27109         * tests/test-nonblocking-socket.h: Likewise.
27110         * tests/test-pipe.c: Likewise.
27111         * tests/test-pipe2.c: Likewise.
27112         * tests/test-spawn-pipe-child.c: Likewise.
27113         * doc/acl-resources.txt: Likewise.
27114         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
27115         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
27116         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
27117         * lib/localcharset.c: Update comments to mention native Windows.
27118         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
27119         * lib/localename.c: Likewise.
27120         * lib/progreloc.c: Likewise.
27121         * lib/relocatable.c: Likewise.
27122         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
27123         (windows_compute_revents): Renamed from win32_compute_revents.
27124         (windows_compute_revents_socket): Renamed from
27125         win32_compute_revents_socket.
27126         * lib/select.c: Update comments to mention native Windows.
27127         (windows_poll_handle): Renamed from win32_poll_handle.
27128         * m4/threadlib.m4: Update comments to mention native Windows.
27129         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
27130         --enable-threads=windows instead of --enable-threads=win32. Set
27131         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
27132         * lib/glthread/lock.h: Update comments to mention native Windows.
27133         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
27134         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
27135         USE_WIN32_THREADS.
27136         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
27137         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
27138         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
27139         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
27140         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
27141         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
27142         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
27143         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
27144         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
27145         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
27146         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
27147         * tests/test-tls.c: Likewise.
27148         Rationale:
27149         Microsoft renamed the "Win32 API" to "Windows API", as it is available
27150         on both 32-bit and 64-bit Windows systems.
27151         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
27152         line of distinction is between "native Windows" on one side and Unix/
27153         POSIX systems on the other side. More details in
27154         <https://lists.gnu.org/r/bug-gnulib/2012-01/msg00027.html>.
27155         Suggested by Paul Eggert.
27157 2012-01-03  Bruno Haible  <bruno@clisp.org>
27159         isatty: Support for MSVC 9.
27160         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
27161         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
27162         (_isatty_nothrow): New function.
27163         (isatty): Use it instead of _isatty.
27164         (IsConsoleHandle): Add comment, from Paolo Bonzini.
27165         * lib/poll.c (IsConsoleHandle): Likewise.
27166         * lib/select.c (IsConsoleHandle): Likewise.
27167         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
27168         (gl_PREREQ_ISATTY): New macro.
27169         * modules/isatty (Depends-on): Add msvc-inval.
27170         (configure.ac): Invoke gl_PREREQ_ISATTY.
27172 2012-01-03  Jim Meyering  <meyering@redhat.com>
27174         maint.mk: remove temporary transition aid from over 1.5 years ago
27175         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
27176         purpose was to aid in the transition (avoiding silent malfunction)
27177         from that old name to the new _sc_search_regexp.  This shim was
27178         added by commit 219c504b.
27180         init.sh: do not try to accommodate compare arguments starting with "-"
27181         * tests/init.sh (compare_dev_null_): Do not try to accommodate
27182         compare arguments that start with "-".  Besides, we do not worry
27183         about this when invoking diff or cmp; why start now with sed?
27184         Using "--" to separate options from argument would trigger sed
27185         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
27186         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
27188 2012-01-02  Bruno Haible  <bruno@clisp.org>
27190         Enhance tests for module 'isatty'.
27191         * modules/isatty-tests (Depends-on): Add pipe-posix.
27192         * tests/test-isatty.c: Include <fcntl.h>.
27193         (DEV_NULL): New macro.
27194         (main): Test the resut of isatty() also on regular files, pipes, and
27195         /dev/null.
27197         New module 'isatty'.
27198         * lib/unistd.in.h (isatty): New declaration.
27199         * lib/isatty.c: New file, based on an idea of
27200         Bastien Roucariès <roucaries.bastien@gmail.com>.
27201         * m4/isatty.m4: New file.
27202         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
27203         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
27204         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
27205         REPLACE_ISATTY.
27206         * modules/isatty: New file.
27207         * doc/posix-functions/isatty.texi: Mention the new module.
27208         Suggested by Paolo Bonzini.
27210 2012-01-02  Bruno Haible  <bruno@clisp.org>
27212         canonicalize: Tweak 2011-12-29 commit.
27213         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
27214         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
27216 2012-01-02  Jim Meyering  <meyering@redhat.com>
27218         gitlog-to-changelog: describe input syntax in --help output
27219         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
27221         gitlog-to-changelog: fix typo in --help: show backslash before email @
27222         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
27223         in sources, but not in actual output.
27225 2011-12-30  Jim Meyering  <meyering@redhat.com>
27227         gitlog-to-changelog: don't malfunction when name contains %-directive
27228         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
27229         in a name string cause trouble.  E.g., with a user name of "%s",
27230         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
27232 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
27234         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
27235         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
27236         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
27237         the "  (tiny change)" notation that is appended to the standard
27238         ChangeLog "date  name  email" header line.
27240 2012-01-01  Jim Meyering  <meyering@redhat.com>
27242         test-framework-sh: init.sh: fix "make dist" failure
27243         When using gnulib-tool's --with-tests option and any module that
27244         depends on test-framework-sh, "make dist" would fail due to the
27245         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
27246         in the gltests directory, and not in the gllib/ directory.
27247         One way to work around that is to move the EXTRA_DIST += init.sh
27248         from the primary module to the -tests one:
27249         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
27250         * modules/test-framework-sh (Makefile.am): ...not here.
27251         Reported by Tom G. Christensen in
27252         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
27254         version-etc: update copyright year reported by --version
27255         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
27257 2011-12-31  Pádraig Brady  <P@draigBrady.com>
27259         canonicalize: only stat() if required
27260         * lib/canonicalize.c (canonicalize_filename_mode):
27261         Avoid calling l?stat() when both CAN_MISSING,
27262         and CAN_NOLINKS are set, as we neither need
27263         to resolve symlinks or test component existence.
27265 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
27267         doc: cover st_ino issues once; add OpenVMS etc.
27268         * doc/posix-functions/stat.texi (stat):
27269         * doc/posix-functions/lstat.texi (lstat):
27270         * doc/posix-functions/fstatat.texi (fstatat):
27271         * doc/posix-functions/fstat.texi (fstat):
27272         Move general 'struct stat' stuff to sys_stat.texi,
27273         leaving behind a pointer.
27274         * doc/posix-headers/sys_stat.texi (sys/stat.h):
27275         Merge duplicate info about 'struct stat' problems into here.
27276         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
27277         and suggest partial workarounds.
27279         same-inode: port to OpenVMS
27280         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
27281         three st_ino values.
27283 2011-12-30  Pádraig Brady  <P@draigBrady.com>
27285         canonicalize: fix references to stat() and lstat()
27286         * lib/canonicalize.c (canonicalize_filename_mode):
27287         Ensure references always resolve to a replacement
27288         function if required (even via a macro).
27290 2011-12-30  Jim Meyering  <meyering@redhat.com>
27292         gitlog-to-changelog: remove a little duplication
27293         * build-aux/gitlog-to-changelog (main): Grep @lines once,
27294         rather than twice.
27296 2011-12-29  Pádraig Brady  <P@draigBrady.com>
27298         canonicalize: add support for not resolving symlinks
27299         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
27300         indicate we don't want to follow symlinks.  Also
27301         provide CAN_MODE_MASK to aid setting these existing
27302         mutually exclusive values.
27303         * lib/canonicalize.c (canonicalize_filename_mode):
27304         Extract the flags from can_mode parameter, which
27305         are currently just used to select between stat()
27306         and lstat().  Also ensure that mutually exclusive
27307         values are flagged immediately as invalid.
27308         * tests/test-canonicalize.c: Verify symlinks are
27309         not followed, and that invalid flag combinations
27310         are diagnosed.
27312 2011-12-25  Jim Meyering  <meyering@redhat.com>
27314         gitlog-to-changelog: do not clump multi-paragraph entries
27315         Identical header lines (date,name,email+coauthors) are suppressed,
27316         thus putting all entries with those same characteristics under
27317         a single header.  However, when a log entry consists of two or
27318         more paragraphs, it may not be clear where it starts and ends.
27319         This change makes it so that such an entry is always separated
27320         from others by a header line, even when that header would
27321         otherwise be suppressed.
27322         * build-aux/gitlog-to-changelog: Implement the above.
27323         Inspired by a related request from Stefano Lattarini in
27324         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
27326 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
27328         announce-gen: fix `cmd' typo in diagnostic
27329         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
27330         diagnostic: a missing '$' meant that the command was not output.
27332 2011-12-23  Jim Meyering  <meyering@redhat.com>
27334         test-framework-sh: distribute init.sh
27335         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
27336         Otherwise, "make -C gnulib-tests check" (at least in grep) would
27337         fail due to the lack of init.sh.
27339         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
27340         * modules/atexit-tests: Rather than listing tests/init.sh,
27341         now that there's a module for it, simply depend on that new module.
27342         * modules/closein-tests: Likewise.
27343         * modules/exclude-tests: Likewise.
27344         * modules/getcwd-tests: Likewise.
27345         * modules/perror-tests: Likewise.
27346         * modules/pread-tests: Likewise.
27347         * modules/pwrite-tests: Likewise.
27348         * modules/vc-list-files-tests: Likewise.
27349         * modules/verify-tests: Likewise.
27350         * modules/xalloc-die-tests: Likewise.
27351         * modules/xstrtoimax-tests: Likewise.
27352         * modules/xstrtol-tests: Likewise.
27353         * modules/xstrtoll-tests: Likewise.
27354         * modules/xstrtoumax-tests: Likewise.
27355         * modules/yesno-tests: Likewise.
27357 2011-12-22  Jim Meyering  <meyering@redhat.com>
27359         test-framework-sh: add minimal tests of init.sh's compare function
27360         * modules/test-framework-sh-tests: New file.
27361         * tests/test-init.sh: New file.
27363         test-framework-sh: new module
27364         * modules/test-framework-sh: New file.
27365         * MODULES.html.sh (Support for maintaining and releasing projects):
27366         List it.
27368         init.sh: do not emit simulated diff output to stderr
27369         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
27371 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
27373         .gitignore: ignore gnulib.dvi and regex.info
27374         * doc/.gitignore:add gnulib.dvi and regex.info
27376 2011-12-22  Jim Meyering  <meyering@redhat.com>
27378         init.sh: correct previous change
27379         * tests/init.sh (compare): My previous change was wrong.
27380         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
27382         init.sh: avoid unwarranted test failure when using "set -e"
27383         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
27384         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
27385         a use like "compare exp out" would get evoke an unconditional failure.
27387 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
27389         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
27390         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
27391         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
27392         autoreconf that did not.
27393         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
27394         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
27396 2011-12-17  Jim Meyering  <meyering@redhat.com>
27398         bootstrap: remove some now-unneeded code
27399         This script arose back when gnulib-tool was young.
27400         Since then, it has seen improvements that render much of this
27401         script unnecessary.  In particular, it can now make symlinks
27402         to the files it uses.  Also, I no longer see as much value in
27403         marking files as read-only via comments.
27404         If you relied on the symlink-creation feature of the preceding
27405         version of this script, you can get most of that functionality
27406         by adding the --symlink option to the definition of
27407         gnulib_tool_option_extras in your bootstrap.conf file.
27408         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
27409         Run autopoint and libtoolize *before* gnulib-tool.
27410         After it, run an abbreviated autoreconf, rather than a loop around
27411         all tools.
27412         (slirp, bt_mark_as_generated): Remove functions.
27414 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
27416         ftoastr: fix typo
27417         * lib/ftoastr.h: Fix misspelling in comment.
27419 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
27421         * top/README-release: fix punctuation.
27423 2011-12-17  Jim Meyering  <meyering@redhat.com>
27425         bootstrap: correct the recent buildreq change
27426         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
27427         had no effect.
27428         * build-aux/bootstrap (buildreq): Bracket each search term with
27429         "*...*", so that the shell "case" statement works as intended.
27430         Add comments.
27432 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
27434         build: let bootstrap resort to wget when downloading .po files
27435         * build-aux/bootstrap (download_po_files): Fallback to wget when
27436         downloading the .po files via rsync fails.  This is necessary to
27437         bootstrap from behind a strict firewall.
27439 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
27441         stdint: don't assume C++11 when compiling with g++
27442         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
27443         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00099.html>.
27444         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
27445         work also in C++ before C++11, as that improperly inhibits
27446         generating a substitute stdint.h for that case.
27448 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
27450         alloca: protect comment from gnulib-tool
27451         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
27452         that gnulib-tool doesn't think it's a license, and munge it to
27453         say "GCC version 3".
27455 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
27457         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
27458         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
27459         $(abs_top_builddir) instead of $(top_builddir).
27461 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
27463         strftime-tests: also test nanoseconds
27464         * tests/test-strftime.c (T): Add a test of %N.
27466 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
27468         inttypes, stdint: add C++11 support
27469         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
27470         when including inttypes.h and stdint.h.  Support this change to
27471         the standard.
27472         * doc/posix-headers/inttypes.texi (inttypes.h):
27473         * doc/posix-headers/stdint.texi (stdint.h): Document this.
27474         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
27475         Define if not defined already, for the benefit of pre-C++11 hosts.
27476         Define the standard format macros (e.g., PRId8) always.
27477         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
27478         Likewise, if __cpluspus.  Define the standard constant and limit
27479         macros (e.g., INT8_C, INT8_MAX) always.
27480         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
27481         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
27482         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
27483         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
27484         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
27485         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
27486         Likewise.
27488 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
27490         nonblocking tests: Fix test failure on Linux/PPC.
27491         Suggested by Prerna Saxena in
27492         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00080.html>.
27493         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
27494         Set to 1100000.
27496 2011-12-12  Jim Meyering  <meyering@redhat.com>
27498         argmatch: don't hard-code `' when listing valid option arguments
27499         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
27500         use the quote function to add quotes.  Use fputs rather than
27501         fprintf for the format string with no format directive.
27503 2011-12-07  Eric Blake  <eblake@redhat.com>
27505         bootstrap: detect tools required by gnulib-tool
27506         * build-aux/bootstrap (buildreq): Provide minimum implicit
27507         dependencies.
27508         * DEPENDENCIES: Mention patch as a prereq.
27510 2011-12-04  Bruno Haible  <bruno@clisp.org>
27512         sethostname: Port to Windows platforms.
27513         * lib/sethostname.c: Provide an alternate implementation for Windows
27514         platforms.
27515         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
27516         (main): Skip the test if sethostname() fails with EPERM. On Windows
27517         platforms, don't check the result of gethostname().
27519 2011-12-04  Bruno Haible  <bruno@clisp.org>
27520             Jim Meyering  <meyering@redhat.com>
27522         tests: Avoid spurious error message on platforms without mktemp program.
27523         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
27525 2011-12-04  Bruno Haible  <bruno@clisp.org>
27527         sethostname: Fix documentation.
27528         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
27529         "not fixed" section.
27531 2011-12-03  Bruno Haible  <bruno@clisp.org>
27533         gnulib-tool: Verify that the License field is present and non-empty.
27534         * gnulib-tool (func_get_license_raw): New function, extracted from
27535         func_get_license.
27536         (func_get_license): Use it. Warn if the module is not a test module and
27537         has no license.
27538         Suggested by Jim Meyering.
27540 2011-12-03  Bruno Haible  <bruno@clisp.org>
27542         sethostname tests: Fix link error on mingw.
27543         * tests/test-sethostname1.c: New file, extracted from
27544         tests/test-sethostname.c.
27545         * tests/test-sethostname2.c: New file, extracted from
27546         tests/test-sethostname.c.
27547         * tests/test-sethostname.c: Remove file.
27548         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
27549         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
27550         (Depends-on): Add gethostname.
27551         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
27552         Link the latter with $(GETHOSTNAME_LIB).
27554         sethostname tests: Fix compilation error on mingw.
27555         * tests/test-sethostname.c: Don't include <sys/types.h>.
27556         (geteuid): Use a dummy value without uid_t.
27557         * modules/sethostname-tests (Depends-on): Remove sys_types.
27559         sethostname tests: Avoid a gcc warning.
27560         * tests/test-sethostname.c (main): Remove an unused variable.
27562         Tweak last commit.
27563         * modules/sethostname-tests (Files): Sort by decreasing importance.
27564         (configure.ac): Check for geteuid.
27565         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
27566         the test when there's nothing to test. Drop an unnecessary cast.
27567         Improve an error message. Verify that the final sethostname() call
27568         succeeds.
27570 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
27572         Add a test suite for the sethostname module.
27573         * modules/sethostname-tests: New file.  A test program
27574         for the sethostname module.
27575         * tests/test-sethostname.c: Likewise.
27577 2011-12-03  Bruno Haible  <bruno@clisp.org>
27579         Tweak last commit.
27580         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
27581         Fix preprocessor directives indentation. Fix typos.
27582         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
27583         * modules/unistd (Makefile): Likewise.
27585 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
27587         Integrate the sethostname module into unistd.
27588         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
27589         into the unistd.h header.
27590         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
27591         preprocessor directives.
27592         * modules/unistd: Setup the Makefile substitutions of the
27593         SETHOSTNAME preprocessor directives.
27595 2011-12-03  Bruno Haible  <bruno@clisp.org>
27597         Tweak last commit.
27598         * lib/sethostname.c: Don't include <string.h>.
27599         (sethostname): No need to copy the argument string to the stack. Don't
27600         call clearerr. Preserve errno when fprintf failed.
27601         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
27602         Don't invoke AC_REPLACE_FUNCS.
27603         * modules/sethostname (Link): Remove empty section.
27604         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
27605         failure problem.
27607 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
27609         New module 'sethostname'.
27610         * lib/sethostname.c (sethostname): New file.  Provide sethostname
27611         for systems that lack it.
27612         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
27613         sethostname declaration and function.
27614         * modules/sethostname: New file.  Define the sethostname module.
27616 2011-12-03  Bruno Haible  <bruno@clisp.org>
27618         Tweak last commit.
27619         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
27621 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
27623         Split the HOST_NAME_MAX detection into a separate m4 macro.
27624         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
27625         macro so it can be used by the pending sethostname module.
27627 2011-12-03  Bruno Haible  <bruno@clisp.org>
27629         Fix module descriptions syntax.
27630         * modules/argv-iter (License): Fix syntax.
27631         * modules/di-set (License): Likewise.
27632         * modules/ino-map (License): Likewise.
27633         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
27635 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
27637         stdalign: port to Clang 3.0
27638         Problem reported by Simon Josefsson in
27639         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00005.html>.
27640         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
27641         which has <stdalign.h> but which does not define alignof.
27642         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
27644 2011-12-01  Eric Blake  <eblake@redhat.com>
27646         mktempd: silence dd usage
27647         * build-aux/mktempd (rand_bytes): Silence dd.
27649 2011-11-30  Simon Josefsson  <simon@josefsson.org>
27651         manywarnings: Don't mention gcc version in docstring.
27652         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
27653         Jim Meyering <meyering@redhat.com>.
27655 2011-11-30  Jim Meyering  <meyering@redhat.com>
27657         hash: mark a few floating point constants with "f" suffix
27658         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
27659         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
27660         floating point constants with "f", since they're destined to be
27661         saved/used as "float"s.
27663 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
27665         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
27666         * tests/test-float.c (test_long_double): Correct and re-enable the
27667         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
27669 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
27671         Avoid subtracting two pointers that don't point into the same block.
27672         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
27673         only pointers into the same memory block are subtracted. We cannot
27674         assume that sizeof (ptrdiff_t) == sizeof (void *).
27676 2011-11-29  Eric Blake  <eblake@redhat.com>
27678         maint.mk: add syntax check for use of compare from init.sh
27679         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
27680         moved here from coreutils.
27682         manywarnings: drop -Wunsuffixed-float-constants
27683         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
27684         '1.0D', which is the only way to silence this warning for 'double'.
27686 2011-11-29  Jim Meyering  <meyering@redhat.com>
27688         hash: mark compute_bucket_size with the pure attribute
27689         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
27691         quotearg, propername: correct pragma guard expression
27692         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
27693         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
27695 2011-11-28  Jim Meyering  <meyering@redhat.com>
27697         propername: do not mark proper_name with the const attribute
27698         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
27699         since it examines data pointed to by its parameter.
27700         * lib/propername.c (proper_name): Instead, add a pragma to suppress
27701         the suggestion from -Wsuggest-attribute=const.
27703         propername: mark one more function as const
27704         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
27706 2011-11-27  Jim Meyering  <meyering@redhat.com>
27708         mark functions with const and pure attributes
27710         Mark functions per suggestions from gcc-4.6 when using these options:
27711         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
27712         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
27713         Follow these guidelines: when possible, apply the attribute to
27714         an extern declaration, not to its definition.  Apply it to the
27715         definition only when the definition is static.
27716         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
27717         * lib/argv-iter.h (argv_iter_n_args): Likewise.
27718         * lib/base64.h (isbase64): Likewise.
27719         * lib/basename-lgpl.c (last_component, base_len): Likewise.
27720         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
27721         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
27722         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
27723         (c_tolower, c_toupper): Likewise.
27724         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
27725         * lib/chdir-long.c (find_non_slash): Likewise.
27726         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
27727         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
27728         * lib/file-type.h (file_type): Likewise.
27729         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
27730         * lib/filevercmp.c (verrevcmp): Likewise.
27731         * lib/freadahead.h (freadahead): Likewise.
27732         * lib/fts.c (fts_maxarglen): Likewise.
27733         * lib/hash-pjw.h (hash_pjw): Likewise.
27734         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
27735         * lib/hash.c (is_prime, next_prime): Likewise.
27736         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
27737         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
27738         (hash_table_ok, hash_get_first, hash_string): Likewise.
27739         (compute_bucket_size): Likewise.
27740         * lib/i-ring.h (i_ring_empty): Likewise.
27741         * lib/isnan.c (isnanl): Likewise.
27742         * lib/math.h (isnanl, rpl_isnanl): Likewise.
27743         * lib/memcasecmp.h (memcasecmp): Likewise.
27744         * lib/memchr2.h (memchr2): Likewise.
27745         * lib/memcmp2.h (memcmp2): Likewise.
27746         * lib/parse-datetime.y (lookup_zone): Likewise.
27747         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
27748         [!WINDOWS_SOCKETS]: Likewise.
27749         * lib/strnlen1.h (strnlen1): Likewise.
27750         * lib/uniwidth.in.h (uc_width): Likewise.
27751         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
27752         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
27753         (quoting_options_from_style): Add a comment.
27754         * lib/propername.h (proper_name): Add a comment.
27756 2011-11-27  Bruno Haible  <bruno@clisp.org>
27758         Remove unused macros from !_LIBC code in glibc-borrowed files.
27759         * lib/fnmatch.c (STRCOLL): Remove macro.
27760         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
27761         * lib/glob.c (__stat, __readdir64): Remove macros.
27762         * lib/tempname.c (__open64, __xstat64): Remove macros.
27763         Suggested by Paul Eggert.
27765 2011-11-27  Bruno Haible  <bruno@clisp.org>
27767         getcwd: Fix link error on MSVC 9.
27768         * modules/getcwd (Depends-on): Add readdir, rewinddir.
27770 2011-11-27  Bruno Haible  <bruno@clisp.org>
27772         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
27773         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
27774         HAVE_OPENDIR is 0.
27775         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
27776         HAVE_CLOSEDIR is 0.
27777         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
27778         is 0.
27779         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
27781 2011-11-27  Bruno Haible  <bruno@clisp.org>
27783         getcwd: Fix bug from 2011-08-17.
27784         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
27785         platforms that need it.
27786         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
27787         code of 4 to be a failure, not a success. This ensures that
27788         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
27790 2011-11-27  Bruno Haible  <bruno@clisp.org>
27792         binary-io tests: Avoid test failure on mingw when libtool is used.
27793         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
27794         Don't verify the size of t-bin-out1.tmp here.
27795         * tests/test-binary-io.sh: Verify it here.
27796         Reported by Simon Josefsson.
27798 2011-11-26  Bruno Haible  <bruno@clisp.org>
27800         Fix conflict between two instantiations of module 'unistd'.
27801         * gnulib-tool (func_emit_autoconf_snippet): Substitute
27802         ${include_guard_prefix} also in the autoconf snippet.
27803         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
27804         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
27805         GNULIB_UNISTD_H_GETOPT.
27806         * modules/getopt-posix (configure.ac): Set the
27807         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
27808         * modules/getopt-gnu (configure.ac): Likewise.
27809         * modules/unistd (Makefile.am): Change the substitution value of
27810         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
27811         Reported by Simon Josefsson.
27813 2011-11-25  Bruno Haible  <bruno@clisp.org>
27815         pagealign_alloc: Doc and comments.
27816         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
27817         module.
27818         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
27820 2011-11-25  Jim Meyering  <meyering@redhat.com>
27822         test-update-copyright.sh: avoid false-positive failure
27823         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
27824         around false positive failure on Cygwin/Windows.  The latter was
27825         matching erroneously-created files with names like
27826         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
27828 2011-11-25  Simon Josefsson  <simon@josefsson.org>
27830         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
27831         * m4/valgrind-tests.m4: Check that the parameters that will be
27832         used works, not just a subset of them.  Reported by Bruno Haible
27833         <bruno@clisp.org>.
27835 2011-11-24  Jim Meyering  <meyering@redhat.com>
27837         test-stdalign.c: comment out long double tests
27838         * tests/test-stdalign.c: Don't try to reduce alignment of long double
27839         variables.  That provokes errors like this from gcc-4.7.0 20111124:
27840         error: '_Alignas' specifiers cannot reduce alignment of \
27841         'static_longdouble_alignas'.
27843 2011-11-22  Jim Meyering  <meyering@redhat.com>
27845         init.sh: make "compare /dev/null FILE" output more readable
27846         * tests/init.sh (compare_): Document the preferred order of arguments.
27847         (emit_diff_u_header_): New function.
27848         (compare_dev_null_): Emit a simulated diff, rather than just the
27849         contents of the unexpected file.  Suggestion from Bruno Haible.
27851 2011-11-21  Jim Meyering  <meyering@redhat.com>
27852             Eric Blake  <eblake@redhat.com>
27854         init.sh: work around OSF/1 5.1's mishandling of /dev/null
27855         * tests/init.sh: Make our compare function slightly more portable.
27856         Reported by Bruno Haible in
27857         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
27859 2011-11-21  Simon Josefsson  <simon@josefsson.org>
27861         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
27862         before using it, in code that ends up in config.h.
27864 2011-11-20  Bruno Haible  <bruno@clisp.org>
27866         getcwd: Work around getcwd bug on AIX 5..7.
27867         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
27868         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
27869         Use a different value for gl_cv_func_getcwd_path_max. Move the
27870         definition of HAVE_PARTLY_WORKING_GETCWD from here...
27871         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
27872         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
27873         Define HAVE_MINIMALLY_WORKING_GETCWD.
27874         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
27875         where it is not even minimally working, that is, on AIX.
27876         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
27877         m4/getcwd-path-max.m4.
27878         (main): Update exit code computation.
27879         * doc/posix-functions/getcwd.texi: Mention list of platforms where
27880         getcwd does not handle long file names.
27882 2011-11-20  Bruno Haible  <bruno@clisp.org>
27884         getcwd: Fix bug from 2009-09-10.
27885         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
27886         like "no".
27888 2011-11-20  Simon Josefsson  <simon@josefsson.org>
27890         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
27892 2011-11-20  Bruno Haible  <bruno@clisp.org>
27894         fma tests: Avoid shadowing local variables.
27895         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
27896         expected.
27898 2011-11-20  Bruno Haible  <bruno@clisp.org>
27900         copysignf tests: Fix.
27901         * tests/test-copysignf.c: Fix signature check.
27903 2011-11-20  Bruno Haible  <bruno@clisp.org>
27905         fma: Remove unused code.
27906         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
27907         unused macros.
27909 2011-11-20  Bruno Haible  <bruno@clisp.org>
27911         sethostname: Fix doc about AIX.
27912         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
27913         sethostname; it has it.
27915         sethostname: Mention more portability problems.
27916         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
27917         problem.
27918         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
27920 2011-11-19  Bruno Haible  <bruno@clisp.org>
27922         Depend on module fcntl-h when AT_FDCWD is used.
27923         * modules/utimens (Depends-on): Add fcntl-h.
27924         * modules/areadlinkat (Depends-on): Likewise.
27925         * modules/areadlinkat-with-size (Depends-on): Likewise.
27926         * modules/faccessat (Depends-on): Likewise.
27927         * modules/fchmodat (Depends-on): Likewise.
27928         * modules/fchownat (Depends-on): Likewise.
27929         * modules/getcwd (Depends-on): Likewise.
27930         * modules/mkdirat (Depends-on): Likewise.
27931         * modules/mkfifoat (Depends-on): Likewise.
27932         * modules/readlinkat (Depends-on): Likewise.
27933         * modules/symlinkat (Depends-on): Likewise.
27934         * modules/dup2-tests (Depends-on): Likewise.
27935         * modules/fdutimensat-tests (Depends-on): Likewise.
27936         * modules/futimens-tests (Depends-on): Likewise.
27938 2011-11-19  Bruno Haible  <bruno@clisp.org>
27940         euidaccess: Update a comment.
27941         * lib/euidaccess.c: Update comment about platforms with faccessat.
27943 2011-11-19  Bruno Haible  <bruno@clisp.org>
27945         openat: Fix file list.
27946         * modules/openat (Files): Remove lib/at-func.c.
27948 2011-11-19  Bruno Haible  <bruno@clisp.org>
27950         fstatat: Simplify.
27951         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
27952         gnulib should define rpl_fstatat, there is a
27953         "#define fstatat rpl_fstatat" in <sys/stat.h>.
27955 2011-11-19  Bruno Haible  <bruno@clisp.org>
27957         Ensure 'inline' can be used in tests/test-utimens-common.h.
27958         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
27959         * modules/futimens-tests (configure.ac): Likewise.
27960         * modules/utimens-tests (configure.ac): Likewise.
27961         * modules/utimensat-tests (configure.ac): Likewise.
27963 2011-11-19  Simon Josefsson  <simon@josefsson.org>
27965         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
27966         not hash_insert0.
27967         (hash_insert_if_absent): Doc fix.
27969 2011-11-19  Simon Josefsson  <simon@josefsson.org>
27971         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
27973 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
27975         test-getcwd: disambiguate exit status
27976         * tests/test-getcwd.c (test_long_name): Return 0..7.
27977         (main): Exit with an unambiguous exit status.  The old
27978         code yielded a mysterious mixture of two failure codes.
27980         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
27981         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
27982         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
27983         rpl_fstatat or fstatat.  This should fix the other problem
27984         reported by Kai Habel in
27985         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
27986         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
27987         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00239.html>
27988         and I reproduced it on a Solaris 8 host we still have in production.
27990 2011-11-18  Jim Meyering  <meyering@redhat.com>
27992         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
27993         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
27994         Add a sentence to the comment.
27995         (hash_insert0): New function that simply calls hash_insert_if_absent.
27996         * lib/hash.h (hash_insert_if_absent): Declare it.
27997         (hash_insert0): Add deprecation attribute.
27998         (_GL_ATTRIBUTE_DEPRECATED): Define.
27999         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
28000         not hash_insert0.
28001         * NEWS: Mention it, even though it's not really an incompatible change.
28003 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
28005         openat: avoid compilation failure due to lack of <errno.h> inclusion
28006         * lib/openat.c: Include <errno.h>.
28008 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
28010         * modules/getcwd (Depends-on): Add fdopendir.
28011         This fixes one of the two problems reported by Kai Habel in
28012         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
28014         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
28015         stdalign problem reported by Ian Beckwith in
28016         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00238.html>.
28017         * modules/crypto/gc-arcfour (Depends-on):
28018         Depend conditionally on crypto/arcfour.
28019         * modules/crypto/gc-arctwo (Depends-on):
28020         Depend conditionally on crypto/arctwo.
28021         * modules/crypto/gc-des (Depends-on):
28022         Depend conditionally on crypto/des.
28023         * modules/crypto/gc-hmac-md5 (Depends-on):
28024         Depend conditionally on crypto/hmac-md5.
28025         * modules/crypto/gc-hmac-sha1 (Depends-on):
28026         Depend conditionally on crypto/hmac-sha1.
28027         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
28028         * modules/crypto/gc-md4 (Depends-on):
28029         Depend conditionally on crypto/md4.
28030         * modules/crypto/gc-md5 (Depends-on):
28031         Depend conditionally on crypto/md5.
28032         * modules/crypto/gc-rijndael (Depends-on):
28033         Depend conditionally on crypto/rijndael.
28034         * modules/crypto/gc-sha1 (Depends-on):
28035         Depend conditionally on crypto/sha1.
28036         * modules/crypto/gc-arcfour:
28037         * modules/crypto/gc-arctwo:
28038         * modules/crypto/gc-des:
28039         * modules/crypto/gc-hmac-md5:
28040         * modules/crypto/gc-hmac-sha1:
28041         * modules/crypto/gc-md2:
28042         * modules/crypto/gc-md4:
28043         * modules/crypto/gc-md5:
28044         * modules/crypto/gc-rijndael:
28045         * modules/crypto/gc-sha1:
28046         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
28047         now that the conditional dependencies do the work for us.
28049 2011-11-17  Jim Meyering  <meyering@redhat.com>
28051         tests: factor st_ctime-comparison out of two headers
28052         * tests/test-utimens-common.h (ctime_compare): Define.
28053         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
28054         * tests/test-lutimens.h (test_lutimens): Likewise.
28055         * tests/test-utimens.h (test_utimens): Likewise.
28057         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
28058         Invoke the test program via an init.sh-using wrapper.
28059         * tests/test-getcwd.sh: New file.
28060         * modules/getcwd-tests (Files): Add it.
28061         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
28063 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
28065         gitlog-to-changelog: support multi-author commits.
28066         The FSF cares about keeping track of all authors of patches to its
28067         projects, but Git doesn't provide obvious support for multi-author
28068         changesets. Consensus seems to be forming around the use of extra
28069         Signed-off-by inspired lines in the log message formatted as
28070         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
28071         multi-author commits between version control systems.
28072         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
28073         log message and output in standard ChangeLog multi-author format.
28074         Reported by Peter Rosin <peda@lysator.liu.se>
28076 2011-11-15  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
28077             Bruno Haible  <bruno@clisp.org>
28079         Fix some modules' file list.
28080         * modules/fstatat (Files): Add m4/lstat.m4.
28081         * modules/openat (Files): Likewise.
28082         * modules/unlinkat (Files): Likewise.
28084 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
28086         maint.mk: fix tight-scope.mk generation in VPATH builds.
28087         * top/maint.mk (tight-scope.mk): Make sure to prefix file
28088         reference with $(srcdir) so that the file is found correctly even
28089         when running `make syntax-check' in a VPATH build.
28091 2011-11-13  Bruno Haible  <bruno@clisp.org>
28092             Jim Meyering  <meyering@redhat.com>
28094         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
28095         * tests/init.sh (compare): Remove "No differences encountered" or
28096         synonymous output from the 'diff' program.
28098 2011-11-13  Bruno Haible  <bruno@clisp.org>
28100         Makefile: Tweak indentation.
28101         * Makefile: Use tab as first character in every line that contains rule
28102         commands.
28104 2011-11-13  Bruno Haible  <bruno@clisp.org>
28106         Syntax check for copyright statements.
28107         * check-copyright: New file.
28108         * Makefile (sc_check_copyright): New rule.
28110 2011-11-13  Simon Josefsson  <simon@josefsson.org>
28112         * build-aux/git-version-gen: Add --prefix to configure the tag
28113         match string.
28115 2011-11-13  Simon Josefsson  <simon@josefsson.org>
28117         * build-aux/git-version-gen: Add --help and --version.
28119 2011-11-12  Jim Meyering  <meyering@redhat.com>
28121         revamp the other test-exclude?.sh scripts to use init.sh, too
28122         * tests/test-exclude1.sh: Use init.sh.
28123         * tests/test-exclude2.sh: Likewise.
28124         * tests/test-exclude3.sh: Likewise.
28125         * tests/test-exclude4.sh: Likewise.
28126         * tests/test-exclude5.sh: Likewise.
28127         * tests/test-exclude6.sh: Likewise.
28128         * tests/test-exclude7.sh: Likewise.
28129         * tests/test-exclude8.sh: Likewise.
28130         * modules/exclude-tests (Files): List init.sh.
28132         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
28133         These shell scripts ignored failure of the binary test-exclude,
28134         so making the latter return 77 didn't cause them to be skipped.
28135         * tests/test-exclude5.sh: Exit with test-exclude's error status
28136         when that program fails.  Revamp to use init.sh.
28137         * tests/test-exclude2.sh: Likewise.
28139         test-exclude: fix a typo
28140         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
28142 2011-11-11  Bruno Haible  <bruno@clisp.org>
28144         obstack: Fix compilation error on MSVC 9.
28145         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
28147 2011-11-11  Jim Meyering  <meyering@redhat.com>
28149         test-exclude: skip tests rather than failing on deficient systems
28150         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
28151         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
28152         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
28153         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
28155 2011-11-10  Bruno Haible  <bruno@clisp.org>
28157         ptsname_r test: Avoid gcc warning on glibc systems.
28158         * tests/test-ptsname_r.c (null_ptr): New function.
28159         (test_errors): Use it.
28161 2011-11-10  Bruno Haible  <bruno@clisp.org>
28163         ptsname_r: Avoid compilation error on OSF/1 5.1.
28164         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
28165         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
28166         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
28167         function is not declared or incompatibly declared.
28168         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
28169         * modules/ptsname_r (Depends-on, configure.ac): Update.
28170         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
28172 2011-11-10  Bruno Haible  <bruno@clisp.org>
28174         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
28175         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
28176         When cross-compiling, guess yes on all platforms except AIX.
28177         Reported by Ludovic Courtès <ludo@gnu.org>.
28179 2011-11-09  Bruno Haible  <bruno@clisp.org>
28181         ptsname_r tests: Fix bugs.
28182         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
28183         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
28185 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
28187         fstatat: work with cross-compilation
28188         Problem reported by Ludovic Courtès in
28189         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00136.html>.
28190         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
28191         "cross-compiling" and assume the bug is present.  Replace
28192         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
28193         an inverted sense, to be more conservative about our assumptions.
28194         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
28196 2011-11-09  Bruno Haible  <bruno@clisp.org>
28198         Improve MODULES.html output.
28199         * modules/mkfifoat (Description): Use the word "function".
28200         * modules/readlinkat (Description): Likewise.
28201         * modules/symlinkat (Description): Likewise.
28203 2011-11-09  Eric Blake  <eblake@redhat.com>
28205         ptsname_r-tests: new test module
28206         * modules/ptsname_r-tests: New module.
28207         * tests/test-ptsname_r.c: New file.
28209         ptsname_r: new module
28210         * modules/ptsname_r: New module.
28211         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
28212         * lib/ptsname.c (__ptsname_r): Split...
28213         * lib/ptsname_r.c: ...into new file.
28214         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
28215         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
28216         * modules/stdlib (Makefile.am): Substitute witnesses.
28217         * lib/stdlib.in.h (ptsname_r): Declare it.
28218         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
28219         * MODULES.html.sh (Misc): Likewise.
28220         * modules/ptsname (Depends-on): Alter dependency.
28221         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
28223 2011-11-09  Jim Meyering  <meyering@redhat.com>
28225         announce-gen: be more concise when there's only one URL+tarball
28226         * build-aux/announce-gen (get_tool_versions): When you distribute
28227         only one type of tarball, combine the first two "Here are..."
28228         sections and make the key-checking grammar independent of
28229         how many tarballs there are.
28231 2011-11-09  Eric Blake  <eblake@redhat.com>
28233         openpty: provide a stub on mingw
28234         * lib/pty.in.h (includes): Provide forward declarations.
28235         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
28237         raise: fix mingw handling of SIGPIPE
28238         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
28240 2011-11-08  Bruno Haible  <bruno@clisp.org>
28242         More conditional dependencies.
28243         * modules/faccessat (Depends-on): Add conditions.
28244         * modules/fchmodat (Depends-on): Likewise.
28245         * modules/fchownat (Depends-on): Likewise.
28246         * modules/fstatat (Depends-on): Likewise.
28247         * modules/mkfifoat (Depends-on): Likewise.
28248         * modules/readlinkat (Depends-on): Likewise.
28249         * modules/symlinkat (Depends-on): Likewise.
28250         * modules/unlinkat (Depends-on): Likewise.
28251         * modules/utimensat (Depends-on): Likewise.
28252         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
28253         * modules/linkat (Depends-on): Refine the conditions.
28254         * modules/renameat (Depends-on): Likewise.
28256 2011-11-08  Bruno Haible  <bruno@clisp.org>
28258         faccessat: Move AC_LIBOBJ invocation to module description.
28259         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
28260         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
28261         invocation from here...
28262         * modules/faccessat (configure.ac): ... to here. Invoke
28263         gl_PREREQ_FACCESSAT.
28265 2011-11-08  Bruno Haible  <bruno@clisp.org>
28267         faccessat: Simplify autoconf macro.
28268         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
28269         gl_FUNC_EUIDACCESS.
28271 2011-11-08  Bruno Haible  <bruno@clisp.org>
28273         renameat: Fix dependencies.
28274         * modules/renameat (Depends-on): Add stdbool.
28276 2011-11-08  Bruno Haible  <bruno@clisp.org>
28278         mkfifoat: Fix module description.
28279         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
28280         not gl_UNISTD_MODULE_INDICATOR.
28282 2011-11-08  Bruno Haible  <bruno@clisp.org>
28284         fstatat: Remove unused dependency.
28285         * modules/fstatat (Depends-on): Remove fstat.
28287 2011-11-08  Simon Josefsson  <simon@josefsson.org>
28289         GNUmakefile: behave when Makefile is missing.
28290         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
28292 2011-11-08  Bruno Haible  <bruno@clisp.org>
28294         openat: Conditionalize dependencies.
28295         * lib/openat.c: Reduce the scope of some #includes.
28296         * modules/openat (Depends-on): Add conditions.
28298 2011-11-07  Jim Meyering  <meyering@redhat.com>
28300         maint.mk: extract GPG key ID without using a temporary file
28301         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
28302         without using a temporary file.  Based on a suggestion from Werner Koch
28303         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
28305 2011-11-07  Eric Blake  <eblake@redhat.com>
28307         grantpt: fix typo
28308         * lib/stdlib.in.h (grantpt): Check correct function.
28310         maint.mk: silence new syntax check
28311         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
28313 2011-11-06  Bruno Haible  <bruno@clisp.org>
28315         Doc about floating-point and math API.
28316         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
28317         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
28319 2011-11-06  Bruno Haible  <bruno@clisp.org>
28321         stdalign tests: Skip the test when compiled by Sun C.
28322         * tests/test-stdalign.c (main): Skip the test on Sun C.
28324 2011-11-06  Bruno Haible  <bruno@clisp.org>
28326         ansi-c++-opt: Complete the 2011-06-05 change.
28327         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
28328         does not support namespaces, set the variable to "no", not to ":".
28330 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
28332         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
28334 2011-11-06  Bruno Haible  <bruno@clisp.org>
28336         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
28337         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
28338         (minus_zerol) [HP-UX]: New macro.
28339         (unary_minus) [HP-UX]: New function.
28340         (copysignl) [HP-UX]: Use unary_minus function.
28342 2011-11-06  Bruno Haible  <bruno@clisp.org>
28344         ldexp, ldexpf, ldexpl: Enhance tests.
28345         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
28346         and tests/test-ldexpl.c.
28347         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
28348         LDEXP, MIN_EXP, MAX_EXP): New macros.
28349         Include test-ldexp.h.
28350         (main): Just call test_function.
28351         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
28352         infinity.h, nan.h.
28353         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
28354         MAX_EXP): New macros.
28355         Include test-ldexp.h.
28356         (x, y): Remove variables.
28357         (main): Just call test_function.
28358         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
28359         infinity.h, nan.h.
28360         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
28361         MAX_EXP): New macros.
28362         Include test-ldexp.h.
28363         (x, y): Remove variables.
28364         (main): Just call test_function.
28365         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
28366         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
28367         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
28368         (Depends-on): Add isnand-nolibm, signbit, float.
28369         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
28370         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
28371         (Depends-on): Add isnanf-nolibm, signbit, float.
28373 2011-11-06  Bruno Haible  <bruno@clisp.org>
28375         math tests: Cosmetics.
28376         * tests/test-math-c++.cc: Reorder declarations.
28378 2011-11-05  Bruno Haible  <bruno@clisp.org>
28380         fma*: Simplify test.
28381         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
28382         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
28384         Tests for module 'fmal'.
28385         * modules/fmal-tests: New file.
28386         * tests/test-fmal1.c: New file.
28387         * tests/test-fmal2.c: New file.
28389         New module 'fmal'.
28390         * lib/math.in.h (fmal): New declaration.
28391         * lib/fmal.c: New file.
28392         * m4/fmal.m4: New file.
28393         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
28394         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
28395         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
28396         REPLACE_FMAL.
28397         * modules/fmal: New file.
28398         * doc/posix-functions/fmal.texi: Mention the new module and the various
28399         bugs.
28401         Tests for module 'fmaf'.
28402         * modules/fmaf-tests: New file.
28403         * tests/test-fmaf1.c: New file.
28404         * tests/test-fmaf2.c: New file.
28406         New module 'fmaf'.
28407         * lib/math.in.h (fmaf): New declaration.
28408         * lib/fmaf.c: New file.
28409         * m4/fmaf.m4: New file.
28410         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
28411         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
28412         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
28413         REPLACE_FMAF.
28414         * modules/fmaf: New file.
28415         * doc/posix-functions/fmaf.texi: Mention the new module and the various
28416         bugs.
28418         Tests for module 'fma'.
28419         * modules/fma-tests: New file.
28420         * tests/test-fma1.c: New file.
28421         * tests/test-fma1.h: New file.
28422         * tests/test-fma2.c: New file.
28423         * tests/test-fma2.h: New file.
28425         New module 'fma'.
28426         * lib/math.in.h (fma): New declaration.
28427         * lib/fma.c: New file.
28428         * m4/fma.m4: New file.
28429         * m4/fegetround.m4: New file.
28430         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
28431         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
28432         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
28433         REPLACE_FMA.
28434         * modules/fma: New file.
28435         * doc/posix-functions/fma.texi: Mention the new module and the various
28436         bugs.
28438         Extend gl_MATHFUNC.
28439         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
28440         Support 'void' as argument type.
28441         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
28443 2011-11-05  Jim Meyering  <meyering@redhat.com>
28445         maint.mk: also prohibit inclusion of dirent.h without use
28446         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
28448 2011-11-05  Bruno Haible  <bruno@clisp.org>
28450         ldexpl tests: Avoid test failure on MSVC 9.
28451         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
28452         value. Needed in order to enforce the conversion from a value greater
28453         than LDBL_MAX to Infinity.
28455 2011-11-05  Bruno Haible  <bruno@clisp.org>
28457         New modules 'at-internal', 'openat-h', split off from module 'openat'.
28458         * modules/at-internal: New file, extracted from modules/openat.
28459         * modules/openat-h: New file.
28460         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
28461         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
28462         * modules/openat (Description): Add reference to POSIX function.
28463         (Files): Remove lib/openat.h, lib/openat-proc.c.
28464         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
28465         intprops, unistd.
28466         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
28467         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
28468         gl_FCNTL_MODULE_INDICATOR.
28469         (Include): Remove unistd.h, openat.h.
28470         * modules/areadlinkat (Files): Add lib/at-func.c.
28471         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
28472         openat-die, openat-h, save-cwd.
28473         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
28474         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
28475         openat-die, openat-h, save-cwd, unistd.
28476         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
28477         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
28478         openat-h, save-cwd. Remove fcntl-h, openat.
28479         * modules/fchmodat (Files): Remove lib/openat.h.
28480         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
28481         openat, stdbool, unistd.
28482         * modules/fchownat (Files): Remove lib/openat.h.
28483         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
28484         openat, stdbool, sys_stat.
28485         * modules/fdopendir (Files): Remove lib/openat-priv.h,
28486         lib/openat-proc.c.
28487         (Depends-on): Add at-internal.
28488         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
28489         * modules/fstatat (Files): Remove lib/openat.h.
28490         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
28491         stdbool, unistd.
28492         * modules/fts (Depends-on): Add openat-h.
28493         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
28494         openat.
28495         * modules/mkdirat (Files): Remove lib/openat.h.
28496         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
28497         openat, stdbool, sys_stat.
28498         * modules/mkfifoat (Files): Add lib/at-func.c.
28499         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
28500         openat-h, save-cwd. Remove fcntl-h, openat.
28501         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
28502         * modules/readlinkat (Files): Add lib/at-func.c.
28503         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
28504         openat-h, save-cwd. Remove fcntl-h, openat.
28505         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
28506         openat.
28507         * modules/selinux-at (Files): Add lib/at-func.c.
28508         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
28509         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
28510         * modules/symlinkat (Files): Add lib/at-func.c.
28511         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
28512         openat-h, save-cwd. Remove fcntl-h, openat.
28513         * modules/unlinkat (Files): Remove lib/openat.h.
28514         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
28515         stdbool.
28516         * modules/utimensat (Files): Add lib/at-func.c.
28517         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
28518         openat-die, openat-h, save-cwd.
28519         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
28520         * modules/fdutimensat-tests (Depends-on): Add openat.
28521         * modules/fstatat-tests (Depends-on): Add openat-h.
28522         * modules/readlinkat-tests (Depends-on): Add openat.
28523         * modules/symlinkat-tests (Depends-on): Add openat.
28525 2011-11-05  Bruno Haible  <bruno@clisp.org>
28527         openat: Include <stdbool.h>.
28528         * lib/openat.c: Include <stdbool.h>.
28530 2011-11-04  Bruno Haible  <bruno@clisp.org>
28532         fchownat, renameat, unlinkat: Fix dependencies.
28533         * modules/fchownat (Depends-on): Add fstatat.
28534         * modules/renameat (Depends-on): Likewise.
28535         * modules/unlinkat (Depends-on): Likewise.
28537 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
28539         openat: remove direct dependency on dirent
28540         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
28541         and hasn't been needed ever since fdopendir was split into its own
28542         module on 2009-08-31.
28543         * modules/openat (Depends-on): Remove dirent.
28545 2011-11-04  Bruno Haible  <bruno@clisp.org>
28547         renameat: Optimize code size.
28548         * modules/renameat (configure.ac): Don't compile at-func2.c if
28549         REPLACE_RENAMEAT is 1.
28551 2011-11-04  Bruno Haible  <bruno@clisp.org>
28553         openat tests: Fix file list.
28554         * modules/openat-tests (Files): Add tests/test-open.h.
28556 2011-11-04  Bruno Haible  <bruno@clisp.org>
28558         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
28559         * modules/fchmodat (Depends-on): Add openat-die.
28560         * modules/fchownat (Depends-on): Likewise.
28561         * modules/linkat (Depends-on): Likewise.
28562         * modules/renameat (Depends-on): Likewise.
28563         * modules/openat (Depends-on): Add dirent.
28565 2011-11-04  Jim Meyering  <meyering@redhat.com>
28567         at-func*.c: fix comments
28568         * lib/at-func2.c: Correct/improve first-line comment.
28569         * lib/at-func.c: Correct grammar in first-line comment.
28571 2011-11-04  Bruno Haible  <bruno@clisp.org>
28573         New module 'mkdirat', split off from module 'openat'.
28574         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
28575         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
28576         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
28577         * modules/mkdirat: New file, extracted from modules/openat.
28578         * modules/openat (Files): Remove lib/mkdirat.c.
28579         (Depends-on): Remove mkdir.
28580         (configure.ac): Remove AC_LIBOBJ of mkdirat.
28581         (Include): Remove <sys/stat.h>.
28582         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
28583         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
28584         tests/test-mkdir.h.
28585         (Depends-on): Remove ignore-value.
28586         (Makefile.am): Remove rules for test-mkdirat.
28587         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
28588         of module 'openat'.
28589         * NEWS: Mention the change.
28591 2011-11-04  Bruno Haible  <bruno@clisp.org>
28593         closedir: Avoid warning on mingw.
28594         * lib/closedir.c: Include <unistd.h>.
28596 2011-11-04  Bruno Haible  <bruno@clisp.org>
28598         New module 'fstatat', split off from module 'openat'.
28599         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
28600         defined.
28601         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
28602         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
28603         gl_FUNC_FSTATAT.
28604         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
28605         * modules/fstatat: New file, extracted from modules/openat.
28606         * modules/openat (Files): Remove lib/fstatat.c.
28607         (Depends-on): Remove lstat.
28608         (configure.ac): Remove AC_LIBOBJ of fstatat.
28609         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
28610         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
28611         tests/test-lstat.h, tests/test-stat.h.
28612         (Depends-on): Remove getcwd-lgpl.
28613         (Makefile.am): Remove rules for test-fstatat.
28614         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
28615         of module 'openat'.
28616         * NEWS: Mention the change.
28617         * modules/getcwd (Depends-on): Add fstatat.
28618         * modules/linkat (Depends-on): Likewise.
28619         * modules/mkfifoat-tests (Depends-on): Likewise.
28620         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
28622 2011-11-03  Bruno Haible  <bruno@clisp.org>
28624         New module 'unlinkat', split off from module 'openat'.
28625         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
28626         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
28627         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
28628         * modules/unlinkat: New file, extracted from modules/openat. Correct
28629         the dependency conditions.
28630         * modules/openat (Files): Remove lib/unlinkat.c.
28631         (Depends-on): Remove rmdir, unlink.
28632         (configure.ac): Remove AC_LIBOBJ of unlinkat.
28633         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
28634         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
28635         tests/test-rmdir.h, tests/test-unlink.h.
28636         (Depends-on): Remove unlinkdir.
28637         (Makefile.am): Remove rules for test-unlinkat.
28638         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
28639         of module 'openat'.
28640         * NEWS: Mention the change.
28641         * modules/linkat-tests (Depends-on): Add unlinkat.
28642         * modules/mkfifoat-tests (Depends-on): Likewise.
28643         * modules/readlinkat-tests (Depends-on): Likewise.
28645 2011-11-02  Bruno Haible  <bruno@clisp.org>
28647         New module 'fchmodat', split off from module 'openat'.
28648         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
28649         defined.
28650         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
28651         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
28652         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
28653         * modules/fchmodat: New file, extracted from modules/openat.
28654         * modules/openat (Files): Remove lib/fchmodat.c.
28655         (configure.ac): Remove AC_LIBOBJ of fchmodat.
28656         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
28657         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
28658         (Makefile.am): Remove rules for test-fchmodat.
28659         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
28660         of module 'openat'.
28661         * NEWS: Mention the change.
28663 2011-11-02  Jim Meyering  <meyering@redhat.com>
28665         putenv: indent #definition of "environ" to placate cppi
28666         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
28668         gitlog-to-changelog: provide a ChangeLog-repair mechanism
28669         Git logs are often treated as immutable, because editing them
28670         changes the SHA1 checksums of all descendants.  Thus, errors in
28671         git logs tend to stay there forever.  However, when we generate
28672         a ChangeLog file -- typically for distribution -- from that git log,
28673         we can actually make corrections in the generated file.  The key
28674         lies in recording in machine-readable/applicable form the desired
28675         corrections.  See --help for description and an example.
28676         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
28677         (usage): Describe it; alphabetize option descriptions.
28678         (main): Honor the new option, carefully.
28680 2011-11-01  Jim Meyering  <meyering@redhat.com>
28682         gitlog-to-changelog: avoid an infloop
28683         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
28684         that ends up being empty.
28686 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
28688         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
28689         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
28690         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
28691         contains (possibly-quoted) backslashes.  This should avoid
28692         all-too-common shell bugs if COMPLICATED contains backslashes in
28693         the "wrong" places.  Reported by David Evans in
28694         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00013.html>.
28695         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
28696         because we want ASCII ranges.  Is there some reason we don't use
28697         the C locale everywhere in this script?
28698         (func_module, top level): Avoid unwanted pathname expansion when
28699         $repo_url_prefix or $repo_url_suffix_repl contain shell
28700         metacharacters like '?' and '*'.
28702 2011-11-01  Bruno Haible  <bruno@clisp.org>
28704         fchownat: Improve description.
28705         * modules/fchownat (Description): Add link to function.
28707 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
28709         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
28710         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
28711         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00006.html>.
28712         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
28714 2011-11-01  Bruno Haible  <bruno@clisp.org>
28716         alignof: Avoid collision with stdalign module.
28717         * lib/alignof.h (alignof): Remove macro.
28718         * NEWS: Mention the change.
28719         Reported by Paul Eggert.
28721 2011-11-01  Bruno Haible  <bruno@clisp.org>
28723         New module 'fchownat', split off from module 'openat'.
28724         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
28725         defined.
28726         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
28727         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
28728         invoke gl_FUNC_FCHOWNAT.
28729         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
28730         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
28731         * modules/fchownat: New file, extracted from modules/openat.
28732         * modules/openat (Files): Remove lib/fchownat.c.
28733         (Depends-on): Remove lchown.
28734         (configure.ac): Remove AC_LIBOBJ of fchownat.
28735         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
28736         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
28737         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
28738         (Depends-on): Remove mgetgroups, usleep, stat-time.
28739         (configure.ac): Remove test for getegid.
28740         (Makefile.am): Remove rules for test-fchownat.
28741         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
28742         of module 'openat'.
28743         * NEWS: Mention the change.
28745 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
28747         stdalign: port better to MSVC and to Sun C 5.11
28748         This fixes some of the problems reported by Bruno Haible in
28749         <http://lists.gnu.org/r/bug-gnulib/2011-10/msg00300.html>.
28750         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
28751         shortcomings of MSVC and of Sun C 5.11.
28752         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
28753         around __declspec arg.
28754         * modules/stdalign-tests (Files): Add tests/macros.h.
28755         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
28756         Include macros.h, for ASSERT.
28757         (DECLARE_ALIGNED): Remove.
28758         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
28759         to catch bug), and to 1 if not (simplifies the rest of the code).
28760         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
28761         (CHECK_AUTO): Remove.
28762         (CHECK_ALIGNED): Check only the alignment of the static vars,
28763         since auto var alignment isn't supported by Sun C 5.11.
28764         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
28765         ASSERT failures are easier to diagnose.
28767 2011-10-31  Bruno Haible  <bruno@clisp.org>
28769         doc about some IRIX 5.3 problems.
28770         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
28771         on IRIX 5.3.
28772         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
28773         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
28774         5.3.
28775         * doc/posix-functions/grantpt.texi: Likewise.
28776         * doc/posix-functions/unlockpt.texi: Likewise.
28777         * doc/posix-functions/lgamma.texi: Likewise.
28778         * doc/posix-functions/nextafter.texi: Likewise.
28779         * doc/posix-functions/remainder.texi: Likewise.
28780         * doc/posix-functions/select.texi: Mention misplaced declaration on
28781         IRIX 5.3.
28782         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28784 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
28786         gitlog-to-changelog: fix git-log invocation.
28787         git-log mishandles date strings before 1970-01-01 UTC, and there is
28788         no use to specify --since=1970-01-01 by default anyway.
28789         * build-aux/gitlog-to-changelog: By default, when no --since option
28790         was given, do not specify explicit --since option to git-log.
28792 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
28794         gitlog-to-changelog: new option --append-dot.
28795         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
28796         first non-blank line of each commit message terminated with a dot.
28798 2011-10-30  Bruno Haible  <bruno@clisp.org>
28800         ffsl, ffsll: Avoid compilation error due to 'restrict'.
28801         * lib/ffsl.h: Include <config.h>.
28802         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
28804 2011-10-30  Jim Meyering  <meyering@redhat.com>
28806         GNUmakefile: reenable "make syntax-check" for most projects
28807         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
28808         build-aux variable", "syntax-check" would do nothing but succeed with
28809         the "No version control files detected..." diagnostic (unless you
28810         happened to override _build-aux via cfg.mk).
28811         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
28812         to precede inclusion of maint.mk.  Otherwise, these variables would
28813         be used undefined in any project that does not override the default.
28815 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
28817         gitlog-to-changelog: treat a message with only blank lines as empty.
28818         * build-aux/gitlog-to-changelog: Move the code that removes leading and
28819         trailing blank lines before the code that issues a warning about an
28820         empty commit message.
28822 2011-10-30  Jim Meyering  <meyering@redhat.com>
28824         test-parse-datetime.c: avoid new DST-related false positive test failure
28825         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
28826         based on the time/date we'll convert, not the current time.
28827         Otherwise, the moment we cross a DST boundary like today's in
28828         Europe, (CEST to CET), that offset ends up being one hour off.
28830 2011-10-27  Bruno Haible  <bruno@clisp.org>
28832         fstat: Tweak documentation.
28833         * modules/fstat (Description): More precise description.
28835 2011-10-27  Bruno Haible  <bruno@clisp.org>
28837         Update documentation regarding 'largefile' module.
28838         * doc/posix-functions/fstat.texi: Tweak wording.
28839         * doc/posix-functions/opendir.texi: Mention that the module fixes the
28840         problems with huge directories and/or small ino_t types.
28841         * doc/posix-functions/readdir.texi: Likewise.
28842         * doc/posix-functions/rewinddir.texi: Likewise.
28844 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
28846         maint.mk: don't maintain a second build-aux variable.
28847         * maint.mk (build_aux): Removed.  The maintainer-makefile module
28848         depends on GNUmakefile, which already maintains a cfg.mk
28849         overridable $(_build-aux) for projects with a non-standard
28850         build-aux directory location, although without the $(srcdir)
28851         prefix.  Use that variable consistently instead of introducing a
28852         second one.  Adjust all call sites.
28854 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
28856         Add stdalign module and use it in other modules.
28857         This is based on a previous proposal by Bruno Haible
28858         <https://lists.gnu.org/r/bug-gnulib/2011-07/msg00226.html>.
28860         stdalign: new module
28861         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
28862         * modules/stdalign: New files.
28863         * MODULES.html.sh (c1x_core_properties): Add stdalign.
28864         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
28866         stdalign-tests: new module
28867         * modules/stdalign-tests, tests/test-stdalign.c: New files.
28869         argp: use stdalign
28870         * lib/argp-parse.c: Include <stdalign.h>.
28871         (alignof): Remove.
28872         * modules/argp (Depends-on): Add stdalign.
28874         crypto libraries: use stdalign
28875         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
28876         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
28877         Do not include <stdlib.h> twice, in md4.c.
28878         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
28879         because we are accessing a pointer's bit-pattern, not a size.
28880         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
28881         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
28882         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
28883         * modules/crypto/sha512: Likewise.
28885         sys_socket: use stdalign, not alignof
28886         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
28887         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
28889 2011-10-27  Bruno Haible  <bruno@clisp.org>
28891         raise test: Avoid a test failure on Linux/MIPS.
28892         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
28893         because 99 is a valid signal on Linux/MIPS.
28895 2011-10-27  Bruno Haible  <bruno@clisp.org>
28897         nonblocking tests: Fix test failure on Linux/MIPS.
28898         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
28899         Set to 270000.
28901 2011-10-27  Bruno Haible  <bruno@clisp.org>
28903         utimensat: Work around problem on Linux/hppa.
28904         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
28905         values.
28906         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
28908 2011-10-25  Jim Meyering  <meyering@redhat.com>
28910         maint.mk: fix a bug in sc_prohibit_stddef_without_use
28911         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
28912         after symbols like NULL, size_t, etc.
28913         Reported by Alfred M. Szmidt.
28915         maint.mk: exempt ENODATA from a syntax-check rule
28916         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
28917         from the sc_prohibit_always-defined_macros syntax-check rule.
28918         Add a comment.  See this for more details:
28919         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
28921 2011-10-23  Jim Meyering  <meyering@redhat.com>
28923         fts: close parent dir FD before returning from post-traversal fts_read
28924         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
28925         unlink A, even though an FD open on A remained.  This is suboptimal
28926         (holding a file descriptor open longer than needed), but otherwise not
28927         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
28928         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
28929         that represents a real problem: it causes the removal of A to fail
28930         with e.g., "rm: cannot remove `A': Device or resource busy"
28932         fts visits each directory twice and keeps a cache (fts_fd_ring) of
28933         directory file descriptors.  After completing the final, FTS_DP,
28934         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
28935         cache, but then proceeded to add a new FD to it via the subsequent
28936         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
28937         final file descriptor would be closed only via fts_close's call to
28938         fd_ring_clear.  Now, it is usually closed earlier, via the final
28939         FTS_DP-returning fts_read call.
28940         * lib/fts.c (restore_initial_cwd): New function, converted from
28941         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
28942         Update callers.
28943         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
28944         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
28946 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
28947             Bruno Haible  <bruno@clisp.org>
28948             Jim Meyering  <jim@meyering.net>
28950         readme-release: improve safety of release prep instructions.
28951         * README-release: Don't git pull all branches when only master
28952         is needed for the release process.
28953         Run make maintainer-clean before changing trees and merging.
28954         Don't try to run ./configure right after git pull in case files
28955         that influence the bootstrap process have changed, move the
28956         ./configure step to after running ./bootstrap.
28957         Don't bootstrap "one last time"... it's the first time!
28959 2011-10-22  Bruno Haible  <bruno@clisp.org>
28961         errno, strerror-override: Support for MSVC 10.
28962         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
28963         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
28964         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
28965         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
28966         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
28967         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
28968         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
28969         Assign values compatible with MSVC 10.
28970         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
28971         New macros.
28972         (GNULIB_defined_EWINSOCK): New macro.
28973         * lib/strerror-override.c (strerror_override): Update accordingly.
28974         * lib/strerror-override.h: Likewise.
28975         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
28976         longer equal to the corresponding errno value.
28977         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
28979 2011-10-22  Bruno Haible  <bruno@clisp.org>
28981         perror: Recognize when test program crashes.
28982         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
28983         strerror, set gl_cv_func_perror_works to no.
28984         Reported by Daniel Richard G. <skunk@iskunk.org>.
28986         perror: Fix indentation.
28987         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
28989 2011-10-22  Bruno Haible  <bruno@clisp.org>
28991         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
28992         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
28993         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
28994         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
28995         functions, not as a macro.
28996         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
28997         macros.
28998         (isfinite, isinf, isnan, signbit): Check overloaded functions and
28999         absence of macro.
29000         Suggested by Eric Blake.
29001         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
29003 2011-10-21  Bruno Haible  <bruno@clisp.org>
29005         relocatable-prog-wrapper: Don't leave object files behind.
29006         * build-aux/install-reloc: Re-synchronize list of .o files to be
29007         removed with list of compilation units.
29009 2011-10-20  Bruno Haible  <bruno@clisp.org>
29011         openpty, posix_openpt: Remove code duplication.
29012         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
29013         * lib/openpty.c: Include <stdlib.h>.
29014         (openpty): Use posix_openpt on all platforms except IRIX.
29015         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
29017 2011-10-20  Bruno Haible  <bruno@clisp.org>
29019         unlockpt: Detect invalid argument.
29020         * lib/unlockpt.c: Include <fcntl.h>.
29021         (unlockpt): Check whether fd is valid, using fcntl().
29022         * modules/unlockpt (Depends-on): Add fcntl-h.
29024 2011-10-20  Bruno Haible  <bruno@clisp.org>
29026         openpty: Avoid compilation error on AIX 6.1.
29027         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
29029 2011-10-20  Bruno Haible  <bruno@clisp.org>
29031         posix_openpt: Support for OpenBSD.
29032         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
29033         (posix_openpt) [OpenBSD]: New code.
29034         * lib/grantpt.c: Include <fcntl.h>.
29035         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
29036         * modules/grantpt (Depends-on): Add fcntl-h.
29038 2011-10-20  Bruno Haible  <bruno@clisp.org>
29040         posix_openpt test: Coding style.
29041         * tests/test-posix_openpt.c: Use GNU coding style.
29043 2011-10-20  Bruno Haible  <bruno@clisp.org>
29045         grantpt: Support --avoid=pt_chown.
29046         * modules/grantpt (Files): Add lib/pty-private.h.
29048 2011-10-20  Bruno Haible  <bruno@clisp.org>
29050         posix_openpt: Fix autoconf macro.
29051         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
29052         unneeded check for _getpty.
29054 2011-10-20  Bruno Haible  <bruno@clisp.org>
29056         openpty: Update comments.
29057         * lib/openpty.c: Add comments about Minix.
29059 2011-10-19  Eric Blake  <eblake@redhat.com>
29061         openpty: relax license
29062         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
29064         pt_chown: use configmake to simplify build
29065         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
29067         ptsname and others: relax license
29068         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
29069         * modules/unlockpt (License): Likewise.
29070         * modules/pt_chown (License): Likewise.
29071         * modules/ptsname (License): Likewise.
29072         * modules/ttyname_r (License): Likewise.
29074 2011-10-19  Jim Meyering  <meyering@redhat.com>
29076         posix_openpt: remove spurious #endif
29077         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
29079 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
29081         maint.mk: Respect $(build_aux) in web-manual rule.
29082         * top/maint.mk (web-manual): Find gen-announce script in user's
29083         $(build_aux) directory instead of hard-coding 'build-aux'.
29085 2011-10-19  Bruno Haible  <bruno@clisp.org>
29087         posix_openpt: Fix compilation error.
29088         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
29089         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
29090         Mention the openpty module as an alternative.
29092 2011-10-19  Bruno Haible  <bruno@clisp.org>
29094         Support for old NeXTstep 3.3 frexp().
29095         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
29096         execution time of the test to 5 seconds.
29097         Reported by Daniel Richard G. <skunk@iskunk.org>.
29099 2011-10-19  Bruno Haible  <bruno@clisp.org>
29101         Support for old NeXTstep 3.3 sed.
29102         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
29103         part, use /.../, not \|...|. Escape periods in the header file name.
29104         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
29105         Reported by Daniel Richard G. <skunk@iskunk.org>.
29107 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
29109         Support for old NeXTstep 3.3 gcc.
29110         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
29111         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
29112         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
29113         * lib/spawn.in.h (_Restrict_arr_): Likewise.
29114         * lib/regex.h (_Restrict_arr_): Likewise.
29115         * lib/regex_internal.h (re_token_t): Likewise.
29116         * lib/regexec.c (check_node_accept_bytes): Likewise.
29117         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
29119 2011-10-18  Eric Blake  <eblake@redhat.com>
29121         posix_openpt: new module
29122         * modules/posix_openpt: New module.
29123         * m4/posix_openpt.m4: New file.
29124         * lib/posix_openpt.c: Likewise.
29125         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
29126         (gl_STDLIB_H_DEFAULTS): Set defaults.
29127         * modules/stdlib (Makefile.am): Substitute macros.
29128         * lib/stdlib.in.h (posix_openpt): Declare.
29129         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
29130         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
29131         * modules/posix_openpt-tests: New test module.
29132         * tests/test-posix_openpt.c: New test.
29134 2011-10-15  Bruno Haible  <bruno@clisp.org>
29136         xstrtoll: Fix compilation failure.
29137         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
29138         from lib/strtol.c.
29139         * doc/posix-headers/limits.texi: Mention missing numerical limits on
29140         some platforms.
29141         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29143 2011-10-15  Bruno Haible  <bruno@clisp.org>
29145         vasnprintf: Optimize bit search operation.
29146         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
29147         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
29148         gl_DOUBLE_EXPONENT_LOCATION.
29149         * modules/vasnprintf (Files): Add m4/exponentd.m4.
29150         * modules/unistdio/u8-vasnprintf (Files): Likewise.
29151         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
29152         * modules/unistdio/u16-vasnprintf (Files): Likewise.
29153         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
29154         * modules/unistdio/u32-vasnprintf (Files): Likewise.
29155         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
29156         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
29157         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
29159 2011-10-15  Bruno Haible  <bruno@clisp.org>
29161         vasnprintf: Fix comments.
29162         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
29164 2011-10-14  Bruno Haible  <bruno@clisp.org>
29166         Tests for module 'integer_length_ll'.
29167         * modules/integer_length_ll-tests: New file.
29168         * tests/test-integer_length_ll.c: New file.
29170         New module 'integer_length_ll'.
29171         * lib/integer_length_ll.c: New file.
29172         * modules/integer_length_ll: New file.
29174 2011-10-14  Bruno Haible  <bruno@clisp.org>
29176         Tests for module 'integer_length_l'.
29177         * modules/integer_length_l-tests: New file.
29178         * tests/test-integer_length_l.c: New file.
29180         New module 'integer_length_l'.
29181         * lib/integer_length_l.c: New file.
29182         * modules/integer_length_l: New file.
29184 2011-10-14  Bruno Haible  <bruno@clisp.org>
29186         Tests for module 'integer_length'.
29187         * modules/integer_length-tests: New file.
29188         * tests/test-integer_length.c: New file.
29190         New module 'integer_length'.
29191         * lib/integer_length.h: New file.
29192         * lib/integer_length.c: New file.
29193         * modules/integer_length: New file.
29195 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
29197         popen: Fix dependency conditions.
29198         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
29200 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
29202         perror: Fix autoconf test.
29203         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
29204         <stdlib.h> and <string.h>.
29206 2011-10-14  Bruno Haible  <bruno@clisp.org>
29208         ffsl: Optimize on 64-bit platforms.
29209         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
29210         unrolling.
29212 2011-10-13  Bruno Haible  <bruno@clisp.org>
29214         ffsl: Optimize on 32-bit platforms.
29215         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
29216         use ffs() without a loop.
29218         ffsl, ffsll: Optimize for GCC.
29219         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
29220         * lib/ffsl.c (GCC_BUILTIN): New macro.
29221         * lib/ffsll.c (GCC_BUILTIN): Likewise.
29223 2011-10-13  Bruno Haible  <bruno@clisp.org>
29225         ffs, bcopy, memset: Support symbol renaming via config.h.
29226         * lib/ffs.c: Include <config.h>.
29227         * lib/bcopy.c: Likewise.
29228         * lib/memset.c: Likewise.
29230 2011-10-10  Bruno Haible  <bruno@clisp.org>
29232         atanl: Simplify for platforms where 'long double' == 'double'.
29233         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29234         alternative implementation.
29235         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29236         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29237         * modules/atanl (Depends-on): Add atan. Update conditions.
29239 2011-10-10  Bruno Haible  <bruno@clisp.org>
29241         acosl: Simplify for platforms where 'long double' == 'double'.
29242         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29243         alternative implementation.
29244         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29245         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29246         * modules/acosl (Depends-on): Add acos. Update conditions.
29248 2011-10-10  Bruno Haible  <bruno@clisp.org>
29250         asinl: Simplify for platforms where 'long double' == 'double'.
29251         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29252         alternative implementation.
29253         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29254         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29255         * modules/asinl (Depends-on): Add asin. Update conditions.
29257 2011-10-10  Bruno Haible  <bruno@clisp.org>
29259         tanl: Simplify for platforms where 'long double' == 'double'.
29260         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
29261         implementation.
29262         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29263         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29264         * modules/tanl (Depends-on): Add tan. Update conditions.
29265         (configure.ac): Don't compile trigl.c if
29266         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29268 2011-10-10  Bruno Haible  <bruno@clisp.org>
29270         cosl: Simplify for platforms where 'long double' == 'double'.
29271         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
29272         implementation.
29273         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29274         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29275         * modules/cosl (Depends-on): Add cos. Update conditions.
29276         (configure.ac): Don't compile sincosl.c and trigl.c if
29277         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29279 2011-10-10  Bruno Haible  <bruno@clisp.org>
29281         sinl: Simplify for platforms where 'long double' == 'double'.
29282         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
29283         implementation.
29284         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29285         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29286         * modules/sinl (Depends-on): Add sin. Update conditions.
29287         (configure.ac): Don't compile sincosl.c and trigl.c if
29288         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29290 2011-10-10  Bruno Haible  <bruno@clisp.org>
29292         logl: Simplify for platforms where 'long double' == 'double'.
29293         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
29294         implementation.
29295         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29296         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29297         * modules/logl (Depends-on): Add log. Update conditions.
29299 2011-10-10  Bruno Haible  <bruno@clisp.org>
29301         expl: Simplify for platforms where 'long double' == 'double'.
29302         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
29303         implementation.
29304         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29305         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29306         * modules/expl (Depends-on): Add exp. Update conditions.
29308 2011-10-10  Bruno Haible  <bruno@clisp.org>
29310         sqrtl: Simplify for platforms where 'long double' == 'double'.
29311         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29312         alternative implementation.
29313         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29314         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29315         * modules/sqrtl (Depends-on): Update conditions.
29317 2011-10-10  Bruno Haible  <bruno@clisp.org>
29319         ldexpl: Simplify for platforms where 'long double' == 'double'.
29320         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29321         alternative implementation.
29322         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29323         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29324         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
29326 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
29328         ffsll: set correct witness
29329         * modules/ffsll (configure.ac): Fix typo.
29331 2011-10-10  Bruno Haible  <bruno@clisp.org>
29333         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
29334         * lib/printf-frexpl.c: Include <config.h>.
29335         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29336         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
29337         second time.
29338         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
29339         gl_LONG_DOUBLE_VS_DOUBLE.
29340         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
29341         conditions.
29343 2011-10-10  Bruno Haible  <bruno@clisp.org>
29345         frexpl: Simplify for platforms where 'long double' == 'double'.
29346         * lib/frexpl.c: Include <config.h>.
29347         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29348         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29349         time.
29350         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29351         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29352         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
29353         * modules/frexpl (Depends-on): Add frexp. Update conditions.
29354         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
29355         conditions.
29357 2011-10-10  Jim Meyering  <meyering@redhat.com>
29359         test-renameat: don't leave behind a temporary file
29360         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
29361           ERROR: files left in build directory after distclean:
29362           ./gltests/test-renameat.too
29363           make[1]: *** [distcleancheck] Error 1
29364         Reported by Tom G. Christensen.
29366 2011-10-09  Bruno Haible  <bruno@clisp.org>
29368         rint: Determine RINT_LIBM correctly on AIX 7.
29369         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
29370         directly, not only through a function pointer. Also accept an optional
29371         4th argument with extra code.
29372         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
29373         rintf() call by gcc when optimizing.
29375         mathfunc.m4: Refactor.
29376         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
29377         m4 variable.
29379 2011-10-09  Bruno Haible  <bruno@clisp.org>
29381         rintl: Simplify for platforms where 'long double' == 'double'.
29382         * lib/rintl.c: Include <config.h>.
29383         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29384         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29385         time.
29386         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29387         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29388         * modules/rintl (Depends-on): Add rint. Update conditions.
29390 2011-10-09  Bruno Haible  <bruno@clisp.org>
29392         roundl: Simplify for platforms where 'long double' == 'double'.
29393         * lib/roundl.c: Include <config.h>.
29394         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29395         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29396         time.
29397         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29398         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29399         * modules/roundl (Depends-on): Add round. Update conditions.
29401 2011-10-09  Bruno Haible  <bruno@clisp.org>
29403         truncl: Simplify for platforms where 'long double' == 'double'.
29404         * lib/truncl.c: Include <config.h>.
29405         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29406         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29407         time.
29408         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29409         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29410         * modules/truncl (Depends-on): Add trunc. Update conditions.
29412 2011-10-09  Bruno Haible  <bruno@clisp.org>
29414         ceill: Simplify for platforms where 'long double' == 'double'.
29415         * lib/ceill.c: Include <config.h>.
29416         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29417         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29418         time.
29419         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29420         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29421         * modules/ceill (Depends-on): Add ceil. Update conditions.
29423 2011-10-09  Bruno Haible  <bruno@clisp.org>
29425         floorl: Simplify for platforms where 'long double' == 'double'.
29426         * lib/floorl.c: Include <config.h>.
29427         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29428         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29429         time.
29430         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29431         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29432         * modules/floorl (Depends-on): Add floor. Update conditions.
29434 2011-10-09  Bruno Haible  <bruno@clisp.org>
29436         rint: Fix ordering constraints.
29437         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
29438         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
29439         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
29441 2011-10-09  Bruno Haible  <bruno@clisp.org>
29443         copysignl: Simplify for platforms where 'long double' == 'double'.
29444         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29445         alternative.
29446         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29447         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29448         * modules/copysignl (Depends-on): Add copysign. Update conditions.
29450 2011-10-09  Bruno Haible  <bruno@clisp.org>
29452         Tests for module 'rintl'.
29453         * modules/rintl-tests: New file.
29454         * tests/test-rintl.c: New file.
29456         New module 'rintl'.
29457         * lib/math.in.h (rintl): New declaration.
29458         * lib/rintl.c: New file.
29459         * m4/rintl.m4: New file.
29460         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
29461         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
29462         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
29463         * modules/rintl: New file.
29464         * tests/test-math-c++.cc: Check the declaration of rintl.
29465         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
29466         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
29467         * doc/posix-functions/rintl.texi: Mention the new module.
29469 2011-10-09  Bruno Haible  <bruno@clisp.org>
29471         Tests for module 'rintf'.
29472         * modules/rintf-tests: New file.
29473         * tests/test-rintf.c: New file.
29475         New module 'rintf'.
29476         * lib/math.in.h (rintf): New declaration.
29477         * lib/rintf.c: New file.
29478         * m4/rintf.m4: New file.
29479         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
29480         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
29481         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
29482         * modules/rintf: New file.
29483         * tests/test-math-c++.cc: Check the declaration of rintf.
29484         * doc/posix-functions/rintf.texi: Mention the new module.
29486 2011-10-09  Bruno Haible  <bruno@clisp.org>
29488         rint: Support for MSVC.
29489         * lib/math.in.h (rint): New declaration.
29490         * lib/rint.c: New file.
29491         * m4/rint.m4: New file.
29492         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
29493         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
29494         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
29495         * modules/rint (Description): Fix.
29496         (Files): Add lib/rint.c, m4/rint.m4.
29497         (Depends-on): Add math.
29498         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
29499         gl_MATH_MODULE_INDICATOR.
29500         * tests/test-math-c++.cc: Check the declaration of rint.
29501         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
29502         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
29503         * doc/posix-functions/rint.texi: Mention the replacement provided by
29504         the module.
29506         rint tests: More tests.
29507         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
29508         minus-zero.h, infinity.h, nan.h.
29509         (main): Skip the test if the current rounding mode is not standard. Add
29510         tests for negative numbers, minus zero, infinity, NaN.
29511         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
29512         tests/nan.h.
29513         (Depends-on): Add isnand-nolibm.
29515 2011-10-09  Bruno Haible  <bruno@clisp.org>
29517         Tests for module 'copysignl'.
29518         * modules/copysignl-tests: New file.
29519         * tests/test-copysignl.c: New file.
29521         New module 'copysignl'.
29522         * lib/math.in.h (copysignl): New declaration.
29523         * lib/copysignl.c: New file.
29524         * m4/copysignl.m4: New file.
29525         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
29526         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
29527         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
29528         HAVE_COPYSIGNL.
29529         * modules/copysignl: New file.
29530         * tests/test-math-c++.cc: Check the declaration of copysignl.
29531         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
29532         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
29533         * doc/posix-functions/copysignl.texi: Mention the new module.
29535 2011-10-09  Bruno Haible  <bruno@clisp.org>
29537         Tests for module 'copysignf'.
29538         * modules/copysignf-tests: New file.
29539         * tests/test-copysignf.c: New file.
29541         New module 'copysignf'.
29542         * lib/math.in.h (copysignf): New declaration.
29543         * lib/copysignf.c: New file.
29544         * m4/copysignf.m4: New file.
29545         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
29546         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
29547         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
29548         HAVE_COPYSIGNF.
29549         * modules/copysignf: New file.
29550         * tests/test-math-c++.cc: Check the declaration of copysignf.
29551         * doc/posix-functions/copysignf.texi: Mention the new module.
29553 2011-10-09  Bruno Haible  <bruno@clisp.org>
29555         Ensure that HAVE_* variables are set to 1 before they are set to 0.
29556         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
29557         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
29558         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
29559         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
29560         gl_SIGNAL_H_DEFAULTS.
29562 2011-10-09  Bruno Haible  <bruno@clisp.org>
29564         poll: Make macro safer.
29565         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
29566         ac_cv_header_poll_h is not set.
29568 2011-10-09  Bruno Haible  <bruno@clisp.org>
29570         copysign: Provide replacement.
29571         * lib/math.in.h (copysign): New declaration.
29572         * lib/copysign.c: New file.
29573         * m4/copysign.m4: New file.
29574         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
29575         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
29576         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
29577         HAVE_COPYSIGN.
29578         * modules/copysign (Description): Clarify.
29579         (Files): Add lib/copysign.c, m4/copysign.m4.
29580         (Depends-on): Add math, signbit.
29581         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
29582         gl_MATH_MODULE_INDICATOR.
29583         * tests/test-math-c++.cc: Check the declaration of copysign.
29584         * doc/posix-functions/copysign.texi: Mention the effects of the module
29585         on Minix and MSVC.
29587 2011-10-09  Bruno Haible  <bruno@clisp.org>
29589         isinf: Ensure macro on AIX 5.1.
29590         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
29591         macro.
29592         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
29594 2011-10-09  Bruno Haible  <bruno@clisp.org>
29596         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
29597         * modules/snprintf-posix-tests (configure.ac): Require
29598         gl_LONG_DOUBLE_VS_DOUBLE.
29599         * modules/sprintf-posix-tests (configure.ac): Likewise.
29600         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
29601         * modules/vasprintf-posix-tests (configure.ac): Likewise.
29602         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
29603         * modules/vsprintf-posix-tests (configure.ac): Likewise.
29604         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
29605         tests on platforms where 'long double' is the same as 'double'.
29606         * tests/test-sprintf-posix.h (test_function): Likewise.
29607         * tests/test-vasnprintf-posix.c (test_function): Likewise.
29608         * tests/test-vasprintf-posix.c (test_function): Likewise.
29610         *printf: Fix for platforms where 'long double' == 'double'.
29611         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
29612         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
29613         * modules/dprintf-posix (Files): Add m4/math_h.m4.
29614         * modules/fprintf-posix (Files): Likewise.
29615         * modules/obstack-printf-posix (Files): Likewise.
29616         * modules/snprintf-posix (Files): Likewise.
29617         * modules/sprintf-posix (Files): Likewise.
29618         * modules/vasnprintf (Files): Likewise.
29619         * modules/vasnprintf-posix (Files): Likewise.
29620         * modules/vasprintf-posix (Files): Likewise.
29621         * modules/vdprintf-posix (Files): Likewise.
29622         * modules/vfprintf-posix (Files): Likewise.
29623         * modules/vsnprintf-posix (Files): Likewise.
29624         * modules/vsprintf-posix (Files): Likewise.
29625         * modules/unistdio/u8-vasnprintf (Files): Likewise.
29626         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
29627         * modules/unistdio/u16-vasnprintf (Files): Likewise.
29628         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
29629         * modules/unistdio/u32-vasnprintf (Files): Likewise.
29630         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
29631         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
29633         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
29634         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
29635         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29636         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
29637         'long double'.
29638         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
29640         isinf: Fix for platforms where 'long double' == 'double'.
29641         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
29642         Don't blindly assume 80-bit 'long double'.
29644         isfinite: Fix for platforms where 'long double' == 'double'.
29645         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
29646         Don't blindly assume 80-bit 'long double'.
29648         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
29649         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
29650         * modules/isfinite-tests (configure.ac): Require
29651         gl_LONG_DOUBLE_VS_DOUBLE.
29652         * modules/isinf-tests (configure.ac): Likewise.
29653         * modules/isnan-tests (configure.ac): Likewise.
29654         * modules/isnanl-tests (configure.ac): Likewise.
29655         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
29656         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
29657         tests on platforms where 'long double' is the same as 'double'.
29658         * tests/test-isinf.c (test_isinfl): Likewise.
29659         * tests/test-isnan.c (test_long_double): Likewise.
29660         * tests/test-isnanl.h (main): Likewise.
29662 2011-10-08  Bruno Haible  <bruno@clisp.org>
29664         Tests for module 'tanhf'.
29665         * modules/tanhf-tests: New file.
29666         * tests/test-tanhf.c: New file.
29668         New module 'tanhf'.
29669         * lib/math.in.h (tanhf): New declaration.
29670         * lib/tanhf.c: New file.
29671         * m4/tanhf.m4: New file.
29672         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
29673         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
29674         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
29675         * modules/tanhf: New file.
29676         * tests/test-math-c++.cc: Check the declaration of tanhf.
29677         * doc/posix-functions/tanhf.texi: Mention the new module.
29679         tanh: Use a .m4 file.
29680         * m4/tanh.m4: New file.
29681         * modules/tanh (Files): Add it.
29682         (configure.ac): Just invoke gl_FUNC_TANH.
29684 2011-10-08  Bruno Haible  <bruno@clisp.org>
29686         Tests for module 'coshf'.
29687         * modules/coshf-tests: New file.
29688         * tests/test-coshf.c: New file.
29690         New module 'coshf'.
29691         * lib/math.in.h (coshf): New declaration.
29692         * lib/coshf.c: New file.
29693         * m4/coshf.m4: New file.
29694         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
29695         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
29696         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
29697         * modules/coshf: New file.
29698         * tests/test-math-c++.cc: Check the declaration of coshf.
29699         * doc/posix-functions/coshf.texi: Mention the new module.
29701         cosh: Use a .m4 file.
29702         * m4/cosh.m4: New file.
29703         * modules/cosh (Files): Add it.
29704         (configure.ac): Just invoke gl_FUNC_COSH.
29706 2011-10-08  Bruno Haible  <bruno@clisp.org>
29708         Tests for module 'sinhf'.
29709         * modules/sinhf-tests: New file.
29710         * tests/test-sinhf.c: New file.
29712         New module 'sinhf'.
29713         * lib/math.in.h (sinhf): New declaration.
29714         * lib/sinhf.c: New file.
29715         * m4/sinhf.m4: New file.
29716         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
29717         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
29718         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
29719         * modules/sinhf: New file.
29720         * tests/test-math-c++.cc: Check the declaration of sinhf.
29721         * doc/posix-functions/sinhf.texi: Mention the new module.
29723         sinh: Use a .m4 file.
29724         * m4/sinh.m4: New file.
29725         * modules/sinh (Files): Add it.
29726         (configure.ac): Just invoke gl_FUNC_SINH.
29728 2011-10-08  Bruno Haible  <bruno@clisp.org>
29730         Tests for module 'atan2f'.
29731         * modules/atan2f-tests: New file.
29732         * tests/test-atan2f.c: New file.
29734         New module 'atan2f'.
29735         * lib/math.in.h (atan2f): New declaration.
29736         * lib/atan2f.c: New file.
29737         * m4/atan2f.m4: New file.
29738         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
29739         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
29740         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
29741         * modules/atan2f: New file.
29742         * tests/test-math-c++.cc: Check the declaration of atan2f.
29743         * doc/posix-functions/atan2f.texi: Mention the new module.
29745         atan2: Use a .m4 file.
29746         * m4/atan2.m4: New file.
29747         * modules/atan2 (Files): Add it.
29748         (configure.ac): Just invoke gl_FUNC_ATAN2.
29750 2011-10-08  Bruno Haible  <bruno@clisp.org>
29752         Tests for module 'atanf'.
29753         * modules/atanf-tests: New file.
29754         * tests/test-atanf.c: New file.
29756         New module 'atanf'.
29757         * lib/math.in.h (atanf): New declaration.
29758         * lib/atanf.c: New file.
29759         * m4/atanf.m4: New file.
29760         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
29761         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
29762         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
29763         * modules/atanf: New file.
29764         * tests/test-math-c++.cc: Check the declaration of atanf.
29765         * doc/posix-functions/atanf.texi: Mention the new module.
29767         atan: Use a .m4 file.
29768         * m4/atan.m4: New file.
29769         * modules/atan (Files): Add it.
29770         (configure.ac): Just invoke gl_FUNC_ATAN.
29772 2011-10-08  Bruno Haible  <bruno@clisp.org>
29774         Tests for module 'acosf'.
29775         * modules/acosf-tests: New file.
29776         * tests/test-acosf.c: New file.
29778         New module 'acosf'.
29779         * lib/math.in.h (acosf): New declaration.
29780         * lib/acosf.c: New file.
29781         * m4/acosf.m4: New file.
29782         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
29783         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
29784         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
29785         * modules/acosf: New file.
29786         * tests/test-math-c++.cc: Check the declaration of acosf.
29787         * doc/posix-functions/acosf.texi: Mention the new module.
29789         acos: Use a .m4 file.
29790         * m4/acos.m4: New file.
29791         * modules/acos (Files): Add it.
29792         (configure.ac): Just invoke gl_FUNC_ACOS.
29794 2011-10-08  Bruno Haible  <bruno@clisp.org>
29796         Tests for module 'asinf'.
29797         * modules/asinf-tests: New file.
29798         * tests/test-asinf.c: New file.
29800         New module 'asinf'.
29801         * lib/math.in.h (asinf): New declaration.
29802         * lib/asinf.c: New file.
29803         * m4/asinf.m4: New file.
29804         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
29805         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
29806         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
29807         * modules/asinf: New file.
29808         * tests/test-math-c++.cc: Check the declaration of asinf.
29809         * doc/posix-functions/asinf.texi: Mention the new module.
29811         asin: Use a .m4 file.
29812         * m4/asin.m4: New file.
29813         * modules/asin (Files): Add it.
29814         (configure.ac): Just invoke gl_FUNC_ASIN.
29816 2011-10-08  Bruno Haible  <bruno@clisp.org>
29818         Tests for module 'tanf'.
29819         * modules/tanf-tests: New file.
29820         * tests/test-tanf.c: New file.
29822         New module 'tanf'.
29823         * lib/math.in.h (tanf): New declaration.
29824         * lib/tanf.c: New file.
29825         * m4/tanf.m4: New file.
29826         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
29827         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
29828         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
29829         * modules/tanf: New file.
29830         * tests/test-math-c++.cc: Check the declaration of tanf.
29831         * doc/posix-functions/tanf.texi: Mention the new module.
29833         tan: Use a .m4 file.
29834         * m4/tan.m4: New file.
29835         * modules/tan (Files): Add it.
29836         (configure.ac): Just invoke gl_FUNC_TAN.
29838 2011-10-08  Bruno Haible  <bruno@clisp.org>
29840         Tests for module 'cosf'.
29841         * modules/cosf-tests: New file.
29842         * tests/test-cosf.c: New file.
29844         New module 'cosf'.
29845         * lib/math.in.h (cosf): New declaration.
29846         * lib/cosf.c: New file.
29847         * m4/cosf.m4: New file.
29848         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
29849         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
29850         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
29851         * modules/cosf: New file.
29852         * tests/test-math-c++.cc: Check the declaration of cosf.
29853         * doc/posix-functions/cosf.texi: Mention the new module.
29855         cos: Use a .m4 file.
29856         * m4/cos.m4: New file.
29857         * modules/cos (Files): Add it.
29858         (configure.ac): Just invoke gl_FUNC_COS.
29860 2011-10-08  Bruno Haible  <bruno@clisp.org>
29862         Tests for module 'sinf'.
29863         * modules/sinf-tests: New file.
29864         * tests/test-sinf.c: New file.
29866         New module 'sinf'.
29867         * lib/math.in.h (sinf): New declaration.
29868         * lib/sinf.c: New file.
29869         * m4/sinf.m4: New file.
29870         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
29871         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
29872         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
29873         * modules/sinf: New file.
29874         * tests/test-math-c++.cc: Check the declaration of sinf.
29875         * doc/posix-functions/sinf.texi: Mention the new module.
29877         sin: Use a .m4 file.
29878         * m4/sin.m4: New file.
29879         * modules/sin (Files): Add it.
29880         (configure.ac): Just invoke gl_FUNC_SIN.
29882 2011-10-08  Bruno Haible  <bruno@clisp.org>
29884         Tests for module 'powf'.
29885         * modules/powf-tests: New file.
29886         * tests/test-powf.c: New file.
29888         New module 'powf'.
29889         * lib/math.in.h (powf): New declaration.
29890         * lib/powf.c: New file.
29891         * m4/powf.m4: New file.
29892         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
29893         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
29894         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
29895         * modules/powf: New file.
29896         * tests/test-math-c++.cc: Check the declaration of powf.
29897         * doc/posix-functions/powf.texi: Mention the new module.
29899         pow: Use a .m4 file.
29900         * m4/pow.m4: New file.
29901         * modules/pow (Files): Add it.
29902         (configure.ac): Just invoke gl_FUNC_POW.
29904 2011-10-08  Bruno Haible  <bruno@clisp.org>
29906         Tests for module 'log10f'.
29907         * modules/log10f-tests: New file.
29908         * tests/test-log10f.c: New file.
29910         New module 'log10f'.
29911         * lib/math.in.h (log10f): New declaration.
29912         * lib/log10f.c: New file.
29913         * m4/log10f.m4: New file.
29914         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
29915         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
29916         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
29917         * modules/log10f: New file.
29918         * tests/test-math-c++.cc: Check the declaration of log10f.
29919         * doc/posix-functions/log10f.texi: Mention the new module.
29921         log10: Use a .m4 file.
29922         * m4/log10.m4: New file.
29923         * modules/log10 (Files): Add it.
29924         (configure.ac): Just invoke gl_FUNC_LOG10.
29926 2011-10-08  Bruno Haible  <bruno@clisp.org>
29928         Tests for module 'logf'.
29929         * modules/logf-tests: New file.
29930         * tests/test-logf.c: New file.
29932         New module 'logf'.
29933         * lib/math.in.h (logf): New declaration.
29934         * lib/logf.c: New file.
29935         * m4/logf.m4: New file.
29936         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
29937         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
29938         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
29939         * modules/logf: New file.
29940         * tests/test-math-c++.cc: Check the declaration of logf.
29941         * doc/posix-functions/logf.texi: Mention the new module.
29943         log: Use a .m4 file.
29944         * m4/log.m4: New file.
29945         * modules/log (Files): Add it.
29946         (configure.ac): Just invoke gl_FUNC_LOG.
29948 2011-10-08  Bruno Haible  <bruno@clisp.org>
29950         Tests for module 'expf'.
29951         * modules/expf-tests: New file.
29952         * tests/test-expf.c: New file.
29954         New module 'expf'.
29955         * lib/math.in.h (expf): New declaration.
29956         * lib/expf.c: New file.
29957         * m4/expf.m4: New file.
29958         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
29959         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
29960         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
29961         * modules/expf: New file.
29962         * tests/test-math-c++.cc: Check the declaration of expf.
29963         * doc/posix-functions/expf.texi: Mention the new module.
29965         exp: Use a .m4 file.
29966         * m4/exp.m4: New file.
29967         * modules/exp (Files): Add it.
29968         (configure.ac): Just invoke gl_FUNC_EXP.
29970 2011-10-08  Bruno Haible  <bruno@clisp.org>
29972         Tests for module 'sqrtf'.
29973         * modules/sqrtf-tests: New file.
29974         * tests/test-sqrtf.c: New file.
29976         New module 'sqrtf'.
29977         * lib/math.in.h (sqrtf): New declaration.
29978         * lib/sqrtf.c: New file.
29979         * m4/sqrtf.m4: New file.
29980         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
29981         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
29982         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
29983         * modules/sqrtf: New file.
29984         * tests/test-math-c++.cc: Check the declaration of sqrtf.
29985         * doc/posix-functions/sqrtf.texi: Mention the new module.
29987 2011-10-08  Bruno Haible  <bruno@clisp.org>
29989         Tests: Avoid link failures w.r.t. libintl.
29990         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
29991         $(LIBINTL).
29992         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
29993         $(LIBINTL).
29994         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
29995         against $(LIBINTL).
29996         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
29997         $(LIBINTL).
29998         * modules/openat-tests (Makefile.am): Link test-fchmodat against
29999         $(LIBINTL).
30000         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
30002 2011-10-08  Bruno Haible  <bruno@clisp.org>
30004         pow tests: Defeat compiler optimizations.
30005         * tests/test-pow.c (main): Assign arguments to x and y before use.
30007 2011-10-08  Bruno Haible  <bruno@clisp.org>
30009         gnulib-tool: Improve last commit.
30010         * gnulib-tool (func_modules_transitive_closure): Simplify code.
30011         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
30012         ignore dependencies that are not among the modules list.
30014 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
30016         gnulib-tool: don't follow dependencies to avoided modules
30017         This fixes a bug that is related to the previous one.
30018         * gnulib-tool (func_modules_transitive_closure)
30019         (func_emit_autoconf_snippets):
30020         Check whether a dependency is acceptable before using it.
30021         (--extract-dependencies): Report an error if --avoid is also used,
30022         since this combination of options is not yet supported.
30024         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
30025         Problem reported by Peter Dyballa in
30026         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
30027         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
30028         when echoing "$condition".
30030 2011-10-07  Bruno Haible  <bruno@clisp.org>
30032         Fix documentation about math functions on MacOS X.
30033         * doc/posix-functions/exp2.texi: Don't say the function is missing on
30034         MacOS X 10.5.
30035         * doc/posix-functions/fdim.texi: Likewise.
30036         * doc/posix-functions/feclearexcept.texi: Likewise.
30037         * doc/posix-functions/fegetenv.texi: Likewise.
30038         * doc/posix-functions/fegetround.texi: Likewise.
30039         * doc/posix-functions/feholdexcept.texi: Likewise.
30040         * doc/posix-functions/feraiseexcept.texi: Likewise.
30041         * doc/posix-functions/fesetenv.texi: Likewise.
30042         * doc/posix-functions/fesetround.texi: Likewise.
30043         * doc/posix-functions/fetestexcept.texi: Likewise.
30044         * doc/posix-functions/feupdateenv.texi: Likewise.
30045         * doc/posix-functions/fmax.texi: Likewise.
30046         * doc/posix-functions/fmin.texi: Likewise.
30047         * doc/posix-functions/log2.texi: Likewise.
30048         * doc/posix-functions/modff.texi: Likewise.
30049         * doc/posix-functions/nan.texi: Likewise.
30050         * doc/posix-functions/nanf.texi: Likewise.
30051         * doc/posix-functions/nextafterf.texi: Likewise.
30052         * doc/posix-functions/remquo.texi: Likewise.
30054 2011-10-07  Bruno Haible  <bruno@clisp.org>
30056         modff: Drop assumption about library that defines modff.
30057         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
30058         AC_CHECK_FUNCS.
30059         * modules/modff (Files): Add m4/mathfunc.m4.
30061 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
30063         raise tests: Avoid a GCC warning.
30064         * tests/test-raise.c (handler): Use _Noreturn.
30066 2011-10-07  Bruno Haible  <bruno@clisp.org>
30068         Tests for module 'ldexpf'.
30069         * modules/ldexpf-tests: New file.
30070         * tests/test-ldexpf.c: New file.
30072         New module 'ldexpf'.
30073         * lib/math.in.h (ldexpf): New declaration.
30074         * lib/ldexpf.c: New file.
30075         * m4/ldexpf.m4: New file.
30076         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
30077         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
30078         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
30079         * modules/ldexpf: New file.
30080         * tests/test-math-c++.cc: Check the declaration of ldexpf.
30081         * doc/posix-functions/ldexpf.texi: Mention the new module.
30083 2011-10-06  Bruno Haible  <bruno@clisp.org>
30085         frexpf: Work around problems on IRIX and mingw.
30086         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
30087         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
30088         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
30089         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
30090         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
30091         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
30092         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
30094 2011-10-06  Bruno Haible  <bruno@clisp.org>
30096         fabsf: Drop assumption about library that defines fabsf.
30097         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
30098         AC_CHECK_FUNCS.
30099         * modules/fabsf (Files): Add m4/mathfunc.m4.
30101 2011-10-06  Bruno Haible  <bruno@clisp.org>
30103         frexpf: Drop assumption about library that defines frexpf.
30104         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
30105         'int *', 'float *', 'long double *', 'float', 'long double'.
30106         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
30107         AC_CHECK_FUNCS.
30108         * modules/frexpf (Files): Add m4/mathfunc.m4.
30110         Tests for module 'frexpf'.
30111         * modules/frexpf-tests: New file.
30112         * tests/test-frexpf.c: New file.
30114         New module 'frexpf'.
30115         * lib/math.in.h (frexpf): New declaration.
30116         * lib/frexpf.c: New file.
30117         * m4/frexpf.m4: New file.
30118         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
30119         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
30120         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
30121         * modules/frexpf: New file.
30122         * tests/test-math-c++.cc: Check the declaration of frexpf.
30123         * doc/posix-functions/frexpf.texi: Mention the new module.
30125 2011-10-06  Bruno Haible  <bruno@clisp.org>
30127         math: Sort function declarations of math.in.h.
30128         * lib/math.in.h (frexp, logb): Move declarations.
30130 2011-10-05  Bruno Haible  <bruno@clisp.org>
30132         Tests for module 'modff'.
30133         * modules/modff-tests: New file.
30134         * tests/test-modff.c: New file.
30136         New module 'modff'.
30137         * lib/math.in.h (modff): New declaration.
30138         * lib/modff.c: New file.
30139         * m4/modff.m4: New file.
30140         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
30141         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
30142         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
30143         * modules/modff: New file.
30144         * tests/test-math-c++.cc: Check the declaration of modff.
30145         * doc/posix-functions/modff.texi: Mention the new module.
30147         modf tests: Make test sharper.
30148         * tests/test-modf.c (main): Strengthen upper bound.
30150         modf: Use a .m4 file.
30151         * m4/modf.m4: New file.
30152         * modules/modf (Files): Add it.
30153         (configure.ac): Just invoke gl_FUNC_MODF.
30155 2011-10-05  Bruno Haible  <bruno@clisp.org>
30157         Tests for module 'fmodf'.
30158         * modules/fmodf-tests: New file.
30159         * tests/test-fmodf.c: New file.
30161         New module 'fmodf'.
30162         * lib/math.in.h (fmodf): New declaration.
30163         * lib/fmodf.c: New file.
30164         * m4/fmodf.m4: New file.
30165         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
30166         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
30167         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
30168         * modules/fmodf: New file.
30169         * tests/test-math-c++.cc: Check the declaration of fmodf.
30170         * doc/posix-functions/fmodf.texi: Mention the new module.
30172         fmod: Use a .m4 file.
30173         * m4/fmod.m4: New file.
30174         * modules/fmod (Files): Add it.
30175         (configure.ac): Just invoke gl_FUNC_FMOD.
30177 2011-10-05  Bruno Haible  <bruno@clisp.org>
30179         Tests for module 'fabsf'.
30180         * modules/fabsf-tests: New file.
30181         * tests/test-fabsf.c: New file.
30183         New module 'fabsf'.
30184         * lib/math.in.h (fabsf): New declaration.
30185         * lib/fabsf.c: New file.
30186         * m4/fabsf.m4: New file.
30187         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
30188         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
30189         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
30190         * modules/fabsf: New file.
30191         * tests/test-math-c++.cc: Check the declaration of fabsf.
30192         * doc/posix-functions/fabsf.texi: Mention the new module.
30194         fabs: Use a .m4 file.
30195         * m4/fabs.m4: New file.
30196         * modules/fabs (Files): Add it.
30197         (configure.ac): Just invoke gl_FUNC_FABS.
30199 2011-10-05  Jim Meyering  <meyering@redhat.com>
30201         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
30202         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
30203         ls -lL regression introduced in coreutils-8.12, it does so at the
30204         cost of an additional stat call in the common case.  Besides, now
30205         that the kernel change that prompted commit 95f7c57f has been reverted
30206         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
30207         we have no use for commit 95f7c57f, "file-has-acl: use
30208         acl_extended_file_nofollow if available".
30210 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
30212         file-has-acl: revert unintended change in behavior of ls -L
30213         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
30214         derived from...
30215         (file_has_acl): ...code here.  Call it.
30216         This problem was introduced with 2011-07-22 commit 95f7c57f,
30217         "file-has-acl: use acl_extended_file_nofollow if available".
30218         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
30220 2011-10-03  Bruno Haible  <bruno@clisp.org>
30222         poll: Avoid link errors on MSVC.
30223         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
30224         * modules/poll (Depends-on): Add sockets.
30225         (Link): New section.
30226         * NEWS: Mention the change.
30227         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
30228         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
30229         $(LIB_POLL) instead of $(LIBSOCKET).
30231 2011-10-03  Bruno Haible  <bruno@clisp.org>
30233         sys_select tests: Fix link error on MSVC 9.
30234         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
30235         with $(LIB_SELECT) instead of $(LIBSOCKET).
30237 2011-10-03  Bruno Haible  <bruno@clisp.org>
30239         sys_select: Fix compilation error on mingw.
30240         * lib/sys_select.in.h: On native Windows, include <io.h>.
30242 2011-10-03  Bruno Haible  <bruno@clisp.org>
30244         wmemset: Support for MSVC.
30245         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
30246         whether wmemset() exists.
30248 2011-10-03  Bruno Haible  <bruno@clisp.org>
30250         wmemmove: Support for MSVC.
30251         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
30252         whether wmemmove() exists.
30254 2011-10-03  Bruno Haible  <bruno@clisp.org>
30256         wmemcpy: Support for MSVC.
30257         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
30258         whether wmemcpy() exists.
30260 2011-10-03  Bruno Haible  <bruno@clisp.org>
30262         wmemcmp: Support for MSVC.
30263         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
30264         whether wmemcmp() exists.
30266 2011-10-03  Bruno Haible  <bruno@clisp.org>
30268         wmemchr: Support for MSVC.
30269         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
30270         whether wmemchr() exists.
30272 2011-10-03  Bruno Haible  <bruno@clisp.org>
30274         glthread/*, strsignal: Support for MSVC.
30275         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
30276         including <winsock.h> on MSVC 9.
30277         * lib/glthread/lock.h: Likewise.
30278         * lib/glthread/thread.h: Likewise.
30279         * lib/glthread/tls.h: Likewise.
30280         * lib/glthread/yield.h: Likewise.
30281         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
30282         if HAVE_UNISTD_H is false.
30283         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
30285 2011-10-03  Bruno Haible  <bruno@clisp.org>
30287         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
30288         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
30289         Set to 100000.
30291 2011-10-03  Bruno Haible  <bruno@clisp.org>
30293         acl: Fix specification.
30294         * lib/file-has-acl.c (file_has_acl): Fix specification.
30296 2011-10-03  Bruno Haible  <bruno@clisp.org>
30298         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
30299         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
30300         (compute_curr_prefix, shared_library_fullname,
30301         find_shared_library_fullname, get_shared_library_fullname, relocate):
30302         Use it together with PIC && INSTALLDIR.
30303         Reported by <jojelino@gmail.com>
30304         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
30306 2011-10-01  Jim Meyering  <meyering@redhat.com>
30308         maint.mk: adjust a release-related rule not to require use of gzip
30309         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
30310         Instead, check each file in $(DIST_ARCHIVES).  This is better for
30311         projects that build only .tar.xz files.  Also fix an erroneous test.
30313         test-linkat: don't leave behind a temporary file
30314         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
30315         Otherwise, coreutils' "make distcheck" would fail with this:
30316           Only in /c/cu/tests/torture/coreutils/test/\
30317             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
30318           make[2]: *** [my-distcheck] Error 1
30320         float, math: add omitted file
30321         * lib/itold.c: Add file, required for yesterday's float change.
30323 2011-10-01  Bruno Haible  <bruno@clisp.org>
30325         isinf: Fix for OpenBSD/x86.
30326         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
30327         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
30328         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
30330 2011-10-01  Bruno Haible  <bruno@clisp.org>
30332         isfinite: Fix syntax error in configure test.
30333         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
30335         isfinite: Fix typo.
30336         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
30337         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
30339 2011-10-01  Bruno Haible  <bruno@clisp.org>
30341         nonblocking tests: Fix test failure on Linux/IA-64.
30342         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
30343         Set to 270000.
30345 2011-10-01  Bruno Haible  <bruno@clisp.org>
30347         mkfifoat tests: Fix a test failure on mingw.
30348         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
30349         with error ENOSYS.
30351 2011-09-30  Bruno Haible  <bruno@clisp.org>
30353         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
30354         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
30355         'long double'. Set REPLACE_ITOLD.
30356         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
30357         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
30358         * lib/itold.c: New file.
30359         * modules/float (Files): Add lib/itold.c.
30360         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
30361         (Makefile.am): Substitute REPLACE_ITOLD.
30362         * modules/math (Depends-on): Add float.
30363         (Makefile.am): Substitute REPLACE_ITOLD.
30364         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
30365         * doc/posix-headers/math.texi: Likewise.
30366         * doc/posix-functions/logl.texi: Likewise.
30368 2011-09-30  Bruno Haible  <bruno@clisp.org>
30370         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
30371         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
30372         Set to 140000.
30374 2011-09-30  Bruno Haible  <bruno@clisp.org>
30376         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
30377         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
30378         invocation, say "right after AC_PROG_CC_STDC", not "right after
30379         AC_PROG_CC".
30380         Reported by Gary V. Vaughan <gary@gnu.org>.
30382 2011-09-30  Bruno Haible  <bruno@clisp.org>
30384         Centralize C99 requirement.
30385         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
30386         * modules/stdarg (configure.ac-early): Invoke it instead of
30387         AC_PROG_CC_STDC.
30388         Reported by Gary V. Vaughan and Paul Eggert.
30390 2011-09-29  Bruno Haible  <bruno@clisp.org>
30392         float: Fix LDBL_MAX value on Linux/PowerPC.
30393         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
30394         on Linux/PowerPC.
30395         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
30396         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
30397         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
30398         platform.
30399         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
30401 2011-09-29  Bruno Haible  <bruno@clisp.org>
30403         doc: Improve doc about gl_EARLY.
30404         * doc/gnulib-tool.texi (Initial import): Mention where to place an
30405         AC_PROG_CC_STDC invocation.
30406         Reported by Gary V. Vaughan <gary@gnu.org>.
30408 2011-09-28  Bruno Haible  <bruno@clisp.org>
30410         fgetc, fputc, fread, fwrite tests: Fix link error.
30411         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
30412         on non-MSVC platforms.
30413         * tests/test-fputc.c (main): Likewise.
30414         * tests/test-fread.c (main): Likewise.
30415         * tests/test-fwrite.c (main): Likewise.
30416         Reported by Jim Meyering.
30418 2011-09-27  Bruno Haible  <bruno@clisp.org>
30420         fputc, fwrite tests: Avoid test failure on MSVC.
30421         * tests/test-fgetc.c: Include msvc-inval.h.
30422         (main): Invoke gl_msvc_inval_ensure_handler.
30423         * tests/test-fputc.c: Include msvc-inval.h.
30424         (main): Invoke gl_msvc_inval_ensure_handler.
30425         * tests/test-fread.c: Include msvc-inval.h.
30426         (main): Invoke gl_msvc_inval_ensure_handler.
30427         * tests/test-fwrite.c: Include msvc-inval.h.
30428         (main): Invoke gl_msvc_inval_ensure_handler.
30429         * modules/fgetc-tests (Depends-on): Add msvc-inval.
30430         * modules/fputc-tests (Depends-on): Likewise.
30431         * modules/fread-tests (Depends-on): Likewise.
30432         * modules/fwrite-tests (Depends-on): Likewise.
30434 2011-09-27  Bruno Haible  <bruno@clisp.org>
30436         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
30437         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
30438         (raise): Remove older, duplicated declaration.
30439         (_gl_raise_SIGPIPE): New declaration.
30440         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
30441         (rpl_raise): Remove function.
30442         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
30443         a gnulib-defined SIGPIPE here.
30444         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
30445         'sigprocmask' has detected missing signal-blocking and the module
30446         'sigpipe' is enabled.
30447         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
30449 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
30451         base64-tests: avoid memory leak
30452         * tests/test-base64.c (main): Plug memory leak.
30454         base32: new module
30455         * modules/base32: New module.
30456         * lib/base32.c: New file.
30457         * lib/base32.h: Likewise.
30458         * m4/base32.m4: Likewise.
30459         * modules/base32-tests: New test.
30460         * tests/test-base32.c: Likewise.
30461         * MODULES.html.sh (Misc): Mention it.
30463 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
30465         gnulib: use more-standard license notice wording
30466         * gnulib-tool (func_emit_copyright_notice): When emitting a
30467         license notice into a file, use the standard wording as suggested
30468         by the current information for GNU maintainers, except say "file"
30469         rather than "program".  The new wording gives a license version
30470         number, which addresses an issue raised by Glenn Morris in
30471         <http://lists.gnu.org/r/bug-gnulib/2011-09/msg00397.html>.
30472         * m4/onceonly.m4: Use that same wording here, too.
30474         dup2: minor simplification
30475         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
30476         as lib/dup2.c no longer uses 'inline'.
30478 2011-09-25  Bruno Haible  <bruno@clisp.org>
30480         strings: Fix compilation error on MSVC.
30481         * lib/strings.in.h: Include <stddef.h> for size_t.
30483 2011-09-25  Bruno Haible  <bruno@clisp.org>
30485         fflush et al.: Document limitation on MSVC.
30486         * doc/posix-functions/fflush.texi: Document possible crash in handling
30487         mode other than DEFAULT_HANDLING.
30488         * doc/posix-functions/fgetc.texi: Likewise.
30489         * doc/posix-functions/fputc.texi: Likewise.
30490         * doc/posix-functions/fread.texi: Likewise.
30491         * doc/posix-functions/fwrite.texi: Likewise.
30493 2011-09-25  Bruno Haible  <bruno@clisp.org>
30495         msvc-inval: Allow three invalid parameter handling modes.
30496         * lib/msvc-inval.h: Don't include <stdlib.h> here.
30497         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
30498         macros.
30499         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
30500         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
30501         SANE_LIBRARY_HANDLING as a no-op.
30502         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
30503         <stdlib.h>.
30504         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
30506 2011-09-25  Bruno Haible  <bruno@clisp.org>
30508         msvc-inval: Make handler multithread-safe.
30509         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
30510         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
30511         declarations.
30512         (gl_msvc_inval_current): New declaration.
30513         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
30514         Operate on the structure returned by gl_msvc_inval_current().
30515         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
30516         Remove varaiables.
30517         (tls_index, tls_initialized): New variables.
30518         (not_per_thread): New variable.
30519         (gl_msvc_inval_current): New function.
30520         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
30521         returned by gl_msvc_inval_current().
30523 2011-09-25  Bruno Haible  <bruno@clisp.org>
30525         msvc-inval: Install handler globally.
30526         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
30527         !_MSC_VER.
30528         (gl_msvc_invalid_parameter_handler): Remove declaration.
30529         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
30530         declarations.
30531         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
30532         Install the handler globally, don't uninstall it.
30533         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
30534         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
30535         currently valid, call RaiseException instead.
30536         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
30537         for !_MSC_VER.
30539 2011-09-25  Bruno Haible  <bruno@clisp.org>
30541         strerror_r-posix: Fix for MSVC 9.
30542         * lib/strerror_r.c (local_snprintf): New function.
30543         (snprintf): Define to local_snprintf, not to _snprintf.
30545 2011-09-25  Bruno Haible  <bruno@clisp.org>
30547         ftruncate: Support for MSVC 9.
30548         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
30549         (chsize_nothrow): New function.
30550         (chsize): Redefine as a macro.
30551         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
30552         * modules/ftruncate (Depends-on): Add msvc-inval.
30554 2011-09-25  Bruno Haible  <bruno@clisp.org>
30556         New module 'fstat'.
30557         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
30558         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
30559         * lib/fchdir.c (rpl_fstat): Remove function.
30560         * m4/fstat.m4: New file.
30561         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
30562         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
30563         declared.
30564         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
30565         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
30566         * modules/fstat: New file.
30567         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
30568         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
30569         is set.
30570         * doc/posix-functions/fstat.texi: Mention the new module and the
30571         problem on MSVC.
30572         * NEWS: Mention the change.
30573         * modules/acl (Depends-on): Add fstat.
30574         * modules/chdir-safer (Depends-on): Likewise.
30575         * modules/chown (Depends-on): Likewise.
30576         * modules/copy-file (Depends-on): Likewise.
30577         * modules/fchdir (Depends-on): Likewise.
30578         * modules/fdopendir (Depends-on): Likewise.
30579         * modules/fopen (Depends-on): Likewise.
30580         * modules/fts (Depends-on): Likewise.
30581         * modules/getcwd (Depends-on): Likewise.
30582         * modules/isapipe (Depends-on): Likewise.
30583         * modules/linkat (Depends-on): Likewise.
30584         * modules/lseek (Depends-on): Likewise.
30585         * modules/mkdir-p (Depends-on): Likewise.
30586         * modules/open (Depends-on): Likewise.
30587         * modules/openat (Depends-on): Likewise.
30588         * modules/read-file (Depends-on): Likewise.
30589         * modules/renameat (Depends-on): Likewise.
30590         * modules/utimens (Depends-on): Likewise.
30592 2011-09-25  Bruno Haible  <bruno@clisp.org>
30594         linkat: Fix compilation on MSVC 9.
30595         * lib/linkat.c: Don't include <stdint.h>.
30597 2011-09-25  Bruno Haible  <bruno@clisp.org>
30599         fclose: Support for MSVC 9.
30600         * lib/fclose.c: Include msvc-inval.h.
30601         (fclose_nothrow): New function.
30602         (rpl_fclose): Use it.
30603         * modules/fclose (Depends-on): Add msvc-inval.
30604         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
30606 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
30608         dup2: minor simplifications
30609         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
30610         that it's a performance win.
30611         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
30612         ! defined __CYGWIN__)" to "ifdef F_GETFL".
30614 2011-09-24  Jim Meyering  <meyering@redhat.com>
30616         test-futimens: avoid a warning from gcc -Wshadow
30617         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
30618         to avoid a shadowing warning.
30620 2011-09-24  Bruno Haible  <bruno@clisp.org>
30622         fdopen: Support for MSVC 9.
30623         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
30624         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
30625         * lib/fdopen.c: Include msvc-inval.h.
30626         (fdopen_nothrow): New function.
30627         (rpl_fdopen): Use it.
30628         * modules/fdopen (Depends-on): Add msvc-inval.
30629         * modules/fclose-tests (Depends-on): Add fdopen.
30630         * modules/fflush-tests (Depends-on): Likewise.
30631         * modules/fgetc-tests (Depends-on): Likewise.
30632         * modules/fputc-tests (Depends-on): Likewise.
30633         * modules/fread-tests (Depends-on): Likewise.
30634         * modules/freopen-tests (Depends-on): Likewise.
30635         * modules/fseeko-tests (Depends-on): Likewise.
30636         * modules/ftello-tests (Depends-on): Likewise.
30637         * modules/fwrite-tests  (Depends-on): Likewise.
30638         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
30640 2011-09-24  Bruno Haible  <bruno@clisp.org>
30642         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
30643         * modules/fgetc-tests (Depends-on): Add unistd.
30644         * modules/fputc-tests (Depends-on): Likewise.
30645         * modules/fread-tests (Depends-on): Likewise.
30646         * modules/fwrite-tests (Depends-on): Likewise.
30648 2011-09-24  Bruno Haible  <bruno@clisp.org>
30650         dup: Simplify autoconf test.
30651         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
30652         on gl_MSVC_INVAL's result.
30654 2011-09-24  Bruno Haible  <bruno@clisp.org>
30656         Tests for function fwrite().
30657         * modules/fwrite-tests: New file.
30658         * tests/test-fwrite.c: New file.
30659         * modules/stdio-tests (Depends-on): Add fwrite-tests.
30661         Tests for function fread().
30662         * modules/fread-tests: New file.
30663         * tests/test-fread.c: New file.
30664         * modules/stdio-tests (Depends-on): Add fread-tests.
30666         Activate fputc tests.
30667         * modules/stdio-tests (Depends-on): Add fputc-tests.
30669         Enhance fgetc, fputc tests.
30670         * tests/test-fgetc.c (main): Also test the stream's error indicator.
30671         * tests/test-fputc.c (main): Likewise.
30673 2011-09-24  Bruno Haible  <bruno@clisp.org>
30675         write: Support for MSVC 9.
30676         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
30677         is not 1.
30678         * lib/write.c (write_nothrow): New function.
30679         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
30680         not 1. Use write_nothrow.
30681         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
30682         invalid parameter handler.
30683         (gl_PREREQ_WRITE): New macro.
30684         * modules/write (Depends-on): Add msvc-inval.
30685         (configure.ac): Invoke gl_PREREQ_WRITE.
30686         * doc/posix-functions/write.texi: Mention the problem on MSVC.
30688 2011-09-24  Bruno Haible  <bruno@clisp.org>
30690         read: Fix last commit.
30691         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
30693 2011-09-24  Bruno Haible  <bruno@clisp.org>
30695         dup2: Fix last commit.
30696         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
30697         (rpl_dup2): Disable fcntl workaround on native Windows.
30699         sigprocmask: Make code safer.
30700         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
30701         section that changes macro definitions for this compilation unit.
30703 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
30705         dup2: clarify by coalescing Windows-specific material
30706         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
30707         "msvc-nothrow.h"' to the Windows-specific section, so that the
30708         Emacs source need not contain these include files.
30709         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
30710         Windows-specific fixes into this function rather than just the
30711         nothrow fix, as this shortens and clarifies the code.  Always
30712         define as a function, as that's a bit cleaner than having it be
30713         sometimes a function and sometimes a macro.
30714         (rpl_dup2): Move the Windows-specific stuff out of here and into
30715         ms_windows_dup2.  Don't protect the Haiku-related fix with
30716         "#if !defined __linux__", as the same code also works around
30717         a Linux kernel bug, and it doesn't add any system calls on any
30718         platform.  Add comment about FreeBSD 6.1.
30720         sigprocmask: move #include directive
30721         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
30722         Windows-specific section, so that the Emacs source need not
30723         contain msvc-inval.h.
30725 2011-09-23  Bruno Haible  <bruno@clisp.org>
30727         read: Support for MSVC 9.
30728         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
30729         is not 1.
30730         * lib/read.c (read_nothrow): New function.
30731         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
30732         read_nothrow.
30733         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
30734         invalid parameter handler.
30735         (gl_PREREQ_READ): New macro.
30736         * modules/read (Depends-on): Add msvc-inval.
30737         (configure.ac): Invoke gl_PREREQ_READ.
30738         * doc/posix-functions/read.texi: Mention the problem on MSVC.
30740 2011-09-23  Bruno Haible  <bruno@clisp.org>
30742         close: Support for MSVC 9.
30743         * lib/close.c: Include <errno.h>, msvc-inval.h.
30744         (close_nothrow): New function.
30745         (rpl_close): Use it.
30746         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
30747         invalid parameter handler.
30748         * modules/close (Depends-on): Add msvc-inval.
30749         * modules/dup2-tests (Depends-on): Add close.
30750         * modules/dup3-tests (Depends-on): Likewise.
30751         * modules/fcntl-tests (Depends-on): Likewise.
30752         * modules/spawn-pipe-tests (Depends-on): Likewise.
30753         * modules/unistd-safer-tests (Depends-on): Likewise.
30754         * doc/posix-functions/close.texi: Mention the problem on MSVC.
30756 2011-09-23  Bruno Haible  <bruno@clisp.org>
30758         New module 'dup'.
30759         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
30760         Allow replacement.
30761         * lib/dup.c: New file.
30762         * lib/fchdir.c (rpl_dup): Remove function.
30763         * m4/dup.m4: New file.
30764         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
30765         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
30766         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
30767         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
30768         * modules/dup: New file.
30769         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
30770         'dup' module is in use.
30771         * modules/fdopendir (Depends-on): Add dup.
30772         * modules/fdutimensat-tests (Depends-on): Likewise.
30773         * modules/fts (Depends-on): Likewise.
30774         * modules/futimens-tests (Depends-on): Likewise.
30775         * modules/posix_spawnp-tests (Depends-on): Likewise.
30776         * modules/unistd-safer-tests (Depends-on): Likewise.
30777         * modules/utimens-tests (Depends-on): Likewise.
30778         * doc/posix-functions/dup.texi: Mention the new module and the problem
30779         on MSVC.
30781 2011-09-23  Bruno Haible  <bruno@clisp.org>
30783         getdtablesize: Support for MSVC 9.
30784         * lib/getdtablesize.c: Include msvc-inval.h.
30785         (_setmaxstdio_nothrow): New function.
30786         (_setmaxstdio): Redefine it.
30787         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
30788         * modules/getdtablesize (Depends-on): Add msvc-inval.
30789         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
30791 2011-09-23  Bruno Haible  <bruno@clisp.org>
30793         signal-h: Rename from signal.
30794         * modules/signal-h: Renamed from modules/signal.
30795         * modules/pthread_sigmask (Depends-on): Update.
30796         * modules/raise (Depends-on): Likewise.
30797         * modules/sigaction (Depends-on): Likewise.
30798         * modules/sigpipe (Depends-on): Likewise.
30799         * modules/sigprocmask (Depends-on): Likewise.
30800         * modules/sys_select (Depends-on): Likewise.
30801         * modules/signal-h-tests: Renamed from modules/signal-tests.
30802         (Files, Depends-on, Makefile.am): Update.
30803         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
30804         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
30805         (Files, Makefile.am): Update.
30806         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
30807         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
30808         * modules/signal: New placeholder file.
30809         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
30810         * doc/posix-headers/signal.texi: Update.
30811         * NEWS: Mention the change.
30813 2011-09-23  Bruno Haible  <bruno@clisp.org>
30815         sigprocmask: Avoid crashes through signal() on MSVC 9.
30816         * lib/sigprocmask.c: Include msvc-inval.h.
30817         (signal_nothrow): New function.
30818         (signal): Redefine it.
30819         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
30820         * modules/sigprocmask (Depends-on): Add msvc-inval.
30821         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
30823 2011-09-23  Bruno Haible  <bruno@clisp.org>
30825         Tests for module 'raise'.
30826         * modules/raise-tests: New file.
30827         * tests/test-raise.c: New file.
30829         raise: Support for MSVC.
30830         * lib/signal.in.h (raise): New declaration.
30831         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
30832         for native Windows platforms.
30833         * m4/raise.m4: New file.
30834         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
30835         HAVE_RAISE, REPLACE_RAISE.
30836         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
30837         REPLACE_RAISE.
30838         * modules/raise (Status, Notice): Remove fields.
30839         (Files): Add m4/raise.m4.
30840         (Depends-on): Add signal, msvc-inval.
30841         (configure.ac): Use the common idioms.
30842         (Maintainer): Add me.
30843         * tests/test-signal-c++.cc: Check the signature of raise.
30844         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
30846 2011-09-23  Bruno Haible  <bruno@clisp.org>
30848         pipe2: Fix compilation on pre-C99 compilers.
30849         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
30851 2011-09-23  Bruno Haible  <bruno@clisp.org>
30853         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
30854         * lib/msvc-nothrow.h: New file.
30855         * lib/msvc-nothrow.c: New file.
30856         * m4/msvc-nothrow.m4: New file.
30857         * modules/msvc-nothrow: New file.
30858         * lib/dup2.c: Include msvc-nothrow.h.
30859         (rpl_dup2): No need to protect _get_osfhandle call here.
30860         * lib/accept4.c: Include msvc-nothrow.h.
30861         * lib/error.c: Likewise.
30862         * lib/fcntl.c: Likewise.
30863         * lib/lseek.c: Likewise.
30864         * lib/nonblocking.c: Likewise.
30865         * lib/poll.c: Likewise.
30866         * lib/read.c: Likewise.
30867         * lib/select.c: Likewise.
30868         * lib/sockets.h: Likewise.
30869         * lib/sockets.c: Likewise.
30870         * lib/stdio-read.c: Likewise.
30871         * lib/stdio-write.c: Likewise.
30872         * lib/write.c: Likewise.
30873         * lib/w32sock.h: Likewise.
30874         * lib/w32spawn.h: Likewise.
30875         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
30876         * lib/fsync.c: Likewise.
30877         * lib/isapipe.c: Likewise.
30878         * modules/dup2 (Depends-on): Add msvc-nothrow.
30879         * modules/accept4 (Depends-on): Likewise.
30880         * modules/error (Depends-on): Likewise.
30881         * modules/fcntl (Depends-on): Likewise.
30882         * modules/lseek (Depends-on): Likewise.
30883         * modules/nonblocking (Depends-on): Likewise.
30884         * modules/poll (Depends-on): Likewise.
30885         * modules/read (Depends-on): Likewise.
30886         * modules/select (Depends-on): Likewise.
30887         * modules/sockets (Depends-on): Likewise.
30888         * modules/sigpipe (Depends-on): Likewise.
30889         * modules/write (Depends-on): Likewise.
30890         * modules/accept (Depends-on): Likewise.
30891         * modules/bind (Depends-on): Likewise.
30892         * modules/connect (Depends-on): Likewise.
30893         * modules/gethostname (Depends-on): Likewise.
30894         * modules/getpeername (Depends-on): Likewise.
30895         * modules/getsockname (Depends-on): Likewise.
30896         * modules/getsockopt (Depends-on): Likewise.
30897         * modules/ioctl (Depends-on): Likewise.
30898         * modules/listen (Depends-on): Likewise.
30899         * modules/recv (Depends-on): Likewise.
30900         * modules/recvfrom (Depends-on): Likewise.
30901         * modules/send (Depends-on): Likewise.
30902         * modules/sendto (Depends-on): Likewise.
30903         * modules/setsockopt (Depends-on): Likewise.
30904         * modules/shutdown (Depends-on): Likewise.
30905         * modules/socket (Depends-on): Likewise.
30906         * modules/execute (Depends-on): Likewise.
30907         * modules/spawn-pipe (Depends-on): Likewise.
30908         * modules/flock (Depends-on): Likewise.
30909         * modules/fsync (Depends-on): Likewise.
30910         * modules/isapipe (Depends-on): Likewise.
30911         * tests/test-cloexec.c: Include msvc-nothrow.h.
30912         * tests/test-dup-safer.c: Likewise.
30913         * tests/test-dup2.c: Likewise.
30914         * tests/test-dup3.c: Likewise.
30915         * tests/test-fcntl.c: Likewise.
30916         * tests/test-pipe.c: Likewise.
30917         * tests/test-pipe2.c: Likewise.
30918         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
30919         * modules/unistd-safer-tests (Depends-on): Likewise.
30920         * modules/dup2-tests (Depends-on): Likewise.
30921         * modules/dup3-tests (Depends-on): Likewise.
30922         * modules/fcntl-tests (Depends-on): Likewise.
30923         * modules/pipe-posix-tests (Depends-on): Likewise.
30924         * modules/pipe2-tests (Depends-on): Likewise.
30926 2011-09-23  Bruno Haible  <bruno@clisp.org>
30928         dup2: Make code more maintainable.
30929         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
30930         (rpl_dup2): Use it.
30931         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
30932         * modules/dup2 (configure.ac): Invoke it.
30933         Reported by Paul Eggert.
30935 2011-09-23  Bruno Haible  <bruno@clisp.org>
30937         msvc-inval: Fix compilation error.
30938         * lib/msvc-inval.h: Include <excpt.h>.
30940 2011-09-23  Bruno Haible  <bruno@clisp.org>
30942         mkdir: Tweak for MSVC 9.
30943         * lib/sys_stat.in.h: Update comments.
30944         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
30946         Tests for module 'chdir'.
30947         * modules/chdir-tests: New file.
30948         * tests/test-chdir.c: New file.
30950         New module 'chdir'.
30951         * modules/chdir: New file.
30952         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
30953         (chdir): New declaration.
30954         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
30955         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
30956         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
30957         * tests/test-unistd-c++.cc: Check signature of chdir.
30958         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
30959         * modules/chdir-long (Depends-on): Add chdir.
30960         * modules/fchdir (Depends-on): Likewise.
30961         * modules/rename (Depends-on): Likewise.
30962         * modules/savewd (Depends-on): Likewise.
30964         rmdir: Support for mingw, MSVC 9.
30965         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
30966         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
30968         getcwd: Tweak for MSVC 9.
30969         * lib/unistd.in.h: Update comments.
30970         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
30972 2011-09-22  Bruno Haible  <bruno@clisp.org>
30974         strerror_r-posix: Avoid a link error on MSVC.
30975         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
30976         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
30978 2011-09-22  Bruno Haible  <bruno@clisp.org>
30980         select: Avoid link errors on MSVC.
30981         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
30982         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
30983         * modules/pselect (Link): Likewise.
30984         * NEWS: Mention the change.
30985         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
30986         test-select-stdin against $(LIB_SELECT).
30987         * modules/pselect-tests (Makefile.am): Link test-pselect against
30988         $(LIB_SELECT).
30990 2011-09-22  Bruno Haible  <bruno@clisp.org>
30992         select: Avoid compilation error on MSVC.
30993         * lib/select.c: Don't include <stdbool.h>.
30995 2011-09-21  Bruno Haible  <bruno@clisp.org>
30997         Consolidate all uses of PATH_MAX in *.m4 files.
30998         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
30999         macros.
31000         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
31001         and gl_PATHMAX_SNIPPET.
31002         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
31003         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
31004         * modules/chdir-long (Files): Add m4/pathmax.m4.
31005         * modules/getcwd (Files): Likewise.
31007 2011-09-21  Bruno Haible  <bruno@clisp.org>
31009         ftruncate: Un-deprecate, concentrate on Win32 support.
31010         * modules/ftruncate (Status, Notice): Remove sections.
31011         (Depends-on): Add largefile.
31012         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
31013         non-mingw platforms.
31014         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
31015         include <io.h>.
31016         * modules/perror-tests (Depends-on): Add ftruncate.
31017         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
31018         'ftruncate' module.
31020 2011-09-21  Bruno Haible  <bruno@clisp.org>
31022         Add dependencies to new dirent related modules.
31023         * modules/opendir (Depends-on): Add closedir.
31024         * modules/getcwd (Depends-on): Add opendir, closedir.
31025         * modules/dirent-safer-tests (Depends-on): Likewise.
31026         * modules/fdopendir-tests (Depends-on): Likewise.
31027         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
31028         * modules/renameat-tests (Depends-on): Likewise.
31030 2011-09-21  Bruno Haible  <bruno@clisp.org>
31032         opendir: Avoid compilation error on mingw.
31033         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
31034         * modules/opendir (Depends-on): Add unistd.
31036 2011-09-21  Bruno Haible  <bruno@clisp.org>
31038         ftruncate tests: Avoid a test failure on mingw.
31039         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
31041 2011-09-21  Bruno Haible  <bruno@clisp.org>
31043         select tests: Avoid test failures on OSF/1 5.1 and mingw.
31044         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
31045         native Windows.
31047 2011-09-21  Bruno Haible  <bruno@clisp.org>
31049         New module 'fdopen'.
31050         * lib/stdio.in.h (fdopen): New declaration.
31051         * lib/fdopen.c: New file.
31052         * m4/fdopen.m4: New file.
31053         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
31054         REPLACE_FDOPEN.
31055         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
31056         REPLACE_FDOPEN.
31057         * modules/fdopen: New file.
31058         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
31059         * tests/test-stdio-c++.cc: Check signature of fdopen.
31060         * doc/posix-functions/fdopen.texi: Mention the new module.
31062 2011-09-21  Bruno Haible  <bruno@clisp.org>
31064         unlockpt tests: Avoid test failure on NetBSD 5.1.
31065         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
31066         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
31068 2011-09-21  Bruno Haible  <bruno@clisp.org>
31070         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
31071         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
31072         * tests/test-getlogin_r.c (main): Likewise.
31074 2011-09-20  Bruno Haible  <bruno@clisp.org>
31076         time tests: Don't require pid_t.
31077         * doc/posix-headers/time.texi: Revert last change.
31078         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
31079         * tests/test-time.c: Comment out the check for pid_t.
31081 2011-09-20  Bruno Haible  <bruno@clisp.org>
31083         fsync tests: Avoid a test failure on mingw.
31084         * tests/test-fsync.c (main): Allow a failure with EIO.
31086 2011-09-20  Bruno Haible  <bruno@clisp.org>
31088         euidaccess: Update comments.
31089         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
31091 2011-09-20  Bruno Haible  <bruno@clisp.org>
31093         Ensure EBADF returns for socket functions on mingw.
31094         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
31095         descriptor is invalid.
31096         * lib/bind.c (rpl_bind): Likewise.
31097         * lib/connect.c (rpl_connect): Likewise.
31098         * lib/getpeername.c (rpl_getpeername): Likewise.
31099         * lib/getsockname.c (rpl_getsockname): Likewise.
31100         * lib/getsockopt.c (rpl_getsockopt): Likewise.
31101         * lib/listen.c (rpl_listen): Likewise.
31102         * lib/recv.c (rpl_recv): Likewise.
31103         * lib/recvfrom.c (rpl_recvfrom): Likewise.
31104         * lib/send.c (rpl_send): Likewise.
31105         * lib/sendto.c (rpl_sendto): Likewise.
31106         * lib/setsockopt.c (rpl_setsockopt): Likewise.
31107         * lib/shutdown.c (rpl_shutdown): Likewise.
31109 2011-09-20  Bruno Haible  <bruno@clisp.org>
31111         select tests: EBADF tests.
31112         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
31113         test_bad_fd): New functions.
31114         (test_function): Invoke also test_bad_fd.
31116 2011-09-20  Bruno Haible  <bruno@clisp.org>
31118         Tests for module 'posix_spawn_file_actions_addopen.
31119         * modules/posix_spawn_file_actions_addopen-tests: New file.
31120         * tests/test-posix_spawn_file_actions_addopen.c: New file.
31122         Tests for module 'posix_spawn_file_actions_adddup2'.
31123         * modules/posix_spawn_file_actions_adddup2-tests: New file.
31124         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
31126         Tests for module 'posix_spawn_file_actions_addclose'.
31127         * modules/posix_spawn_file_actions_addclose-tests: New file.
31128         * tests/test-posix_spawn_file_actions_addclose.c: New file.
31130 2011-09-20  Bruno Haible  <bruno@clisp.org>
31132         Tests for module 'unlockpt'.
31133         * modules/unlockpt-tests: New file.
31134         * tests/test-unlockpt.c: New file.
31135         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
31137         Tests for module 'grantpt'.
31138         * modules/grantpt-tests: New file.
31139         * tests/test-grantpt.c: New file.
31140         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
31142 2011-09-20  Bruno Haible  <bruno@clisp.org>
31144         freopen tests: EBADF tests.
31145         * tests/test-freopen.c: Include errno.h, unistd.h.
31146         (main): Add tests for EBADF, commented out for the moment.
31148         fclose tests: EBADF tests.
31149         * tests/test-fclose.c (main): Add tests for EBADF.
31151         fflush tests: EBADF tests.
31152         * tests/test-fflush.c: Include errno.h, macros.h.
31153         (main): Add tests for EBADF.
31155         ftello tests: EBADF tests.
31156         * tests/test-ftello4.sh: New file.
31157         * tests/test-ftello4.c: New file.
31158         * modules/ftello-tests (Files): Add them.
31159         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
31161         fseeko tests: EBADF tests.
31162         * tests/test-fseeko4.sh: New file.
31163         * tests/test-fseeko4.c: New file.
31164         * modules/fseeko-tests (Files): Add them.
31165         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
31167         Tests for function fputc().
31168         * modules/fputc-tests: New file.
31169         * tests/test-fputc.c: New file.
31170         * modules/stdio-tests (Depends-on): Add fputc-tests.
31172         Tests for function fgetc().
31173         * modules/fgetc-tests: New file.
31174         * tests/test-fgetc.c: New file.
31175         * modules/stdio-tests (Depends-on): Add fgetc-tests.
31177         Tests for function fdopen().
31178         * modules/fdopen-tests: New file.
31179         * tests/test-fdopen.c: New file.
31180         * modules/stdio-tests (Depends-on): Add fdopen-tests.
31182         Tests for module 'vdprintf'.
31183         * modules/vdprintf-tests: New file.
31184         * tests/test-vdprintf.c: New file.
31186         Tests for module 'dprintf'.
31187         * modules/dprintf-tests: New file.
31188         * tests/test-dprintf.c: New file.
31190 2011-09-20  Bruno Haible  <bruno@clisp.org>
31192         Tests for module 'ioctl'.
31193         * modules/ioctl-tests: New file.
31194         * tests/test-ioctl.c: New file.
31196 2011-09-20  Bruno Haible  <bruno@clisp.org>
31198         fcntl tests: EBADF tests.
31199         * tests/test-fcntl.c (main): Add more tests for EBADF.
31201 2011-09-20  Bruno Haible  <bruno@clisp.org>
31203         utimensat tests: EBADF tests.
31204         * tests/test-utimensat.c (main): Add tests for EBADF.
31206         renameat tests: EBADF tests.
31207         * tests/test-renameat.c (main): Add tests for EBADF.
31209         mkfifoat tests: EBADF tests.
31210         * tests/test-mkfifoat.c (main): Add tests for EBADF.
31212         readlinkat tests: EBADF tests.
31213         * tests/test-readlinkat.c (main): Add tests for EBADF.
31215         symlinkat tests: EBADF tests.
31216         * tests/test-symlinkat.c (main): Add tests for EBADF.
31218         linkat tests: EBADF tests.
31219         * tests/test-linkat.c (main): Add tests for EBADF.
31221         Tests for module 'faccessat'.
31222         * modules/faccessat-tests: New file.
31223         * tests/test-faccessat.c: New file.
31225         fdopendir tests: EBADF tests.
31226         * tests/test-fdopendir.c (main): Add more tests for EBADF.
31228         openat tests: EBADF tests.
31229         * tests/test-fchownat.c (main): Add tests for EBADF.
31230         * tests/test-fstatat.c (main): Likewise.
31231         * tests/test-mkdirat.c (main): Likewise.
31232         * tests/test-openat.c (main): Likewise.
31233         * tests/test-unlinkat.c (main): Likewise.
31234         * tests/test-fchmodat.c: New file.
31235         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
31236         (Makefile.am): Also run 'test-fchmodat'.
31238 2011-09-20  Bruno Haible  <bruno@clisp.org>
31240         utimens, futimens, fdutimensat tests: EBADF tests.
31241         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
31243         Tests for function fstat().
31244         * modules/fstat-tests: New file.
31245         * tests/test-fstat.c: New file.
31246         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
31248 2011-09-20  Bruno Haible  <bruno@clisp.org>
31250         test-ttyname_r tests: EBADF tests.
31251         * tests/test-ttyname_r.c (main): Add tests for EBADF.
31253         Tests for module 'isatty'.
31254         * modules/isatty-tests: New file.
31255         * tests/test-isatty.c: New file.
31257         Tests for module 'write'.
31258         * modules/write-tests: New file.
31259         * tests/test-write.c: New file.
31261         Tests for module 'read'.
31262         * modules/read-tests: New file.
31263         * tests/test-read.c: New file.
31265         pwrite tests: EBADF tests.
31266         * tests/test-pwrite.c (main): Add tests for EBADF.
31268         pread tests: EBADF tests.
31269         * tests/test-pread.c (main): Add tests for EBADF.
31271         lseek tests: EBADF tests.
31272         * tests/test-lseek.c (main): Add more tests for EBADF.
31274         Tests for module 'ftruncate'.
31275         * modules/ftruncate-tests: New file.
31276         * tests/test-ftruncate.sh: New file.
31277         * tests/test-ftruncate.c: New file.
31279         fsync tests: EBADF tests.
31280         * tests/test-fsync.c (main): Add more tests for EBADF.
31282         fdatasync tests: EBADF tests.
31283         * tests/test-fdatasync.c (main): Add more tests for EBADF.
31285         Tests for module 'fchown'.
31286         * modules/fchown-tests: New file.
31287         * tests/test-fchown.c: New file.
31289         Tests for module 'fchmod'.
31290         * modules/fchmod-tests: New file.
31291         * tests/test-fchmod.c: New file.
31293         fchdir tests: EBADF tests.
31294         * tests/test-fchdir.c (main): Add more tests for EBADF.
31296         dup2 tests: EBADF tests.
31297         * tests/test-dup2.c (main): Add more tests for EBADF.
31299         Tests for module 'dup'.
31300         * modules/dup-tests: New file.
31301         * tests/test-dup.c: New file.
31303         Tests for module 'close'.
31304         * modules/close-tests: New file.
31305         * tests/test-close.c: New file.
31307 2011-09-20  Bruno Haible  <bruno@clisp.org>
31309         Tests for module 'shutdown'.
31310         * modules/shutdown-tests: New file.
31311         * tests/test-shutdown.c: New file.
31313         Tests for module 'setsockopt'.
31314         * modules/setsockopt-tests: New file.
31315         * tests/test-setsockopt.c: New file.
31317         Tests for module 'sendto'.
31318         * modules/sendto-tests: New file.
31319         * tests/test-sendto.c: New file.
31321         Tests for module 'send'.
31322         * modules/send-tests: New file.
31323         * tests/test-send.c: New file.
31325         Tests for module 'recvfrom'.
31326         * modules/recvfrom-tests: New file.
31327         * tests/test-recvfrom.c: New file.
31329         Tests for module 'recv'.
31330         * modules/recv-tests: New file.
31331         * tests/test-recv.c: New file.
31333         Tests for module 'listen'.
31334         * modules/listen-tests: New file.
31335         * tests/test-listen.c: New file.
31337         Tests for module 'getsockopt'.
31338         * modules/getsockopt-tests: New file.
31339         * tests/test-getsockopt.c: New file.
31341         Tests for module 'getsockname'.
31342         * modules/getsockname-tests: New file.
31343         * tests/test-getsockname.c: New file.
31345         Tests for module 'getpeername'.
31346         * modules/getpeername-tests: New file.
31347         * tests/test-getpeername.c: New file.
31349         Tests for module 'connect'.
31350         * modules/connect-tests: New file.
31351         * tests/test-connect.c: New file.
31353         Tests for module 'bind'.
31354         * modules/bind-tests: New file.
31355         * tests/test-bind.c: New file.
31357         accept4 tests: Fix for native Windows.
31358         * tests/test-accept4.c: Include sockets.h.
31359         (main): Invoke gl_sockets_startup.
31360         * modules/accept4-tests (Depends-on): Add sockets.
31362         accept tests: Fix for native Windows.
31363         * tests/test-accept.c: Include sockets.h.
31364         (main): Invoke gl_sockets_startup.
31365         * modules/accept-tests (Depends-on): Add sockets.
31367 2011-09-19  Bruno Haible  <bruno@clisp.org>
31369         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
31370         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
31371         do...while(0).
31372         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
31373         Suggested by Paul Eggert.
31375 2011-09-19  Bruno Haible  <bruno@clisp.org>
31377         sched: Ensure pid_t is defined.
31378         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
31379         not define pid_t.
31380         * lib/sched.in.h: Include <sys/types.h>.
31381         * doc/posix-headers/sched.texi: Mention the pid_t problem.
31382         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31384 2011-09-19  Bruno Haible  <bruno@clisp.org>
31386         msvc-inval: Ensure the entire expansion is a single statement.
31387         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
31388         of braces.
31390 2011-09-19  Jim Meyering  <meyering@redhat.com>
31392         tests: use printf, not echo in init.sh's warn_ function
31393         * tests/init.sh (warn_): Use printf, not echo.  The latter would
31394         misbehave when given strings containing a backslash or starting
31395         with e.g., -n.  James Youngman suggested setting IFS.
31397 2011-09-19  Eric Blake  <eblake@redhat.com>
31399         futimens: enhance test
31400         * tests/test-futimens.h (test_futimens): Also check for EBADF on
31401         closed non-negative fd.
31403         date: accept 'hence' as opposite of 'ago'
31404         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
31405         * tests/test-parse-datetime.c (main): Enhance test.
31406         Suggested by Jesse Wilson.
31408 2011-09-19  Jim Meyering  <meyering@redhat.com>
31410         getcwd: don't fail in a deep directory on a system without openat
31411         Before this change, getcwd would fail when called from a directory
31412         of depth PATH_MAX / 3 or greater.  That was due to the fact that
31413         the non-openat implementation used "..", "../..", "../../..", etc.
31414         to access ancestor directories.  With too many, that string would
31415         be longer than PATH_MAX.
31416         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
31417         using gnulib's openat replacement.
31418         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
31419         we're using the replacement function.
31421 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
31423         maint.mk: avoid warnings from perl about missing files
31424         * top/maint.mk (def_sym_regex): Ignore files listed in
31425         $(gl_other_headers_) that do not exist, say because a project
31426         does not use a corresponding module.
31428 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
31430         stat: use pathmax.h only if needed
31431         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
31432         This is better for Emacs, which does not have a mingw port and
31433         therefore can avoid the pathmax module.
31435         utimens: remove dependency on dup2
31436         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
31437         to work around the Linux kernel bug.
31438         * modules/utimens (Depends-on): Remove dup2.
31440 2011-09-18  Bruno Haible  <bruno@clisp.org>
31442         inet_ntop, inet_pton: Look for it also in libresolv.
31443         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
31444         libnsl, search for it in libresolv.
31445         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
31446         Needed on Solaris 7.
31448 2011-09-18  Bruno Haible  <bruno@clisp.org>
31450         accept, accept4 tests: Avoid link error on Solaris.
31451         * modules/accept-tests (Makefile.am): Link test-accept against
31452         $(LIBSOCKET).
31453         * modules/accept4-tests (Makefile.am): Link test-accept4 against
31454         $(LIBSOCKET).
31456         accept4: Avoid link error on Solaris.
31457         * modules/accept4 (Link): New section.
31459         socket functions: Avoid link errors on Solaris.
31460         * modules/accept (Depends-on): Add socketlib.
31461         (Link): New section.
31462         * modules/bind (Depends-on): Add socketlib.
31463         (Link): New section.
31464         * modules/connect (Depends-on): Add socketlib.
31465         (Link): New section.
31466         * modules/getpeername (Depends-on): Add socketlib.
31467         (Link): New section.
31468         * modules/getsockname (Depends-on): Add socketlib.
31469         (Link): New section.
31470         * modules/getsockopt (Depends-on): Add socketlib.
31471         (Link): New section.
31472         * modules/listen (Depends-on): Add socketlib.
31473         (Link): New section.
31474         * modules/recv (Depends-on): Add socketlib.
31475         (Link): New section.
31476         * modules/recvfrom (Depends-on): Add socketlib.
31477         (Link): New section.
31478         * modules/send (Depends-on): Add socketlib.
31479         (Link): New section.
31480         * modules/sendto (Depends-on): Add socketlib.
31481         (Link): New section.
31482         * modules/setsockopt (Depends-on): Add socketlib.
31483         (Link): New section.
31484         * modules/shutdown (Depends-on): Add socketlib.
31485         (Link): New section.
31486         * modules/socket (Depends-on): Add socketlib.
31487         (Link): New section.
31489 2011-09-18  Bruno Haible  <bruno@clisp.org>
31491         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
31492         * tests/test-ptsname.c (main): Terminate the test if it takes longer
31493         than 5 seconds.
31494         * modules/ptsname-tests (configure.ac): Test for alarm.
31496 2011-09-18  Bruno Haible  <bruno@clisp.org>
31498         posix_spawn_file_actions_add*: Fix module dependencies.
31499         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
31500         posix_spawn_file_actions_init.
31501         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
31502         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
31504 2011-09-18  Bruno Haible  <bruno@clisp.org>
31506         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
31507         * tests/test-rename.h (test_rename): Allow error code EEXIST.
31508         * tests/test-renameat.c (main): Likewise.
31510 2011-09-18  Bruno Haible  <bruno@clisp.org>
31512         Tests for module 'accept4'.
31513         * modules/accept4-tests: New file.
31514         * tests/test-accept4.c: New file.
31516 2011-09-18  Bruno Haible  <bruno@clisp.org>
31518         Tests for module 'accept'.
31519         * modules/accept-tests: New file.
31520         * tests/test-accept.c: New file.
31522 2011-09-18  Bruno Haible  <bruno@clisp.org>
31524         dup2: Support for MSVC.
31525         * lib/dup2.c: Include msvc-inval.h.
31526         (rpl_dup2): Handle invalid parameter notifications during dup2 and
31527         _get_osfhandle calls.
31528         * modules/dup2 (Depends-on): Add msvc-inval.
31529         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
31531         New module 'msvc-inval'.
31532         * lib/msvc-inval.h: New file.
31533         * lib/msvc-inval.c: New file.
31534         * m4/msvc-inval.m4: New file.
31535         * modules/msvc-inval: New file.
31537 2011-09-17  Bruno Haible  <bruno@clisp.org>
31539         Tests for module 'pclose'.
31540         * modules/pclose-tests: New file.
31542         New module 'pclose'.
31543         * lib/stdio.in.h (pclose): New declaration.
31544         * lib/pclose.c: New file.
31545         * m4/pclose.m4: New file.
31546         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
31547         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
31548         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
31549         * modules/pclose: New file.
31550         * modules/popen-tests (Depends-on): Add pclose.
31551         * modules/popen-safer-tests (Depends-on): Likewise.
31552         * doc/posix-functions/pclose.texi: Mention the new module.
31554 2011-09-17  Bruno Haible  <bruno@clisp.org>
31556         popen: Support for MSVC.
31557         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
31558         * lib/popen.c (popen): Provide alternate definition for native Windows.
31559         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
31560         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
31561         * modules/popen (Depends-on, configure.ac): Update condition.
31562         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
31563         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
31564         fixed.
31566 2011-09-17  Bruno Haible  <bruno@clisp.org>
31568         isnanl, isnand, isnanf: Work around MSVC bug.
31569         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
31571 2011-09-17  Bruno Haible  <bruno@clisp.org>
31573         sys_socket tests: Fix recent mistake.
31574         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
31576 2011-09-17  Bruno Haible  <bruno@clisp.org>
31578         putenv: Support for MSVC.
31579         * modules/putenv (Depends-on): Add environ.
31580         * lib/putenv.c (environ): Disable declaration.
31581         * lib/unistd.in.h: Update comment.
31583 2011-09-17  Bruno Haible  <bruno@clisp.org>
31585         math: Avoid macro redefinition warnings on MSVC.
31586         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
31587         Undefine before redefining.
31589 2011-09-17  Bruno Haible  <bruno@clisp.org>
31591         doc: Mention functions which are declared as macros.
31592         * doc/posix-functions/*[fl].texi: Mention that some functions are
31593         defined as macros with arguments only.
31595 2011-09-17  Bruno Haible  <bruno@clisp.org>
31597         Add dependencies to new dirent related modules.
31598         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
31599         * modules/fts (Depends-on): Likewise.
31600         * modules/glob (Depends-on): Likewise.
31601         * modules/savedir (Depends-on): Likewise.
31602         * modules/scandir (Depends-on): Likewise.
31603         * modules/dirent-safer (Depends-on): Add opendir, closedir.
31604         * modules/fdopendir (Depends-on): Add opendir.
31606 2011-09-17  Bruno Haible  <bruno@clisp.org>
31608         inet_pton: Support for MSVC on Windows Vista or newer.
31609         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
31610         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
31611         HAVE_DECL_INET_PTON is defined.
31612         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
31613         On platforms with <winsock2.h>, test whether inet_pton is declared in
31614         <ws2tcpip.h>. If so, arrange to replace it.
31615         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
31616         REPLACE_INET_PTON.
31617         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
31618         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
31619         (Depends-on, configure.ac): Update condition.
31620         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
31622 2011-09-17  Bruno Haible  <bruno@clisp.org>
31624         inet_ntop: Support for MSVC on Windows Vista or newer.
31625         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
31626         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
31627         HAVE_DECL_INET_NTOP is defined.
31628         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
31629         On platforms with <winsock2.h>, test whether inet_ntop is declared in
31630         <ws2tcpip.h>. If so, arrange to replace it.
31631         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
31632         REPLACE_INET_NTOP.
31633         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
31634         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
31635         (Depends-on, configure.ac): Update condition.
31636         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
31638 2011-09-16  Eric Blake  <eblake@redhat.com>
31640         test-fsync: yet another enhancement
31641         * tests/test-fsync.c (main): Also test behavior on read-only text
31642         file.
31644 2011-09-16  Bruno Haible  <bruno@clisp.org>
31646         Enhance fsync, fdatasync tests.
31647         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
31648         * tests/test-fdatasync.c (main): Likewise.
31650 2011-09-16  Bruno Haible  <bruno@clisp.org>
31652         Support for MSVC compiler: Ensure mode_t gets defined.
31653         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
31654         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
31655         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
31656         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
31657         * tests/test-fcntl-h.c: Check that mode_t is defined.
31658         * tests/test-sys_stat.c: Likewise.
31659         * tests/test-sys_types.c: Likewise.
31660         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
31661         * doc/posix-headers/sys_stat.texi: Likewise.
31662         * doc/posix-headers/sys_types.texi: Likewise.
31664 2011-09-16  Bruno Haible  <bruno@clisp.org>
31666         sys_stat: Support for MSVC.
31667         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
31668         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
31669         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
31670         MSVC.
31672 2011-09-16  Bruno Haible  <bruno@clisp.org>
31674         Support for MSVC compiler: Ensure off_t gets defined.
31675         * lib/unistd.in.h: Include <sys/types.h>.
31676         * tests/test-fcntl-h.c: Check that off_t is defined.
31677         * tests/test-sys_stat.c: Likewise.
31678         * tests/test-sys_types.c: Likewise.
31680 2011-09-16  Eric Blake  <eblake@redhat.com>
31682         fdatasync: port to Solaris
31683         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
31684         * modules/fdatasync (Link): Document it.
31685         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
31687         fdatasync: port to MacOS X 10.7
31688         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
31689         declared.
31690         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
31691         * modules/unistd (Makefile.am): Substitute it.
31692         * lib/unistd.in.h (fdatasync): Declare on MacOS.
31693         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
31695         fdatasync: minor improvements
31696         * modules/fdatasync (Depends-on): Add condition for fsync.
31697         * lib/fdatasync.c (fdatasync): Add comment.
31698         * tests/test-unistd-c++.cc: Test fdatasync.
31700         unistd: update refs to newer POSIX
31701         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
31702         Suggested by Bruno Haible.
31704         fdatasync: new module
31705         * modules/fsync (Description): Document difference to fdatasync.
31706         * modules/fdatasync: New module.
31707         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
31708         * lib/fdatasync.c (fdatasync): Likewise.
31709         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
31710         defaults.
31711         * modules/unistd (Makefile.am): Set witnesses.
31712         * lib/unistd.in.h (fdatasync): Declare.
31713         * MODULES.html.sh: Document it.
31714         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
31715         * modules/fdatasync-tests: New test.
31716         * tests/test-fdatasync.c: Likewise.
31718 2011-09-16  Eric Blake  <eblake@redhat.com>
31720         test-fsync: enhance tests
31721         * modules/fsync-tests (Depends-on): Add errno, for mingw.
31722         * tests/test-fsync.c (main): Enhance test.
31724 2011-09-15  Bruno Haible  <bruno@clisp.org>
31726         Support for MSVC compiler: Ensure ssize_t gets defined.
31727         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
31728         * doc/posix-headers/stdio.texi: Likewise.
31729         * modules/stdio (Depends-on): Add ssize_t.
31730         * modules/sys_socket (Depends-on): Likewise.
31731         * modules/sys_types (Depends-on): Likewise.
31732         * modules/sys_uio (Depends-on): Likewise.
31733         * modules/unistd (Depends-on): Likewise.
31734         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
31735         * tests/test-sys_types.c: Check that ssize_t is defined.
31737 2011-09-14  Bruno Haible  <bruno@clisp.org>
31739         Avoid using #, the m4 comment starter character, near brackets.
31740         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
31741         delimiter character in sed expressions.
31742         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
31743         Suggested by Eric Blake.
31745         Properly quote AC_CHECK_DECLS' 4th argument.
31746         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
31747         argument.
31748         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
31749         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
31750         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
31751         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
31752         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
31753         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
31754         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
31755         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
31756         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
31757         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
31758         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
31759         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
31760         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
31761         * m4/isinf.m4 (gl_ISINF): Likewise.
31762         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
31763         * m4/readutmp.m4 (gl_READUTMP): Likewise.
31764         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
31765         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
31766         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
31767         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
31768         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
31769         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
31770         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
31771         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
31772         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
31773         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
31774         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
31775         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
31776         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
31777         Reported by Eric Blake.
31779         Properly quote AC_CHECK_DECL's 4th argument.
31780         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
31781         argument.
31782         * m4/argp.m4 (gl_ARGP): Likewise.
31783         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
31784         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
31785         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
31786         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
31787         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
31788         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
31789         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
31790         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
31791         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
31792         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
31793         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
31794         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
31795         Reported by Eric Blake.
31797 2011-09-14  Eric Blake  <eblake@redhat.com>
31799         opendir: avoid compile warning
31800         * lib/opendir.c (includes): Always include errno.h.
31801         Reported by Tatsuro MATSUOKA.
31803 2011-09-14  Jim Meyering  <meyering@redhat.com>
31805         maint.mk: sc_tight_scope: propagate failure from sub-make
31806         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
31807         Reported by Martin von Gagern.
31809 2011-09-13  Bruno Haible  <bruno@clisp.org>
31811         tempname: Support for MSVC.
31812         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
31813         MSVC.
31814         * modules/tempname (Depends-on): Add fcntl-h.
31816 2011-09-13  Bruno Haible  <bruno@clisp.org>
31818         sys_time: Support for MSVC.
31819         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
31820         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
31821         include <winsock2.h>.
31822         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
31823         function declarations that collide with POSIX.
31824         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
31825         (Makefile.am): Substitute HAVE_WINSOCK2_H.
31827 2011-09-13  Bruno Haible  <bruno@clisp.org>
31829         stat: Support for MSVC.
31830         * lib/stat.c: Include pathmax.h.
31831         * modules/stat (Depends-on): Add pathmax.
31833         pathmax: Support for native Windows.
31834         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
31836 2011-09-12  Bruno Haible  <bruno@clisp.org>
31838         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
31839         * lib/dirent.in.h (struct dirent): New type.
31840         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
31841         DT_WHT): New macros.
31842         (DIR): New type.
31843         (opendir, closedir): Declare only if the module 'opendir' is enabled.
31844         (readdir, rewinddir): New declarations.
31845         * lib/dirent-private.h: New file.
31846         * lib/opendir.c: New file.
31847         * lib/readdir.c: New file.
31848         * lib/rewinddir.c: New file.
31849         * lib/closedir.c: New file.
31850         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
31851         * m4/opendir.m4: New file.
31852         * m4/readdir.m4: New file.
31853         * m4/rewinddir.m4: New file.
31854         * m4/closedir.m4: New file.
31855         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
31856         REPLACE_CLOSEDIR here.
31857         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
31858         readdir, rewinddir are declared.
31859         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
31860         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
31861         HAVE_REWINDDIR, HAVE_CLOSEDIR.
31862         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
31863         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
31864         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
31865         * modules/opendir: New file.
31866         * modules/readdir: New file.
31867         * modules/rewinddir: New file.
31868         * modules/closedir: New file.
31869         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
31870         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
31871         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
31872         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
31873         * NEWS: Mention the 'fchdir' change.
31875 2011-09-11  Bruno Haible  <bruno@clisp.org>
31877         asm-underscore.m4: Support for MSVC.
31878         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
31879         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
31881 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
31883         Doc about crypt functions.
31884         * doc/posix-functions/crypt.texi: Expand range of glibc versions
31885         needing for _GNU_SOURCE to get crypt.
31886         * doc/posix-functions/encrypt.texi: Likewise.
31887         * doc/posix-functions/setkey.texi: Likewise.
31889 2011-09-11  Bruno Haible  <bruno@clisp.org>
31891         doc: Update regarding MSVC 9.
31892         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
31893         tested".
31894         * doc/posix-functions/*.texi: Update with info about MSVC 9.
31895         * doc/posix-headers/*.texi: Likewise.
31896         * doc/pastposix-functions/*.texi: Likewise.
31897         * doc/glibc-functions/*.texi: Likewise.
31898         * doc/glibc-headers/*.texi: Likewise.
31900 2011-09-11  Bruno Haible  <bruno@clisp.org>
31902         unistd et al.: Don't assume <unistd.h> exists.
31903         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
31904         does not exist.
31905         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
31906         exist. But include <stdlib.h>.
31907         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
31908         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
31909         symlink() does not exist.
31910         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
31911         include <io.h> instead.
31912         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
31913         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
31914         include <direct.h> instead.
31915         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
31916         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
31917         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
31918         <io.h> instead.
31919         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
31920         correctly if the system does not have hard links.
31921         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
31922         <direct.h> instead.
31923         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
31924         it when looking for function declarations.
31925         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
31926         <direct.h> and <io.h> instead.
31927         * doc/posix-headers/unistd.texi: More details about MSVC problem.
31929 2011-09-11  Bruno Haible  <bruno@clisp.org>
31931         strcase: Support for MSVC.
31932         * modules/strcase (Status, Notice): Remove obsoletion mark.
31933         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
31934         * doc/posix-functions/strncasecmp.texi: Likewise.
31936         strings: Don't assume <strings.h> exists.
31937         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
31938         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
31939         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
31940         * doc/posix-headers/strings.texi: Mention the MSVC problem.
31942 2011-09-11  Bruno Haible  <bruno@clisp.org>
31944         dirent: Don't assume <dirent.h> exists.
31945         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
31946         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
31947         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
31948         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
31950 2011-09-11  Bruno Haible  <bruno@clisp.org>
31952         Fix wint_t on MSVC.
31953         * lib/wchar.in.h (wint_t): On MSVC, override it.
31954         * lib/wctype.in.h (wint_t): Likewise.
31955         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
31956         MSVC.
31957         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
31958         * doc/posix-headers/wctype.texi: Likewise.
31960 2011-09-11  Bruno Haible  <bruno@clisp.org>
31962         sys_types: Fix typo.
31963         * lib/sys_types.in.h: Fix typo in comment.
31964         Reported by Paul Eggert.
31966         Support for MSVC compiler: Ensure size_t gets defined.
31967         * modules/strings (Depends-on): Add 'sys_types'.
31968         * modules/sys_uio (Depends-on): Likewise.
31969         * lib/sys_uio.in.h: Update comment.
31971         C++ tests for module 'sys_types'.
31972         * modules/sys_types-c++-tests: New file.
31973         * tests/test-sys_types-c++.cc: New file.
31975         Tests for module 'sys_types'.
31976         * modules/sys_types-tests: New file.
31977         * tests/test-sys_types.c: New file.
31979         New module 'sys_types'.
31980         * lib/sys_types.in.h: New file.
31981         * m4/sys_types_h.m4: New file.
31982         * modules/sys_types: New file.
31983         * doc/posix-headers/sys_types.texi: Mention the new module and the
31984         size_t problem on MSVC 9.
31986 2011-09-11  Bruno Haible  <bruno@clisp.org>
31988         Support for MSVC compiler: Avoid division by a literal 0.
31989         * lib/math.in.h (NAN): Define through a function call also on MSVC.
31990         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
31991         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
31992         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
31993         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
31994         * tests/infinity.h: New file.
31995         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
31996         on MSVC.
31997         * tests/test-ceilf1.c: Include infinity.h.
31998         (main): Use Infinityf.
31999         * tests/test-ceil1.c: Include infinity.h.
32000         (main): Use Infinityd.
32001         * tests/test-ceill.c: Include infinity.h.
32002         (main): Use Infinityl.
32003         * tests/test-dprintf-posix.c: Include infinity.h.
32004         (test_function): Use Infinityd.
32005         * tests/test-floorf1.c: Include infinity.h.
32006         (main): Use Infinityf.
32007         * tests/test-floor1.c: Include infinity.h.
32008         (main): Use Infinityd.
32009         * tests/test-floorl.c: Include infinity.h.
32010         (main): Use Infinityl.
32011         * tests/test-fprintf-posix.c: Include infinity.h.
32012         (test_function): Use Infinityd.
32013         * tests/test-frexp.c: Include infinity.h.
32014         (main): Use Infinityd.
32015         * tests/test-frexpl.c: Include infinity.h.
32016         (main): Use Infinityl.
32017         * tests/test-isfinite.c: Include infinity.h.
32018         (test_isfinitef): Use Infinityf.
32019         (test_isfinited): Use Infinityd.
32020         (test_isfinitel): Use Infinityl.
32021         * tests/test-isinf.c: Include infinity.h.
32022         (test_isinff): Use Infinityf.
32023         (test_isinfd): Use Infinityd.
32024         (test_isinfl): Use Infinityl.
32025         * tests/test-isnan.c: Include infinity.h.
32026         (test_float): Use Infinityf.
32027         (test_double): Use Infinityd.
32028         (test_long_double): Use Infinityl.
32029         * tests/test-isnanf.h: Include infinity.h.
32030         (main): Use Infinityf.
32031         * tests/test-isnand.h: Include infinity.h.
32032         (main): Use Infinityd.
32033         * tests/test-isnanl.h: Include infinity.h.
32034         (main): Use Infinityl.
32035         * tests/test-ldexpl.c: Include infinity.h.
32036         (main): Use Infinityl.
32037         * tests/test-printf-posix.h: Include infinity.h.
32038         (test_function): Use Infinityd.
32039         * tests/test-roundf1.c: Include infinity.h.
32040         (main): Use Infinityf.
32041         * tests/test-round1.c: Include infinity.h.
32042         (main): Use Infinityd.
32043         * tests/test-roundl.c: Include infinity.h.
32044         (main): Use Infinityl.
32045         * tests/test-signbit.c: Include infinity.h.
32046         (test_signbitf): Use Infinityf.
32047         (test_signbitd): Use Infinityd.
32048         (test_signbitl): Use Infinityl.
32049         * tests/test-snprintf-posix.h: Include infinity.h.
32050         (test_function): Use Infinityd, Infinityl.
32051         * tests/test-sprintf-posix.h: Include infinity.h.
32052         (test_function): Use Infinityd, Infinityl.
32053         * tests/test-truncf1.c: Include infinity.h.
32054         (main): Use Infinityf.
32055         * tests/test-trunc1.c: Include infinity.h.
32056         (main): Use Infinityd.
32057         * tests/test-truncl.c: Include infinity.h.
32058         (main): Use Infinityl.
32059         * tests/test-vasnprintf-posix.c: Include infinity.h.
32060         (test_function): Use Infinityd, Infinityl.
32061         * tests/test-vasprintf-posix.c: Include infinity.h.
32062         (test_function): Use Infinityd, Infinityl.
32063         * modules/ceilf-tests (Files): Add tests/infinity.h.
32064         * modules/ceil-tests (Files): Likewise.
32065         * modules/ceill-tests (Files): Likewise.
32066         * modules/dprintf-posix-tests (Files): Likewise.
32067         * modules/floorf-tests (Files): Likewise.
32068         * modules/floor-tests (Files): Likewise.
32069         * modules/floorl-tests (Files): Likewise.
32070         * modules/fprintf-posix-tests (Files): Likewise.
32071         * modules/frexp-tests (Files): Likewise.
32072         * modules/frexp-nolibm-tests (Files): Likewise.
32073         * modules/frexpl-tests (Files): Likewise.
32074         * modules/frexpl-nolibm-tests (Files): Likewise.
32075         * modules/isfinite-tests (Files): Likewise.
32076         * modules/isinf-tests (Files): Likewise.
32077         * modules/isnan-tests (Files): Likewise.
32078         * modules/isnanf-tests (Files): Likewise.
32079         * modules/isnanf-nolibm-tests (Files): Likewise.
32080         * modules/isnand-tests (Files): Likewise.
32081         * modules/isnand-nolibm-tests (Files): Likewise.
32082         * modules/isnanl-tests (Files): Likewise.
32083         * modules/isnanl-nolibm-tests (Files): Likewise.
32084         * modules/ldexpl-tests (Files): Likewise.
32085         * modules/printf-posix-tests (Files): Likewise.
32086         * modules/roundf-tests (Files): Likewise.
32087         * modules/round-tests (Files): Likewise.
32088         * modules/roundl-tests (Files): Likewise.
32089         * modules/signbit-tests (Files): Likewise.
32090         * modules/snprintf-posix-tests (Files): Likewise.
32091         * modules/sprintf-posix-tests (Files): Likewise.
32092         * modules/truncf-tests (Files): Likewise.
32093         * modules/trunc-tests (Files): Likewise.
32094         * modules/truncl-tests (Files): Likewise.
32095         * modules/vasnprintf-posix-tests (Files): Likewise.
32096         * modules/vasprintf-posix-tests (Files): Likewise.
32097         * modules/vdprintf-posix-tests (Files): Likewise.
32098         * modules/vfprintf-posix-tests (Files): Likewise.
32099         * modules/vprintf-posix-tests (Files): Likewise.
32100         * modules/vsnprintf-posix-tests (Files): Likewise.
32101         * modules/vsprintf-posix-tests (Files): Likewise.
32102         * modules/xprintf-posix-tests (Files): Likewise.
32104 2011-09-11  Bruno Haible  <bruno@clisp.org>
32106         Ensure pid_t gets defined.
32107         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
32108         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
32109         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
32110         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
32111         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
32112         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
32113         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
32114         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
32115         * tests/test-fcntl-h.c: Check that pid_t is defined.
32116         * tests/test-sched.c: Likewise.
32117         * tests/test-termios.c: Likewise.
32118         * tests/test-time.c: Likewise.
32119         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
32120         * doc/posix-headers/signal.texi: Likewise.
32121         * doc/posix-headers/sys_types.texi: Likewise.
32122         * doc/posix-headers/time.texi: Likewise.
32124 2011-09-11  Bruno Haible  <bruno@clisp.org>
32126         acl: Fix compilation on Solaris 10 (older version).
32127         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
32128         of ACE_EVERYONE.
32129         * lib/set-mode-acl.c (qset_acl): Likewise.
32130         Reported by Christian Jullien <eligis@orange.fr>.
32132 2011-09-10  Bruno Haible  <bruno@clisp.org>
32134         iconv, unsetenv: Add support for MSVC compiler.
32135         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
32136         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
32138 2011-09-10  Bruno Haible  <bruno@clisp.org>
32140         *printf: Add support for MSVC compiler.
32141         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
32142         handles the exception caused by the %n directive. When cross-compiling,
32143         guess no on native Windows.
32144         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
32145         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
32146         emulate it through vsnprintf.
32147         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
32148         * doc/posix-functions/dprintf.texi: Update documentation regarding
32149         MSVC 9.
32150         * doc/posix-functions/fprintf.texi: Likewise.
32151         * doc/posix-functions/printf.texi: Likewise.
32152         * doc/posix-functions/snprintf.texi: Likewise.
32153         * doc/posix-functions/sprintf.texi: Likewise.
32154         * doc/posix-functions/swprintf.texi: Likewise.
32155         * doc/posix-functions/vdprintf.texi: Likewise.
32156         * doc/posix-functions/vfprintf.texi: Likewise.
32157         * doc/posix-functions/vprintf.texi: Likewise.
32158         * doc/posix-functions/vsnprintf.texi: Likewise.
32159         * doc/posix-functions/vsprintf.texi: Likewise.
32160         * doc/glibc-functions/asprintf.texi: Likewise.
32161         * doc/glibc-functions/obstack_printf.texi: Likewise.
32162         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
32163         * doc/glibc-functions/vasprintf.texi: Likewise.
32165 2011-09-10  Bruno Haible  <bruno@clisp.org>
32167         nocrash: Add support for native Windows.
32168         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
32170 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
32171             Bruno Haible  <bruno@clisp.org>
32173         absolute-header, include-next: Add support for MSVC compiler.
32174         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
32175         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
32176         directory separator in #line directives.
32177         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
32178         recognize also backslash as directory separator in #line directives.
32180 2011-09-08  Jim Meyering  <meyering@redhat.com>
32182         maint.mk: mark the post-release commit log with "maint: " prefix
32183         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
32184         one-line commit-log summary.
32186 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
32187             Bruno Haible  <bruno@clisp.org>
32189         Doc about crypt functions.
32190         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
32191         systems.
32192         * doc/posix-functions/encrypt.texi: Likewise.
32193         * doc/posix-functions/setkey.texi: Likewise.
32195 2011-09-08  Simon Josefsson  <simon@josefsson.org>
32197         * lib/gc.h: Fix copyright header.
32199 2011-09-07  Bruno Haible  <bruno@clisp.org>
32201         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
32202         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
32203         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
32205 2011-09-07  Bruno Haible  <bruno@clisp.org>
32207         openat: Work around compilation error with OSF/1 5.1 DTK cc.
32208         * lib/fopen.c: Use different syntax for include of <stdio.h>.
32209         * lib/freopen.c: Likewise.
32210         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
32211         * lib/lstat.c: Likewise.
32212         * lib/stat.c: Likewise.
32213         * lib/open.c: Use different syntax for include of <fcntl.h>.
32214         * lib/openat.c: Include fcntl.h again, explicitly.
32216 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
32218         parse-datetime: document the newly accepted format
32219         * doc/parse-datetime.texi (Combined date and time of day items):
32220         New section.
32222 2011-09-06  Bruno Haible  <bruno@clisp.org>
32224         acl: Fix a test failure on newer Solaris 10 with ZFS.
32225         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
32226         ENOSYS as no ACL.
32227         Reported by Jim Meyering.
32229 2011-09-06  Bruno Haible  <bruno@clisp.org>
32231         acl: Update for AIX >= 5.3 with NFS.
32232         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
32233         ENOSYS as no ACL.
32235         acl: Fix a test failure on AIX >= 5.3 with NFS.
32236         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
32237         as no ACL.
32239 2011-09-06  Bruno Haible  <bruno@clisp.org>
32241         acl: Fix a test failure on IRIX 6.5 with NFS.
32242         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
32243         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
32244         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
32245         * lib/copy-acl.c (qcopy_acl): Likewise.
32247 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
32249         openat: port to AIX 7.1 with large files
32250         AIX 7.1 does a "#define openat open64at" if large files are in use,
32251         so we can't simply #undef openat.  Use the orig_openat trick (similar
32252         to orig_open in lib/open.c) to work around the problem.  Problem
32253         reported by Kevin Brott for GNU tar, in the thread containing
32254         <http://lists.gnu.org/r/bug-tar/2011-09/msg00032.html>.
32255         * lib/openat.c (__need_system_fcntl_h): Define first.
32256         Include <fcntl.h> and <sys/types.h> before undefining.
32257         (orig_openat) [HAVE_OPENAT]: New inline function.
32258         (openat) [HAVE_OPENAT]: Do not undef.
32259         (rpl_openat): Use orig_openat, not openat.
32261 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
32262             Bruno Haible  <bruno@clisp.org>
32264         acl: Avoid errors on NonStop Kernel.
32265         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
32266         ENOTSUP errors.
32268 2011-09-05  Bruno Haible  <bruno@clisp.org>
32270         acl: Clean up Solaris code.
32271         * lib/acl-internal.h: Remove no-op #if.
32272         * lib/file-has-acl.c: Likewise.
32273         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
32274         * lib/copy-acl.c (qcopy_acl): Likewise.
32276 2011-09-05  Bruno Haible  <bruno@clisp.org>
32278         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
32279         binaries built on the original Solaris 10.
32280         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
32281         trivial.
32283 2011-09-05  Bruno Haible  <bruno@clisp.org>
32285         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
32286         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
32287         10.
32288         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
32289         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
32290         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
32291         instead of acl_get, facl_get, acl_set, facl_set.
32293 2011-09-05  Bruno Haible  <bruno@clisp.org>
32295         copy-file: Try unit tests on more file systems.
32296         * tests/test-copy-file-1.sh: New file.
32297         * tests/test-copy-file-2.sh: New file.
32298         * modules/copy-file-tests (Files): Add them.
32299         (Makefile.am): Add them to TESTS.
32301         acl: Try unit tests on more file systems.
32302         * tests/test-file-has-acl-1.sh: New file.
32303         * tests/test-file-has-acl-2.sh: New file.
32304         * tests/test-set-mode-acl-1.sh: New file.
32305         * tests/test-set-mode-acl-2.sh: New file.
32306         * tests/test-copy-acl-1.sh: New file.
32307         * tests/test-copy-acl-2.sh: New file.
32308         * modules/acl-tests (Files): Add them.
32309         (Makefile.am): Add them to TESTS.
32311 2011-09-04  Bruno Haible  <bruno@clisp.org>
32313         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
32314         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
32315         10.
32316         (OLD_ALLOW, OLD_DENY): New macros.
32317         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
32318         ACE_ACCESS_ALLOWED_ACE_TYPE.
32319         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
32320         ACE_ACCESS_DENIED_ACE_TYPE.
32321         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
32322         (NEW_ACE_EXECUTE): Fix value.
32323         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
32324         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
32325         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
32326         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
32327         NEW_ACE_SYNCHRONIZE): New macros.
32328         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
32329         instead of acl_fromtext, acl_set, facl_set.
32330         Fixes a coreutils/tests/cp/perm failure.
32332 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
32334         openat: test for fstatat (..., 0) bug
32335         Further testing with tar suggests that fstatat (..., 0)
32336         does not work in general, on AIX 7.1; see
32337         <http://lists.gnu.org/r/bug-tar/2011-09/msg00023.html>.
32338         So, give up entirely on AIX 7.1's fstatat, and fall back on our
32339         replacement fstatat (which is what older AIX releases were using
32340         anyway).
32341         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
32342         use is now changed to orig_fstatat.  This was probably the right
32343         thing to do anyway.
32344         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
32345         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
32346         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
32347         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
32348         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
32349         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
32350         if the bug is found.
32352         openat: test for fstatat (AT_FDCWD, ..., 0) bug
32353         This tests for another fstatat bug on AIX 7.1:
32354         fstatat (AT_FDCWD, ..., 0) does not work.  See
32355         <http://lists.gnu.org/r/bug-tar/2011-09/msg00015.html>.
32356         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
32357         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
32358         (rpl_fstatat): Adjust so that it works around either (or both)
32359         bugs if present.
32360         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
32362 2011-09-03  Karl Berry  <karl@gnu.org>
32364         * doc/regex.texi (Character Class Operators): Avoid literal ":"
32365         in index entries.
32367 2011-09-02  Bruno Haible  <bruno@clisp.org>
32369         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
32370         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
32371         values of AR, ARFLAGS, RANLIB.
32372         Reported by John W. Eaton <jwe@gnu.org> for Octave.
32374 2011-09-02  Bruno Haible  <bruno@clisp.org>
32376         Find 'ar' program that fits with --host argument.
32377         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
32379 2011-09-02  Bruno Haible  <bruno@clisp.org>
32381         tests: init.sh: Support any non-GNU diff.
32382         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
32383         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
32384         Solaris 8.
32386 2011-09-02  Bruno Haible  <bruno@clisp.org>
32388         tests: init.sh: work also with any non-GNU diff that supports -u
32389         * tests/init.sh: Relax check for diff -u support.
32390         Rather than checking for GNU diff via --version, simply check
32391         for support for -u itself.  Useful at least on OpenBSD 4.9,
32392         AIX 7.1, IRIX 6.5, and Solaris 10.
32394 2011-09-01  Bruno Haible  <bruno@clisp.org>
32396         strtoimax, strtoumax: Document problem on HP-UX 11.
32397         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
32398         * doc/posix-functions/strtoumax.texi: Likewise.
32400 2011-09-01  Bruno Haible  <bruno@clisp.org>
32402         strtoumax: Avoid link error on OSF/1 with DTK cc.
32403         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
32404         defined as a function.
32405         * modules/strtoumax (Depends-on, configure.ac): Test only whether
32406         strtoumax is defined, not whether it is declared.
32408 2011-09-01  Bruno Haible  <bruno@clisp.org>
32410         strtoimax: Avoid link error on OSF/1 with DTK cc.
32411         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
32412         defined as a function.
32413         * modules/strtoimax (Depends-on, configure.ac): Test only whether
32414         strtoimax is defined, not whether it is declared.
32416 2011-09-01  Bruno Haible  <bruno@clisp.org>
32418         imaxdiv: Avoid link error on OSF/1 with DTK cc.
32419         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
32420         as a function.
32421         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
32422         whether it is declared.
32424 2011-09-01  Bruno Haible  <bruno@clisp.org>
32426         imaxabs: Avoid link error on OSF/1 with DTK cc.
32427         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
32428         as a function.
32429         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
32430         whether it is declared.
32432 2011-09-01  Bruno Haible  <bruno@clisp.org>
32434         Tests for module 'strtoumax'.
32435         * modules/strtoumax-tests: New file.
32436         * tests/test-strtoumax.c: New file.
32438         Tests for module 'strtoimax'.
32439         * modules/strtoimax-tests: New file.
32440         * tests/test-strtoimax.c: New file.
32442         Tests for module 'imaxdiv'.
32443         * modules/imaxdiv-tests: New file.
32444         * tests/test-imaxdiv.c: New file.
32446         Tests for module 'imaxabs'.
32447         * modules/imaxabs-tests: New file.
32448         * tests/test-imaxabs.c: New file.
32450 2011-09-01  Bruno Haible  <bruno@clisp.org>
32452         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
32453         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
32454         pthread_create.
32456 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
32458         openat: work around AIX 7.1 fstatat issue
32459         This should fix the problem that was not properly fixed
32460         in the previous change, dated 2011-08-30.
32461         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
32462         __need_system_stat_h defined.
32463         (orig_fstatat) [HAVE_FSTATAT]: New function.
32464         (rpl_fstatat): Go back to the old way of doing things,
32465         except call orig_fstatat instead of fstatat.
32466         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
32467         Remove unnecessary check whether fstatat fills in st_size etc.
32469 2011-09-01  Bruno Haible  <bruno@clisp.org>
32471         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
32472         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
32473         just include the system's header.
32475 2011-08-31  Jim Meyering  <meyering@redhat.com>
32477         tests: avoid spurious assertion failure in test-float.c on ppc64
32478         * tests/test-float.c (test_long_double): Comment out an assertion,
32479         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
32480         with gcc-4.4.4.
32482         maint: indent with spaces, not TABs
32483         I need to get in the habit of running gnulib's "make check".
32484         Both of these would have been caught.
32485         * m4/largefile.m4: Indent with spaces, not TABs.
32486         * lib/parse-datetime.y (iso_8601_time): Likewise.
32487         Spotted by Pádraig Brady.
32489         test-parse-datetime.c: accommodate a relatively strict gcc warning
32490         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
32491         to avoid a warning from gcc's -Werror=missing-declarations.
32492         Insert a few spaces-before-funcall-parenthesis.
32494 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
32496         parse-datetime: accept ISO 8601 date and time rep with "T" separator
32497         The parser now accepts ISO 8601 date-time strings with "T" as the
32498         separator.  It has long parsed dates like "2004-02-29 16:21:42"
32499         with a space between the date and time strings.  Now it also parses
32500         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
32501         variants like "2004-02-29T16:21:42.333-07:00"
32502         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
32503         of day representation using the 'T' separator character.
32504         * doc/parse-datetime.texi (General date syntax): replace use of
32505         deprecated --iso-8601 option with --rfc-3339 in example of date
32506         command output formats that can be parsed.
32507         * tests/test-parse-datetime.c (tm_diff): New function, taken from
32508         lib/parse-datetime.y.
32509         (gmt_offset): New function.
32510         (main): Add additional test cases to validate ISO8601 extended
32511         date and time of day parsing.
32513 2011-08-31  Bruno Haible  <bruno@clisp.org>
32515         freopen: Documentation.
32516         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
32517         name.
32518         Reported by Claudio Bley <claudio.bley@gmail.com>.
32520 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
32522         freopen: Don't crash if the filename argument is NULL.
32523         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
32524         NULL.
32526 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
32528         openat: work around AIX 7.1 fstatat bug
32529         Problem reported by Kevin Brott for GNU tar, in the thread containing
32530         <http://lists.gnu.org/r/bug-tar/2011-08/msg00015.html>.
32531         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
32532         FSTATAT_ST_SIZE_ETC_BROKEN.
32533         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
32534         rpl_fstatat.
32535         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
32536         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
32537         AC_CHECK_FUNCS_ONCE for fstatat.
32538         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
32539         fchmodat, mkdirat, openat and unlinkat.
32541 2011-08-30  Bruno Haible  <bruno@clisp.org>
32543         Avoid endless recursions if config.h includes some header files.
32544         * lib/fopen.c (__need_FILE): Define already before including config.h.
32545         * lib/freopen.c (__need_FILE): Likewise.
32546         * lib/open.c (__need_system_fcntl_h): Likewise.
32547         * lib/stat.c (__need_system_sys_stat_h): Likewise.
32548         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
32549         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
32551 2011-08-25  Karl Berry  <karl@gnu.org>
32553         * config/srclist.txt (ylwrap): new try.
32554         * build-aux/ylwrap: new file.
32556 2011-08-23  Bruno Haible  <bruno@clisp.org>
32558         tmpdir: Use a good default directory on native Windows.
32559         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
32560         (P_tmpdir): Default to _P_tmpdir on native Windows.
32561         (path_search): On native Windows, try the value returned by GetTempPath
32562         before trying P_tmpdir.
32563         * modules/tmpdir (Depends-on): Add pathmax.
32564         Suggested by John Darrington <john@darrington.wattle.id.au>.
32566 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
32568         doc: fix typo in README-release
32569         * top/README-release: Capitalize first word of a sentence.
32571 2011-08-19  Jim Meyering  <meyering@redhat.com>
32573         fts: do not exhaust memory when processing million-entry directories
32574         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
32575         directory would require about 256*N bytes of memory.  Thus, it was
32576         easy to construct a directory too large to be processed by any of
32577         those tools.  With this change, fts' maximum memory utilization is
32578         now limited to around 30MB.
32579         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
32580         (fts_read): When we've processed the final entry (i.e., when
32581         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
32582         using the parent entry to read any remaining entries.  Dispatch
32583         depending on what fts_build returns:
32584         - NULL+stop, aka failure: stop
32585         - NULL otherwise: move up in the dir hierarchy
32586         - non-NULL: handle this new entry
32587         (fts_build): Declare and use new local, continue_readdir.
32588         Prepare to be called from fts_read, when the entries
32589         from a partially-read directory have just been exhausted.
32590         In that case, we'll skip the opendir and instead use the parent's
32591         fts_dirp and derive dir_fd from that.
32592         Finally, in the readdir loop, if we read max_entries entries,
32593         exit the loop ensuring *not* to call closedir.  This is required
32594         so that fts_dirp can be reused on a subsequent call.
32595         Prompted by Ben England's report of memory exhaustion in find
32596         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
32598         maint: fts: move decl of `dp' down into while loop; split a long line
32599         * lib/fts.c (fts_build): No semantic change.
32601         fts: add/use new struct member, fts_dirp
32602         We are about to use this to manage any directory with
32603         too many entries to read all of them into memory at once.
32604         To do that, we'll need to save the DIR* pointer in each
32605         affected FTSENT struct.
32606         * lib/fts_.h: Include <dirent.h>.
32607         (struct FTSENT) [fts_dirp]: New member.
32608         * lib/fts.c (closedir_and_clear): Define.
32609         Use it in place of closedir so that we are sure to
32610         clear the new fts_dirp member when done with it.
32611         (fts_alloc): Initialize the new member.
32612         (fts_lfree): Free, if needed.
32614         maint: fts: give __opendir2 a new parameter and rename
32615         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
32616         than surreptitiously using sole caller's "dir_fd".
32617         (fts_opendir): Rename from __opendir2.
32619         maint: fts.c: remove __opendir2's now-unused parameter, oflag
32620         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
32622         maint: fts.c: correct off-by-one indentation
32623         * lib/fts.c (fts_build): Correct indentation, change style
32624         of a couple of block comments, and bracing style.
32626         maint: fts.c: move __opendir2 #define "up" out of function body
32627         * lib/fts.c (__opendir2): Move "up".  No semantic change.
32629         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
32630         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
32631         out for a long time and besides was useful only on BSD systems.
32633 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
32635         regex: port to Stratus OpenVOS
32636         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
32637         define to empty, rather than attempting nonportable optimizations.
32638         Problem reported by Paul Green in:
32639         http://lists.gnu.org/r/bug-diffutils/2011-08/msg00047.html
32640         and fix suggested by Eric Blake in:
32641         http://lists.gnu.org/r/bug-gnulib/2011-08/msg00143.html
32643 2011-08-17  Eric Blake  <eblake@redhat.com>
32645         getcwd: fix test failures on mingw
32646         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
32647         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
32648         test if long directory cannot be created, and allow mingw errno.
32650         getcwd-lgpl: fix m4 to match relaxed test for BSD
32651         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
32652         (gl_FUNC_GETCWD_SIGNATURE): New macro.
32653         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
32654         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
32655         signature problem.
32657         getcwd: fix compilation on mingw64
32658         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
32659         getcwd.
32660         Reported by Marc-André Lureau.
32662         pipe2: silence compiler warning
32663         * lib/pipe2.c (pipe2): Hide label if it is not used.
32665 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
32667         relocatable-prog: fix link error
32668         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
32669         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
32670         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
32671         into modules/relocatable-lib without noticing that
32672         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
32673         also needs to build relocatable.c.
32675 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
32677         getaddrinfo: fix sh typo in gai_strerrorA decl checking
32678         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
32679         shell code: it contained a 'break' that was not in a loop.
32680         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
32681         via a shell-language loop; this may have been true in old Autoconf
32682         versions, but it's not true in Autoconf 2.68.  I found this bug
32683         when testing coreutils git on Solaris 8, whose shell complains
32684         about the syntax error.
32686 2011-08-12  Simon Josefsson  <simon@josefsson.org>
32688         * lib/base64.c: Fix comment to reference RFC 4648.
32689         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
32690         <gvtulder@gmail.com>.
32692 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
32694         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
32696         po/Makefile.in.in: fix make -q problem
32697         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
32698         rule, since there's no file named 'check-macro-version' and its
32699         use as a file breaks make -q.
32700         (all): Don't depend on check-macro-version.
32701         (CHECK_MACRO_VERSION): New macro.
32702         (stamp-po): Use it.
32704         configmake: fix make -q problem
32705         * modules/configmake (configmake.h): Update configmake.h's time stamp
32706         even if the file does not change.  Otherwise, 'make -q' fails.
32707         Problem reported by Simon Josefsson in
32708         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00088.html>.
32710 2011-08-11  Jim Meyering  <meyering@redhat.com>
32712         git-version-gen: correct the advice in a comment
32713         * build-aux/git-version-gen: Correct comment.
32714         Don't recommend to list .tarball-version in .gitignore.
32716 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
32718         base64: fix off-by-one buffer size bug
32719         Problem and (trivial) fix reported by Gijs van Tulder in
32720         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00083.html>.
32721         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
32722         * tests/test-base64.c (main): Catch the bug.
32724 2011-08-10  Eric Blake  <eblake@redhat.com>
32726         closein: correct comments
32727         * lib/closein.c (close_stdin): Improve comments.
32729 2011-08-09  Bruno Haible  <bruno@clisp.org>
32731         More tests for 'fseeko'.
32732         * tests/test-fseeko3.c: New file, from Eric Blake.
32733         * tests/test-fseeko3.sh: New file.
32734         * modules/fseeko-tests (Files): Add them.
32735         (TESTS): Add test-fseeko3.sh.
32736         (check_PROGRAMS): Add test-fseeko3.
32738 2011-08-09  Eric Blake  <eblake@redhat.com>
32740         fseeko: remove unneeded hack
32741         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
32743         fseeko: fix bug on glibc
32744         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
32745         Reported by John W. Eaton.
32747 2011-08-08  Bruno Haible  <bruno@clisp.org>
32749         unictype/base: Fix interoperability with preinstalled libunistring.
32750         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
32751         Reported by Simon Josefsson.
32753 2011-08-08  Bruno Haible  <bruno@clisp.org>
32755         iswblank: Detect declaration correctly.
32756         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
32757         AC_CHECK_DECLS invocation.
32759 2011-08-08  Bruno Haible  <bruno@clisp.org>
32761         tcgetsid: Detect declaration correctly.
32762         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
32763         AC_CHECK_DECLS invocation.
32764         Reported by Simon Josefsson.
32766 2011-08-08  Eric Blake  <eblake@redhat.com>
32768         largefile: fix typo that regressed large file support
32769         * modules/largefile (configure.ac-early): Fix section name.
32771 2011-08-06  Karl Berry  <karl@gnu.org>
32773         * MODULES.html.sh (func_all_files): _Noreturn is no longer
32774         a separate module.
32776 2011-08-05  Simon Josefsson  <simon@josefsson.org>
32778         openat: Fix warnings and commens when building unlinkat.c on Hurd.
32779         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
32780         get prototype for free.
32782 2011-08-04  Bruno Haible  <bruno@clisp.org>
32784         Tests for module 'pathmax'.
32785         * modules/pathmax-tests: New file.
32786         * tests/test-pathmax.c: New file.
32788         canonicalize-lgpl: Support larger filenames on the Hurd.
32789         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
32790         Reported by Paul Eggert.
32792         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
32793         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
32794         * lib/chdir-long.h: Include pathmax.h.
32795         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
32796         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
32797         (PATH_MAX): Remove code that is done by pathmax.h.
32798         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
32799         * lib/tmpfile.c: Add a comment.
32800         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
32801         * modules/chdir-long (Depends-on): Add pathmax.
32802         * modules/getcwd (Depends-on): Add pathmax.
32803         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
32804         is not defined.
32805         * doc/posix-headers/limits.texi: Mention the pathmax module.
32806         * NEWS: Mention the change.
32808 2011-08-02  Bruno Haible  <bruno@clisp.org>
32810         pthread_sigmask: Actually use results of gl_THREADLIB.
32811         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
32812         gl_THREADLIB, not gl_[]THREADLIB.
32813         Reported by Eric Blake.
32815 2011-08-02  Jim Meyering  <meyering@redhat.com>
32817         maint.mk: relax the default _gl_TS_function_match regexp
32818         * top/maint.mk (_gl_TS_function_match): Don't require at least one
32819         space between function name and "(" in an "extern" declaration.
32820         That would fail to match a decl with no space there: extern void foo();
32822 2011-07-31  Iain Nicol  <iain@thenicols.net>
32824         git-version-gen: document that EXTRA_DIST must include .version
32825         * build-aux/git-version-gen: In the how-to-use comment, document
32826         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
32827         will fail when run from an unpacked distribution tarball.
32829 2011-08-01  Bruno Haible  <bruno@clisp.org>
32831         wctype-h: Fix last change.
32832         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
32833         REPLACE_TOWLOWER to 0.
32834         Reported by Sam Steingold <sds@gnu.org>.
32836 2011-07-31  Bruno Haible  <bruno@clisp.org>
32838         frexpl: Update autoconf test.
32839         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
32840         according to changes of 2011-06-20.
32842 2011-07-31  Bruno Haible  <bruno@clisp.org>
32844         sys_utsname: Add support for Minix.
32845         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
32846         <sys/utsname.h>.
32847         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
32848         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
32850 2011-07-31  Bruno Haible  <bruno@clisp.org>
32852         strings: Add support for Minix.
32853         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
32854         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
32855         * doc/posix-headers/strings.texi: Document the Minix problem.
32857 2011-07-31  Bruno Haible  <bruno@clisp.org>
32859         wctype-h: Add support for Minix.
32860         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
32861         REPLACE_TOWLOWER.
32862         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
32863         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
32864         REPLACE_ISWCNTRL.
32866 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
32868         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
32869         This is a performance improvement for 64-bit hosts: it causes the
32870         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
32872 2011-07-31  Bruno Haible  <bruno@clisp.org>
32874         stdioext: Add support for Minix.
32875         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
32876         * lib/fpurge.c (fpurge): Likewise.
32877         * lib/freadahead.c (freadahead): Likewise.
32878         * lib/freadable.c (freadable): Likewise.
32879         * lib/freading.c (freading): Likewise.
32880         * lib/freadptr.c (freadptr): Likewise.
32881         * lib/freadseek.c (freadptrinc): Likewise.
32882         * lib/fseeko.c (rpl_fseeko): Likewise.
32883         * lib/fseterr.c (fseterr): Likewise.
32884         * lib/fwritable.c (fwritable): Likewise.
32885         * lib/fwriting.c (fwriting): Likewise.
32886         * lib/fflush.c (clear_ungetc_buffer): Update comment.
32887         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
32889 2011-07-31  Bruno Haible  <bruno@clisp.org>
32891         errno: Port to Minix.
32892         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
32893         ECONNABORTED are defined.
32894         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
32895         GNULIB_defined_ECONNABORTED): New macros.
32896         * lib/strerror-override.h (strerror_override): Test also
32897         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
32898         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
32899         ECONNABORTED.
32900         * doc/posix-headers/errno.texi: Mention the Minix problem.
32902 2011-07-31  Bruno Haible  <bruno@clisp.org>
32904         Work around declaration collisions on Minix.
32905         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
32906         defined, set REPLACE_MBSINIT.
32907         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
32908         defined, set REPLACE_MBRTOWC.
32909         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
32910         set REPLACE_MBRLEN.
32911         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
32912         defined, set REPLACE_MBSRTOWCS.
32913         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
32914         defined, set REPLACE_WCRTOMB.
32915         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
32916         defined, set REPLACE_WCSRTOMBS.
32918 2011-07-31  Bruno Haible  <bruno@clisp.org>
32920         Add support for Minix with ACK compiler.
32921         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
32922         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
32923         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
32925 2011-07-31  Bruno Haible  <bruno@clisp.org>
32927         Documentation about Minix.
32928         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
32929         * doc/glibc-headers/*.texi: Likewise.
32930         * doc/posix-functions/*.texi: Likewise.
32931         * doc/glibc-functions/*.texi: Likewise.
32933 2011-07-31  Bruno Haible  <bruno@clisp.org>
32935         snippet/warn-on-use: Fix indentation.
32936         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
32938 2011-07-25  Jim Meyering  <meyering@redhat.com>
32940         tests: test-update-copyright.sh: remove unnecessary "rm" commands
32941         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
32942         commands.
32944 2011-07-27  Jim Meyering  <meyering@redhat.com>
32946         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
32947         * top/maint.mk (gl_extract_significant_defines_): Now that
32948         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
32949         gnulib/lib/signal.in.h, and now that we recommend to
32950         define-if-undefined those two symbols in application code,
32951         we must filter them out of the "significant" list.
32952         This avoids a "make syntax-check" failure in coreutils.
32954 2011-07-26  Eric Blake  <eblake@redhat.com>
32956         warnings: add comments about previous patch
32957         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
32958         * m4/include_next.m4: Likewise.
32959         * m4/warn-on-use.m4: Likewise.
32960         * m4/warnings.m4: Likewise, and simplify use.
32961         Suggested by Stefano Lattarini.
32963         include-next, warnings: support older autoconf
32964         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
32965         AS_VAR_PUSHDEF in a way that works with older autoconf.
32966         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
32967         Reported by Daniel P. Berrange.
32969 2011-07-25  Bruno Haible  <bruno@clisp.org>
32971         fseek, ftell: Fix doc.
32972         * doc/posix-functions/fseek.texi: Reword statement about
32973         AC_SYS_LARGEFILE.
32974         * doc/posix-functions/ftell.texi: Likewise.
32976 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
32977             Bruno Haible  <bruno@clisp.org>
32979         Add dependencies to the 'largefile' module.
32980         * modules/fopen (Depends-on): Add 'largefile'.
32981         * modules/freopen (Depends-on): Likewise.
32982         * modules/fseeko (Depends-on): Likewise.
32983         * modules/ftello (Depends-on): Likewise.
32984         * modules/glob (Depends-on): Likewise.
32985         * modules/lseek (Depends-on): Likewise.
32986         * modules/lstat (Depends-on): Likewise.
32987         * modules/mkostemp (Depends-on): Likewise.
32988         * modules/mkostemps (Depends-on): Likewise.
32989         * modules/mkstemp (Depends-on): Likewise.
32990         * modules/mkstemps (Depends-on): Likewise.
32991         * modules/open (Depends-on): Likewise.
32992         * modules/openat (Depends-on): Likewise.
32993         * modules/pread (Depends-on): Likewise.
32994         * modules/pwrite (Depends-on): Likewise.
32995         * modules/scandir (Depends-on): Likewise.
32996         * modules/stat (Depends-on): Likewise.
32997         * modules/tmpfile (Depends-on): Likewise.
32998         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
32999         since the containing module now depends on the largefile module.
33000         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
33001         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
33002         off_t is fixed by gnulib.
33003         * doc/posix-functions/freopen.texi: Likewise.
33004         * doc/posix-functions/fseeko.texi: Likewise.
33005         * doc/posix-functions/fstatat.texi: Likewise.
33006         * doc/posix-functions/ftello.texi: Likewise.
33007         * doc/posix-functions/glob.texi: Likewise.
33008         * doc/posix-functions/lseek.texi: Likewise.
33009         * doc/posix-functions/lstat.texi: Likewise.
33010         * doc/posix-functions/mkstemp.texi: Likewise.
33011         * doc/posix-functions/open.texi: Likewise.
33012         * doc/posix-functions/openat.texi: Likewise.
33013         * doc/posix-functions/pread.texi: Likewise.
33014         * doc/posix-functions/pwrite.texi: Likewise.
33015         * doc/posix-functions/scandir.texi: Likewise.
33016         * doc/posix-functions/stat.texi: Likewise.
33017         * doc/posix-functions/tmpfile.texi: Likewise.
33018         * doc/glibc-functions/mkostemp.texi: Likewise.
33019         * doc/glibc-functions/mkostemps.texi: Likewise.
33020         * doc/glibc-functions/mkstemps.texi: Likewise.
33022 2011-07-25  Bruno Haible  <bruno@clisp.org>
33024         fcntl: Move AC_LIBOBJ invocation to module description.
33025         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
33026         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
33028         fcntl: Remove call-in from fchdir.m4.
33029         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
33030         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
33032         dup3: Remove potential call-in from fchdir.m4.
33033         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
33034         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
33036         dup2: Move AC_LIBOBJ invocation to module description.
33037         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
33038         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
33039         Don't invoke AC_LIBOBJ.
33040         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
33042         dup2: Remove call-in from fchdir.m4.
33043         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
33044         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
33046         fclose: Move AC_LIBOBJ invocation to module description.
33047         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
33048         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
33049         to 1.
33050         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
33052         fclose: Remove call-in from close.m4.
33053         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
33054         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
33056         close: Move AC_LIBOBJ invocation to module description.
33057         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
33058         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
33059         1.
33060         * modules/close (configure.ac): Invoke AC_LIBOBJ.
33062         close: Remove call-in from fchdir.m4.
33063         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
33064         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
33066         open: Move AC_LIBOBJ invocation to module description.
33067         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
33068         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
33069         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
33071         open: Remove call-in from fchdir.m4.
33072         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
33073         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
33075         fchdir: Start to remove gl_REPLACE_* idiom.
33076         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
33077         (gl_FUNC_FCHDIR): Invoke it.
33079 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
33081         * lib/ftell.c (ftell): Comment out cast.
33083         close: use gl_REPLACE_FCLOSE only if defined
33084         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
33085         is defined.  The close module doesn't depend on the fclose module
33086         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
33087         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00392.html>.
33088         I reproduced the problem with "./gnulib-tool --test close sys_socket".
33090 2011-07-24  Jim Meyering  <meyering@redhat.com>
33092         test-select.h: avoid warning when using gcc's -Wmissing-declarations
33093         * tests/test-select.h (test_function): Declare as "static".
33095 2011-07-24  Bruno Haible  <bruno@clisp.org>
33097         doc: Mention the effects of AC_SYS_LARGEFILE.
33098         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
33099         on this function.
33100         * doc/posix-functions/aio_error.texi: Likewise.
33101         * doc/posix-functions/aio_fsync.texi: Likewise.
33102         * doc/posix-functions/aio_read.texi: Likewise.
33103         * doc/posix-functions/aio_return.texi: Likewise.
33104         * doc/posix-functions/aio_suspend.texi: Likewise.
33105         * doc/posix-functions/aio_write.texi: Likewise.
33106         * doc/posix-functions/fgetpos.texi: Likewise.
33107         * doc/posix-functions/fopen.texi: Likewise.
33108         * doc/posix-functions/freopen.texi: Likewise.
33109         * doc/posix-functions/fsetpos.texi: Likewise.
33110         * doc/posix-functions/fstatvfs.texi: Likewise.
33111         * doc/posix-functions/ftruncate.texi: Likewise.
33112         * doc/posix-functions/ftw.texi: Likewise.
33113         * doc/posix-functions/getrlimit.texi: Likewise.
33114         * doc/posix-functions/glob.texi: Likewise.
33115         * doc/posix-functions/lio_listio.texi: Likewise.
33116         * doc/posix-functions/lockf.texi: Likewise.
33117         * doc/posix-functions/mkstemp.texi: Likewise.
33118         * doc/posix-functions/mmap.texi: Likewise.
33119         * doc/posix-functions/nftw.texi: Likewise.
33120         * doc/posix-functions/openat.texi: Likewise.
33121         * doc/posix-functions/opendir.texi: Likewise.
33122         * doc/posix-functions/posix_fadvise.texi: Likewise.
33123         * doc/posix-functions/posix_fallocate.texi: Likewise.
33124         * doc/posix-functions/pread.texi: Likewise.
33125         * doc/posix-functions/pwrite.texi: Likewise.
33126         * doc/posix-functions/readdir.texi: Likewise.
33127         * doc/posix-functions/readdir_r.texi: Likewise.
33128         * doc/posix-functions/rewinddir.texi: Likewise.
33129         * doc/posix-functions/scandir.texi: Likewise.
33130         * doc/posix-functions/seekdir.texi: Likewise.
33131         * doc/posix-functions/setrlimit.texi: Likewise.
33132         * doc/posix-functions/statvfs.texi: Likewise.
33133         * doc/posix-functions/telldir.texi: Likewise.
33134         * doc/posix-functions/tmpfile.texi: Likewise.
33135         * doc/posix-functions/truncate.texi: Likewise.
33136         * doc/glibc-functions/fallocate.texi: Likewise.
33137         * doc/glibc-functions/fstatfs.texi: Likewise.
33138         * doc/glibc-functions/fts_children.texi: Likewise.
33139         * doc/glibc-functions/fts_read.texi: Likewise.
33140         * doc/glibc-functions/getdirentries.texi: Likewise.
33141         * doc/glibc-functions/mkostemp.texi: Likewise.
33142         * doc/glibc-functions/mkostemps.texi: Likewise.
33143         * doc/glibc-functions/mkstemps.texi: Likewise.
33144         * doc/glibc-functions/preadv.texi: Likewise.
33145         * doc/glibc-functions/pwritev.texi: Likewise.
33146         * doc/glibc-functions/sendfile.texi: Likewise.
33147         * doc/glibc-functions/statfs.texi: Likewise.
33149 2011-07-24  Bruno Haible  <bruno@clisp.org>
33151         doc: Fix typo.
33152         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
33154 2011-07-24  Bruno Haible  <bruno@clisp.org>
33156         doc: Mention fsusage.
33157         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
33159 2011-07-24  Bruno Haible  <bruno@clisp.org>
33161         doc: Mention new glibc headers and functions.
33162         * doc/glibc-headers/gshadow.texi: New file.
33163         * doc/glibc-functions/endsgent.texi: New file.
33164         * doc/glibc-functions/fgetsgent.texi: New file.
33165         * doc/glibc-functions/fgetsgent_r.texi: New file.
33166         * doc/glibc-functions/getsgent.texi: New file.
33167         * doc/glibc-functions/getsgent_r.texi: New file.
33168         * doc/glibc-functions/getsgnam.texi: New file.
33169         * doc/glibc-functions/getsgnam_r.texi: New file.
33170         * doc/glibc-functions/putsgent.texi: New file.
33171         * doc/glibc-functions/setsgent.texi: New file.
33172         * doc/glibc-functions/sgetsgent.texi: New file.
33173         * doc/glibc-functions/sgetsgent_r.texi: New file.
33174         * doc/glibc-functions/malloc_info.texi: New file.
33175         * doc/glibc-functions/preadv.texi: New file.
33176         * doc/glibc-functions/pwritev.texi: New file.
33177         * doc/glibc-functions/register_printf_modifier.texi: New file.
33178         * doc/glibc-functions/register_printf_specifier.texi: New file.
33179         * doc/glibc-functions/register_printf_type.texi: New file.
33180         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
33181         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
33182         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
33183         * doc/glibc-functions/pthread_getname_np.texi: New file.
33184         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
33185         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
33186         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
33187         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
33188         * doc/glibc-functions/pthread_setname_np.texi: New file.
33189         * doc/glibc-functions/pthread_sigqueue.texi: New file.
33190         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
33191         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
33192         * doc/glibc-functions/qsort_r.texi: New file.
33193         * doc/glibc-functions/quick_exit.texi: New file.
33194         * doc/glibc-functions/syncfs.texi: New file.
33195         * doc/gnulib.texi: Include them.
33196         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
33197         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
33198         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
33199         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
33200         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
33201         * doc/glibc-functions/execvpe.texi: Likewise.
33203 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
33205         ftell: don't include <unistd.h>
33206         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
33207         guaranteed to define off_t, and the ftell module depends on the
33208         stdio module.
33210         ftell: do not assume wraparound signed arithmetic
33211         * lib/ftell.c: Include <limits.h>.
33212         (ftell): Don't assume wraparound signed arithmetic.
33214 2011-07-24  Bruno Haible  <bruno@clisp.org>
33216         close: No longer depend on module 'fclose'.
33217         * modules/close (Depends-on): Remove fclose.
33218         * NEWS: Mention the change.
33219         Suggested by Sam Steingold <sds@gnu.org>.
33221 2011-07-24  Bruno Haible  <bruno@clisp.org>
33223         fsusage: Enable large volume support on AIX >= 5.2.
33224         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
33225         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
33226         instead of STAT_STATVFS.
33227         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
33229         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
33230         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
33231         f_blocks field only on MacOS X.
33233         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
33234         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
33235         * modules/fsusage (Depends-on): Add largefile.
33237 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
33239         * README: Modernize discussion of signed integers.
33240         Assuming overflow wraparound is no longer safe.
33241         Mention ones' complement and signed magnitude.
33243 2011-07-22  Bruno Haible  <bruno@clisp.org>
33245         select tests, pselect tests: Refactor.
33246         * tests/test-select.h: New file, extracted from tests/test-select.c.
33247         (select_fn): New type.
33248         (test, do_select, do_select_nowait, do_select_wait, test_tty,
33249         test_connect_first, test_accept_first, test_pair, test_socket_pair,
33250         test_pipe): Add my_select argument.
33251         (test_function): Renamed from main. Add my_select argument.
33252         * tests/test-select.c: Move most code to tests/test-select.h. Include
33253         test-select.h.
33254         * modules/select-tests (Files): Add tests/test-select.h.
33255         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
33256         (my_select, main): New functions.
33257         * modules/pselect-tests (Files): Add tests/test-select.h,
33258         tests/macros.h, tests/signature.h.
33259         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
33260         (configure.ac): Check for <sys/wait.h>.
33262 2011-07-22  Bruno Haible  <bruno@clisp.org>
33264         sys_select tests: Check the signature of FD_*.
33265         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
33266         signature tests from here...
33267         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
33268         here.
33269         * modules/sys_select-tests (Files): Add tests/signature.h.
33271 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
33273         largefile: new module, replacing large-inode
33274         Pádraig Brady suggested this in <http://debbugs.gnu.org/9140#20>.
33275         * MODULES.html.sh: Add largefile, remove large-inode.
33276         * modules/largefile, m4/largefile.m4: New files.
33277         * modules/large-inode, m4/large-inode.m4: Remove.
33279         fsusage: port to MacOS X 10.7 with 4 TiB file systems
33280         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
33281         implementations that use only 32 bits to count blocks.
33282         On typical hosts with 1024-byte blocks, this fails with file
33283         systems as small as 4 TiB.  Problem reported by Herb Wartens
33284         <http://debbugs.gnu.org/9140> and this should also fix a similar
33285         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
33287         large-inode: New module
33288         * MODULES.html.sh: Add it.
33289         * modules/large-inode, m4/large-inode.m4: New files.
33291         extensions: Enable extensions on MacOS X 10.5 and later.
33292         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
33294 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
33296         file-has-acl: use acl_extended_file_nofollow if available
33297         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
33298         (acl_extended_file): New macro.
33299         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
33300         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
33302 2011-07-21  Bruno Haible  <bruno@clisp.org>
33304         Declare system functions in a way that works with C++.
33305         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
33306         declare fdopendir as extern "C".
33307         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
33308         declare frexpl as extern "C".
33309         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
33310         declare gai_strerror as extern "C".
33311         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
33312         programs, declare gai_strerror as extern "C".
33313         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
33314         declare getlogin_r as extern "C".
33315         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
33316         as extern "C".
33317         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
33318         declare ldexpl as extern "C".
33319         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
33320         as extern "C".
33321         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
33322         program, declare getmntinfo as extern "C".
33323         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
33324         stpncpy as extern "C".
33325         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
33326         program, declare __xpg_strerror_r as extern "C".
33327         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
33328         strndup as extern "C".
33329         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
33330         declare memset and bzero as extern "C".
33331         Reported by Sam Steingold <sds@gnu.org>.
33333 2011-07-12  Jim Meyering  <meyering@redhat.com>
33335         maint.mk: prohibit inclusion of "verify.h" without use
33336         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
33338 2011-07-19  Pádraig Brady  <P@draigBrady.com>
33340         timer-time: A new module to check for timer_settime()
33341         * m4/timer_time.m4: Check for the posix function.
33342         * modules/timer-time: Add the new module.
33343         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
33344         Mention it.
33346 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
33347             Bruno Haible  <bruno@clisp.org>
33349         pthread_sigmask: assume POSIX threads if --avoid=threadlib
33350         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
33351         not defined, assume POSIX threads and look for pthread_sigmask in
33352         $LIBS, without changing $CPPFLAGS.
33354 2011-07-19  Bruno Haible  <bruno@clisp.org>
33356         strstr: Update cross-compilation guess.
33357         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
33358         CPUs, guess no, in view of glibc
33359         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
33360         Suggested by Eric Blake. Reported by Reuben Thomas.
33362 2011-07-19  Pádraig Brady  <P@draigBrady.com>
33364         getopt-gnu: suppress core dumps from detection code
33365         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
33366         to suppress core dumps that may well occur on glibc systems.
33367         * modules/getopt-gnu: Depend on nocrash.
33369 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
33371         pthread_sigmask: ensure usleep is declared
33372         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
33373         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
33375 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
33377         doc: Document NonStop portability issues.
33378         * doc/posix-functions/sigaction.texi (sigaction):
33379         * doc/posix-headers/signal.texi (signal.h):
33380         Document NonStop.  See Joachim Schmitz in
33381         http://lists.gnu.org/r/bug-coreutils/2011-07/msg00062.html
33383 2011-07-15  Bruno Haible  <bruno@clisp.org>
33385         ffsl, ffsll: Avoid unportable behaviour.
33386         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
33388 2011-07-15  Bruno Haible  <bruno@clisp.org>
33390         ffs: More tests.
33391         * tests/test-ffs.c (NBITS): New macro.
33392         (main): Add more tests.
33393         * tests/test-ffsl.c (NBITS): New macro.
33394         (main): Add more tests.
33395         * tests/test-ffsll.c (NBITS): New macro.
33396         (main): Add more tests.
33398 2011-07-15  Eric Blake  <eblake@redhat.com>
33400         ffsl, ffsll: new modules
33401         * modules/ffsl: New file.
33402         * modules/ffsll: Likewise.
33403         * m4/ffsl.m4: Likewise.
33404         * m4/ffsll.m4: Likewise.
33405         * lib/ffsl.c: Likewise.
33406         * lib/ffsl.h: Likewise.
33407         * lib/ffsll.c: Likewise.
33408         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
33409         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
33410         * modules/string (Makefile.am): Substitute witnesses.
33411         * lib/strings.in.h (ffsl, ffsll): Declare.
33412         * modules/ffsl-tests: New test file.
33413         * modules/ffsll-tests: Likewise.
33414         * tests/test-ffsl.c: Likewise.
33415         * tests/test-ffsll.c: Likewise.
33416         * MODULES.html.sh (Integer arithmetic functions): Mention it.
33417         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
33418         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
33420         ffs: fix m4 prerequisite
33421         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
33423         ffs: avoid undefined behavior
33424         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
33425         * tests/test-ffs.c (naive, main): Avoid signed shifts.
33426         Reported by Bruno Haible.
33428 2011-07-12  Bruno Haible  <bruno@clisp.org>
33430         pthread_sigmask: Rely on module 'threadlib'.
33431         * modules/pthread_sigmask (Depends-on): Add threadlib.
33432         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
33433         is defined.
33435 2011-07-12  Bruno Haible  <bruno@clisp.org>
33437         regex: Depend on module 'strcase'.
33438         * modules/regex (Depends-on): Add strcase, for strcasecmp().
33440 2011-07-12  Jim Meyering  <meyering@redhat.com>
33442         warn-on-use: fix typo in file name
33443         * modules/snippet/warn-on-use (Files): Correct file name:
33444         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
33446 2011-07-12  Bruno Haible  <bruno@clisp.org>
33448         strings: Document module.
33449         * doc/posix-headers/strings.texi: Mention module 'strings'.
33451 2011-07-12  Bruno Haible  <bruno@clisp.org>
33453         Rename module '_Noreturn' to 'snippet/_Noreturn'.
33454         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
33455         (Files, Makefile.am): Update.
33456         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
33457         * modules/stdlib (Depends-on): Update.
33459 2011-07-12  Bruno Haible  <bruno@clisp.org>
33461         * NEWS: Mention the changes.
33463         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
33464         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
33465         (Files, Makefile.am): Update.
33466         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
33467         * modules/arpa_inet (Depends-on): Update.
33468         * modules/ctype (Depends-on): Update.
33469         * modules/dirent (Depends-on): Update.
33470         * modules/fcntl-h (Depends-on): Update.
33471         * modules/glob (Depends-on): Update.
33472         * modules/iconv-h (Depends-on): Update.
33473         * modules/inttypes-incomplete (Depends-on): Update.
33474         * modules/langinfo (Depends-on): Update.
33475         * modules/locale (Depends-on): Update.
33476         * modules/math (Depends-on): Update.
33477         * modules/netdb (Depends-on): Update.
33478         * modules/poll-h (Depends-on): Update.
33479         * modules/pty (Depends-on): Update.
33480         * modules/search (Depends-on): Update.
33481         * modules/signal (Depends-on): Update.
33482         * modules/spawn (Depends-on): Update.
33483         * modules/stdio (Depends-on): Update.
33484         * modules/stdlib (Depends-on): Update.
33485         * modules/string (Depends-on): Update.
33486         * modules/strings (Depends-on): Update.
33487         * modules/sys_file (Depends-on): Update.
33488         * modules/sys_ioctl (Depends-on): Update.
33489         * modules/sys_select (Depends-on): Update.
33490         * modules/sys_socket (Depends-on): Update.
33491         * modules/sys_stat (Depends-on): Update.
33492         * modules/sys_time (Depends-on): Update.
33493         * modules/sys_times (Depends-on): Update.
33494         * modules/sys_utsname (Depends-on): Update.
33495         * modules/sys_wait (Depends-on): Update.
33496         * modules/termios (Depends-on): Update.
33497         * modules/time (Depends-on): Update.
33498         * modules/unistd (Depends-on): Update.
33499         * modules/wchar (Depends-on): Update.
33500         * modules/wctype-h (Depends-on): Update.
33501         * MODULES.html.sh (Support for building libraries and executables):
33502         Update.
33504         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
33505         * modules/snippet/unused-parameter: Renamed from
33506         modules/unused-parameter.
33507         (Files, Makefile.am): Update.
33508         * build-aux/snippet/unused-parameter.h: Renamed from
33509         build-aux/unused-parameter.h.
33510         * modules/selinux-h (Depends-on): Update.
33511         * modules/unistr/base (Depends-on): Update.
33512         * MODULES.html.sh (Core language properties): Update.
33514         Rename module 'link-warning' to 'snippet/link-warning'.
33515         * modules/snippet/link-warning: Renamed from modules/link-warning.
33516         (Files, Makefile.am): Update.
33517         * build-aux/snippet/link-warning.h: Renamed from
33518         build-aux/link-warning.h.
33519         * MODULES.html.sh (Support for building libraries and executables):
33520         Update.
33522         Rename module 'c++defs' to 'snippet/c++defs'.
33523         * modules/snippet/c++defs: Renamed from modules/c++defs.
33524         (Files, Makefile.am): Update.
33525         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
33526         * modules/arpa_inet (Depends-on): Update.
33527         * modules/ctype (Depends-on): Update.
33528         * modules/dirent (Depends-on): Update.
33529         * modules/fcntl-h (Depends-on): Update.
33530         * modules/glob (Depends-on): Update.
33531         * modules/iconv-h (Depends-on): Update.
33532         * modules/langinfo (Depends-on): Update.
33533         * modules/locale (Depends-on): Update.
33534         * modules/math (Depends-on): Update.
33535         * modules/netdb (Depends-on): Update.
33536         * modules/poll-h (Depends-on): Update.
33537         * modules/pty (Depends-on): Update.
33538         * modules/search (Depends-on): Update.
33539         * modules/signal (Depends-on): Update.
33540         * modules/spawn (Depends-on): Update.
33541         * modules/stdio (Depends-on): Update.
33542         * modules/stdlib (Depends-on): Update.
33543         * modules/string (Depends-on): Update.
33544         * modules/strings (Depends-on): Update.
33545         * modules/sys_ioctl (Depends-on): Update.
33546         * modules/sys_select (Depends-on): Update.
33547         * modules/sys_socket (Depends-on): Update.
33548         * modules/sys_stat (Depends-on): Update.
33549         * modules/sys_time (Depends-on): Update.
33550         * modules/sys_wait (Depends-on): Update.
33551         * modules/termios (Depends-on): Update.
33552         * modules/time (Depends-on): Update.
33553         * modules/unistd (Depends-on): Update.
33554         * modules/wchar (Depends-on): Update.
33555         * modules/wctype-h (Depends-on): Update.
33557         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
33558         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
33559         (Files, Makefile.am): Update.
33560         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
33561         * modules/argv-iter (Depends-on): Update.
33562         * modules/arpa_inet (Depends-on): Update.
33563         * modules/dirent (Depends-on): Update.
33564         * modules/fcntl-h (Depends-on): Update.
33565         * modules/fnmatch (Depends-on): Update.
33566         * modules/getopt-posix (Depends-on): Update.
33567         * modules/glob (Depends-on): Update.
33568         * modules/iconv-h (Depends-on): Update.
33569         * modules/inttypes-incomplete (Depends-on): Update.
33570         * modules/locale (Depends-on): Update.
33571         * modules/math (Depends-on): Update.
33572         * modules/netdb (Depends-on): Update.
33573         * modules/search (Depends-on): Update.
33574         * modules/signal (Depends-on): Update.
33575         * modules/spawn (Depends-on): Update.
33576         * modules/stdio (Depends-on): Update.
33577         * modules/stdlib (Depends-on): Update.
33578         * modules/string (Depends-on): Update.
33579         * modules/strings (Depends-on): Update.
33580         * modules/sys_socket (Depends-on): Update.
33581         * modules/sys_stat (Depends-on): Update.
33582         * modules/sys_time (Depends-on): Update.
33583         * modules/sys_times (Depends-on): Update.
33584         * modules/sys_utsname (Depends-on): Update.
33585         * modules/time (Depends-on): Update.
33586         * modules/unistd (Depends-on): Update.
33587         * modules/wchar (Depends-on): Update.
33588         * MODULES.html.sh (Support for building libraries and executables):
33589         Update.
33591 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
33593         Improvements on _Noreturn and related modules.
33595         modules/_Exit-tests: test _Noreturn too
33596         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
33597         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
33598         (main): Use them.
33600         stdnoreturn, stdnoreturn-tests: remove modules
33601         They're not needed here and a bit premature for use elsewhere.  See
33602         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00209.html>.
33603         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
33604         * tests/test-stdnoreturn.c: Remove files.
33605         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
33606         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
33607         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
33608         and using noreturn.
33609         * modules/openat, modules/sigpipe-die, modules/xalloc:
33610         * modules/xmemdup0, modules/xstrtol:
33611         Remove dependency on stdnoreturn.
33613         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
33614         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
33615         Reparenthesize to avoid GCC warning.
33616         Support Microsoft's syntax.
33617         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
33619         _Noreturn-tests: remove module
33620         * modules/_Noreturn-tests: Remove.
33621         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
33622         * tests/test-_Noreturn.c: Remove.
33623         * tests/test-stdnoreturn.c: Merge from the old
33624         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
33626 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
33628         _Noreturn, stdnoreturn, and related modules.
33630         * top/maint.mk: Adjust to new noreturn support.
33631         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
33632         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
33634         xalloc: use stdnoreturn.h
33635         * lib/xalloc.h: Include <stdnoreturn.h>.
33636         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
33637         * modules/xalloc (Depends-on): Add stdnoreturn.
33639         xstrtol: use stdnoreturn.h
33640         * lib/xstrtol.h: Include <stdnoreturn.h>.
33641         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
33642         * modules/xstrtol (Depends-on): Add stdnoreturn.
33644         xmemdup0: use stdnoreturn.h
33645         * lib/xmemdup0.h: Include <stdnoreturn.h>.
33646         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
33647         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
33649         sigpipe-die: use stdnoreturn.h
33650         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
33651         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
33652         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
33654         openat: use stdnoreturn.h
33655         * lib/openat.h: Include <stdnoreturn.h>.
33656         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
33657         * modules/openat (Depends-on): Add stdnoreturn.
33659         * lib/openat-die.c (openat_save_fail): Modernize comment.
33661         * lib/xalloc-die.c (xalloc_die): Modernize comment.
33663         * lib/glthread/thread.h: Modernize comment.
33665         obstack: use _Noreturn
33666         * lib/obstack.c (__attribute__): Remove macro.
33667         (print_and_abort): Use _Noreturn.
33669         c-stack: use _Noreturn
33670         * lib/c-stack.c (die, overflow_handler, segv_handler):
33671         Use _Noreturn rather than __attribute__((noreturn)).
33673         argmatch-tests, exclude_tests: use _Noreturn
33674         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
33675         Remove.
33676         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
33678         stdlib: use _Noreturn
33679         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
33680         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
33681         * modules/stdlib (Depends-on): Add _Noreturn.
33682         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
33684         stdnoreturn-tests: new module
33685         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
33687         stdnoreturn: new module
33688         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
33689         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
33691         _Noreturn-tests: new module
33692         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
33694         _Noreturn: new module
33695         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
33696         New section, mentioning it.
33697         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
33699         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
33701 2011-07-11  Eric Blake  <eblake@redhat.com>
33703         ffs: new module
33704         * modules/ffs: New file.
33705         * m4/ffs.m4: Likewise.
33706         * lib/ffs.c: Likewise.
33707         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
33708         * modules/strings (Makefile.am): Substitute witness.
33709         (Depends-on): Add c++defs.
33710         * lib/strings.in.h (ffs): Declare.
33711         * modules/ffs-tests: New test file.
33712         * tests/test-ffs.c: Test new module.
33713         * MODULES.html.sh (Integer arithmetic functions): Mention it.
33714         * doc/posix-functions/ffs.texi (ffs): Likewise.
33716         regex: avoid compiler warning
33717         * lib/regex.c (includes): Include <strings.h>, for use of
33718         strcasecmp in regcomp.c.
33719         Reported by Joachim Schmitz.
33721 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
33723         stdint: respect system's intmax_t if INTMAX_MAX
33724         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
33725         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
33726         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
33727         long but int64_t is long long, and where we will clash with the
33728         system intmax_t if we override it.  See
33729         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00160.html>.
33730         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
33731         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
33732         similarly for UINTMAX_C.
33734 2011-07-08  Bruno Haible  <bruno@clisp.org>
33736         pthread_sigmask tests: Avoid a compiler warning.
33737         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
33738         non-zero.
33740         sigprocmask tests: A better way to avoid a compiler warning.
33741         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
33742         (main): Complain if system() returns non-zero.
33743         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
33745 2011-07-08  Bruno Haible  <bruno@clisp.org>
33747         pthread_sigmask: Work around IRIX bug.
33748         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
33749         bug.
33750         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
33751         there may be unblocked pending signals.
33752         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
33754 2011-07-08  Bruno Haible  <bruno@clisp.org>
33756         pthread_sigmask: Work around Cygwin bug.
33757         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
33758         bug.
33759         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
33760         the system's pthread_sigmask function.
33761         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
33763 2011-07-08  Bruno Haible  <bruno@clisp.org>
33765         pthread_sigmask: Work around bug in single-threaded implementation.
33766         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
33767         FreeBSD, HP-UX, Solaris bug.
33768         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
33769         * lib/pthread_sigmask.c: Include <stddef.h>.
33770         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
33771         the system's pthread_sigmask function.
33772         * modules/pthread_sigmask (configure.ac): Invoke
33773         gl_PREREQ_PTHREAD_SIGMASK.
33774         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
33775         HP-UX, Solaris.
33777 2011-07-08  Eric Blake  <eblake@redhat.com>
33779         test-sigprocmask: avoid compiler warning
33780         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
33781         * tests/test-sigprocmask.c (main): Use it to silence warning.
33782         Reported by Jim Meyering.
33784         test-snprintf: avoid compiler warning
33785         * tests/test-snprintf.c (main): Avoid shadowed declaration.
33786         * tests/test-vsnprintf.c (main): Likewise.
33787         Reported by Jim Meyering.
33789 2011-07-08  Bruno Haible  <bruno@clisp.org>
33791         Tests for module 'pthread_sigmask'.
33792         * modules/pthread_sigmask-tests: New file.
33793         * tests/test-pthread_sigmask1.c: New file, based on
33794         tests/test-sigprocmask.c.
33795         * tests/test-pthread_sigmask2.c: New file.
33797 2011-07-08  Jim Meyering  <meyering@redhat.com>
33799         test-getopt.h: avoid warning about an unused variable
33800         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
33802 2011-07-07  Jim Meyering  <meyering@redhat.com>
33804         maint: reduce list of files exempt from sc_prohibit_leading_TABs
33805         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
33806         now that it no longer contains leading TABs.
33807         Remove unused "url=FIXME" statement.
33809 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
33811         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
33812         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
33813         When gl_THREADLIB is not in use, assume that the POSIX sematics
33814         are desired.  This is better for Emacs, which uses POSIX semantics
33815         on GNUish and/or POSIXish platforms, and does not use threads at
33816         all otherwise.
33818         pthread_sigmask: fix typo when testing for libraries
33819         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
33820         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
33822 2011-07-08  Eric Blake  <eblake@redhat.com>
33824         fts: introduce FTS_NOATIME
33825         * lib/fts_.h (FTS_NOATIME): New bit flag.
33826         (FTS_OPTIONMASK): Adjust.
33827         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
33828         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
33830 2011-07-08  Bruno Haible  <bruno@clisp.org>
33832         Tests for module 'thread'.
33833         * modules/thread-tests: New file.
33834         * tests/test-thread_self.c: New file.
33835         * tests/test-thread_create.cc: New file.
33837 2011-07-08  Bruno Haible  <bruno@clisp.org>
33839         thread: Avoid gcc warnings when using gl_thread_self().
33840         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
33841         'void *'.
33842         (gl_thread_self_pointer): Update.
33844 2011-07-07  Bruno Haible  <bruno@clisp.org>
33846         signal-c++-tests: Check declaration of pthread_sigmask.
33847         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
33848         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
33849         $(LIB_PTHREAD_SIGMASK).
33851 2011-07-07  Bruno Haible  <bruno@clisp.org>
33853         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
33854         * lib/signal.in.h (pthread_sigmask): Override if
33855         REPLACE_PTHREAD_SIGMASK is 1.
33856         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
33857         REPLACE_PTHREAD_SIGMASK.
33858         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
33859         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
33860         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
33861         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
33862         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
33864 2011-07-07  Bruno Haible  <bruno@clisp.org>
33866         pthread_sigmask: Ensure declaration in <signal.h>.
33867         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
33868         include <pthread.h>.
33869         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
33870         problem.
33872 2011-07-07  Bruno Haible  <bruno@clisp.org>
33874         pthread_sigmask: Document the module.
33875         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
33877 2011-07-07  Bruno Haible  <bruno@clisp.org>
33879         pthread_sigmask: Follow gnulib conventions.
33880         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
33881         gl_PTHREAD_SIGMASK.
33882         * modules/pthread_sigmask (configure.ac): Update.
33884 2011-07-07  Bruno Haible  <bruno@clisp.org>
33886         pthread_sigmask: Make declaration C++ safe.
33887         * lib/signal.in.h: In two special conditions, just do an #include_next.
33888         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
33889         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
33890         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
33891         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
33892         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
33893         not REPLACE_PTHREAD_MASK.
33894         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
33895         not REPLACE_PTHREAD_MASK.
33896         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
33898 2011-07-07  Bruno Haible  <bruno@clisp.org>
33900         pthread_sigmask: Fix return value.
33901         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
33902         * lib/pthread_sigmask.c: New file.
33903         * modules/pthread_sigmask (Files): Add it.
33904         (configure.ac): Invoke AC_LIBOBJ.
33906 2011-07-07  Eric Blake  <eblake@redhat.com>
33908         getopt: more portable argv creation
33909         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
33910         const, use char arrays rather than strings.
33911         Suggested by Paul Eggert.
33913 2011-07-07  Bruno Haible  <bruno@clisp.org>
33915         Tests for module 'sigprocmask'.
33916         * modules/sigprocmask-tests: New file.
33917         * tests/test-sigprocmask.c: New file.
33919 2011-07-07  Bruno Haible  <bruno@clisp.org>
33921         float tests: Tweak.
33922         * tests/test-float.c (main): Tweak skip message.
33924 2011-07-07  Eric Blake  <eblake@redhat.com>
33926         getopt: avoid compiler warning during configure
33927         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
33928         assigning string literals to non-const pointer.
33930         getopt-gnu: avoid crash in glibc getopt
33931         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
33932         * tests/test-getopt.h (test_getopt): Enhance test.
33933         * tests/test-getopt_long.h (test_getopt_long): Likewise.
33934         * doc/posix-functions/getopt.texi (getopt): Document it.
33935         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
33936         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33937         Likewise.
33939 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
33941         getopt: handle W; without long options in getopt [BZ #12922]
33942         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
33943         but no long options are defined, just return 'W'.
33945 2011-07-07  Bruno Haible  <bruno@clisp.org>
33947         Avoid literal tabs.
33948         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
33949         variable containing a tab instead of a literal tab.
33950         Reported by Jim Meyering.
33952 2011-07-07  Bruno Haible  <bruno@clisp.org>
33954         Comments.
33955         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
33957 2011-07-06  Bruno Haible  <bruno@clisp.org>
33959         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
33960         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
33961         <winsock2.h>.
33962         (rpl_fd_isset, FD_ISSET): New definitions, copied from
33963         lib/sys_socket.in.h.
33964         (close, gethostname): Hide declarations from <winsock2.h>.
33965         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
33966         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
33967         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
33968         (select): Don't override if gnulib's <sys/select.h> was already
33969         included.
33970         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
33971         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
33972         setsockopt, shutdown, select): Tweak indentation.
33974 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
33976         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
33977         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
33978         in an application that does not use the sys_select module.
33980 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
33982         poll: do not return 0 on timeout=-1
33983         * lib/poll.c: Loop with yield if no events occurred.
33985 2011-07-06  Eric Blake  <eblake@redhat.com>
33987         pthread_sigmask: always replace when not using pthread
33988         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
33989         replacement when using some threading other than pthread.  Fix
33990         logic bug.
33992 2011-07-06  Bruno Haible  <bruno@clisp.org>
33994         Comments.
33995         * m4/printf.m4: Update comments about mingw.
33997 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
33999         sys_select: define sigset_t more portably
34000         * lib/sys_select.in.h: Always include <sys/types.h>, since
34001         we now need sigset_t and mingw defines it there.
34002         Include <signal.h> before split inclusion guard, to avoid
34003         mishaps on Solaris, whose <signal.h> eventually includes us.
34004         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
34005         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
34006         which come from ...
34007         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
34008         gl_CHECK_TYPE_SIGSET_T.
34009         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
34010         does the real work.
34011         * modules/sys_select (Depends-on): Add 'signal'.
34013         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
34014         Suggested by Bruno Haible.
34016         pselect: Use pthread_sigmask, not sigprocmask.
34017         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
34018         multithreaded apps better than sigprocmask does.
34019         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
34020         sigprocmask directly.
34022 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
34024         * lib/pselect.c (pselect): Use plain name, without "rpl_".
34025         Don't #undef,  since we don't need any underlying pselect.
34026         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
34027         (Depends-on): Add select.
34028         (Link): Add $(LIBSOCKET).
34029         These changes suggested by Bruno Haible.
34031         pselect: document better
34032         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
34033         * doc/posix-functions/pselect.texi (pselect): Document new module.
34035         pthread_sigmask: new module
34036         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
34037         * doc/posix-functions/pthread_sigmask.texi: Document new module.
34038         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
34039         This is done only as a macro; I don't know how well that'll
34040         work for C++.  Move <sys/types.h> include before the include_next,
34041         to avoid mishap on Solaris.
34042         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
34043         * modules/signal (Makefile.am): Substitute the check's results.
34044         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
34046         test-pselect: new module
34047         * modules/pselect-tests, tests/test-pselect.c: New files.
34048         * tests/test-select.c, tests/test-sys_select-c++.cc:
34049         If TEST_PSELECT is defined, test pselect instead of testing select.
34051         * tests/test-sys_select.c (sigset_t): Test for it, too.
34052         Suggested by Bruno Haible.
34054 2011-07-05  Eric Blake  <eblake@redhat.com>
34056         snprintf: guarantee %1$d, for libintl
34057         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
34058         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
34059         * doc/posix-functions/snprintf.texi (snprintf): Update.
34060         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
34061         * tests/test-snprintf.c (main): Enhance test.
34062         * tests/test-vsnprintf.c (main): Likewise.
34064 2011-07-05  Jim Meyering  <meyering@redhat.com>
34066         maint: exempt stdio-read.c and stdio-write.c from the cppi check
34067         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
34068         per Bruno's request, to accommodate this idiom (no space after "#")
34069         even when the function is inside an #if block:
34070         char *
34071         gets (char *s)
34072         #undef gets
34073         {
34074           ...
34075         }
34077 2011-07-04  Jim Meyering  <meyering@redhat.com>
34079         maint: indent with spaces, not TABs, and add a rule to check this
34080         * tests/test-userspec.c: Indent with spaces, not TABs.
34081         * tests/test-argp.c: Likewise.
34082         * tests/test-c-stack2.sh: Likewise.
34083         * tests/test-parse-duration.sh: Likewise
34084         * m4/strtod.m4: Likewise.
34085         * m4/alloca.m4: Likewise.
34086         * m4/pselect.m4: Likewise.
34087         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
34089 2011-07-03  Jim Meyering  <meyering@redhat.com>
34091         maint.mk: correct omissions in prohibit_argmatch_without_use check
34092         This rule would mistakenly report that argmatch.h is included without
34093         use even when both the argmatch and invalid_arg macro were used.
34094         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
34095         of argmatch and invalid_arg.
34097 2011-07-03  Bruno Haible  <bruno@clisp.org>
34099         Comments about EINTR.
34100         * lib/safe-read.h: Explain the purpose of this module.
34101         * lib/safe-write.h: Likewise.
34102         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
34103         module.
34104         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
34105         module.
34106         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34108 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
34110         xnanosleep: Rewrite to use new dtotimespec module.
34111         It has the conversion code that used to be in xnanosleep.
34112         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
34113         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
34114         (TIME_T_MAX): Remove.
34115         (xnanosleep): Rewrite in terms of dtotimespec.
34116         * modules/xnanosleep (Depends-on): Add dtotimespec.
34117         Remove intprops, stdbool.
34119         timespec-add, timespec-sub: new modules
34120         * lib/timespec.h (timespec_add, timespec_sub): New decls.
34121         * lib/timespec-add.c, lib/timespec-sub.c:
34122         * modules/timespec-add, modules/timespec-sub: New files.
34124         dtotimespec: new module
34125         * lib/timespec.h (dtotimespec): New decl.
34126         * lib/dtotimespec.c, modules/dtotimespec: New files.
34128         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
34130         pselect: new module
34131         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
34132         (pselect): New decls.
34133         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
34134         since the standard pselect decl uses 'restrict'.
34135         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
34136         HAVE_PSELECT, REPLACE_PSELECT.
34137         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
34138         HAVE_PSELECT, REPLACE_PSELECT.
34139         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
34141         sys_select: don't depend on sys_socket
34142         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
34143         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00358.html>.
34144         This fix works on GNU and GNU-like platforms, but has not been tested
34145         on native Windows.
34146         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
34147         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
34148         gl_HEADER_SYS_SOCKET.
34149         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
34150         gl_PREREQ_SYS_H_WINSOCK2.
34152 2011-06-29  Eric Blake  <eblake@redhat.com>
34154         pipe2: fix C89 compile problem
34155         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
34156         Reported by Bruno Haible.
34158         pipe, pipe2: don't corrupt fd on error
34159         * lib/pipe.c (pipe): Leave fd unchanged on error.
34160         * lib/pipe2.c (pipe2): Likewise.
34161         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
34162         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
34164 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
34166         mmap-anon: do not use regular expressions inadvertently
34167         * m4/mmap-anon.m4: Remove trailing period from strings sought
34168         in the output.
34170 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
34172         nanosleep: fix integer overflow problem
34173         * lib/nanosleep.c (my_usleep): Don't assume signed integer
34174         arithmetic wraps around on overflow.
34176         nanosleep: simplify carrying
34177         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
34178         first call to the underyling nanosleep, not for the last one.
34179         This doesn't fix any bugs, but it simplifies the computation of
34180         the remaining delay.  Found while auditing integer overflow issues.
34182         dup2: remove test for existence of fcntl
34183         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
34184         "#if HAVE_FCNTL", in the configure-time test program.
34185         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
34186         and therefore speeds up "configure" a bit.  Found while
34187         adding the dup2 module to Emacs.
34189 2011-06-24  Eric Blake  <eblake@redhat.com>
34191         maint.mk: enhance useless header checks
34192         * top/maint.mk (_sc_header_without_use): Check both include
34193         styles.
34194         (sc_prohibit_assert_without_use)
34195         (sc_prohibit_close_stream_without_use)
34196         (sc_prohibit_getopt_without_use)
34197         (sc_prohibit_quotearg_without_use)
34198         (sc_prohibit_quote_without_use)
34199         (sc_prohibit_long_options_without_use)
34200         (sc_prohibit_inttostr_without_use)
34201         (sc_prohibit_ignore_value_without_use)
34202         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
34203         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
34204         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
34205         (sc_prohibit_hash_pjw_without_use)
34206         (sc_prohibit_safe_read_without_use)
34207         (sc_prohibit_argmatch_without_use)
34208         (sc_prohibit_canonicalize_without_use)
34209         (sc_prohibit_root_dev_ino_without_use)
34210         (sc_prohibit_openat_without_use)
34211         (sc_prohibit_c_ctype_without_use)
34212         (sc_prohibit_signal_without_use)
34213         (sc_prohibit_stdio--_without_use)
34214         (sc_prohibit_stdio-safer_without_use)
34215         (sc_prohibit_strings_without_use)
34216         (sc_prohibit_intprops_without_use)
34217         (sc_prohibit_stddef_without_use)
34218         (sc_prohibit_xfreopen_without_use): Update clients.
34220 2011-06-24  Jim Meyering  <meyering@redhat.com>
34222         syntax-check: keep one maint.mk rule in sync with its header
34223         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
34224         of the bug Eric has just fixed, with today's commit 25e4c2ec.
34225         I prefer to avoid temporary files here, so use <(...), but that
34226         is not supported by /bin/sh, so...
34227         (SHELL): Define to /bin/bash.
34229 2011-06-24  Eric Blake  <eblake@redhat.com>
34231         maint.mk: update sc_prohibit_intprops_without_use
34232         * top/maint.mk (_intprops_names): Match recent changes.
34234 2011-06-24  Bruno Haible  <bruno@clisp.org>
34236         strerror-override: No-op tweak.
34237         * lib/strerror-override.h (strerror_override): Reorder conditions,
34238         for consistency with lib/strerror-override.c.
34240 2011-06-23  Eric Blake  <eblake@redhat.com>
34242         maint.mk: test further PATH_MAX issues
34243         * top/maint.mk (sc_prohibit_path_max_array): Rename...
34244         (sc_prohibit_path_max_allocation): ...and also test alloca.
34245         Suggested by Jim Meyering.
34247 2011-06-22  Eric Blake  <eblake@redhat.com>
34249         maint.mk: add syntax-check to avoid char[PATH_MAX]
34250         * top/maint.mk (sc_prohibit_path_max_array): New rule.
34252         stat: be robust to PATH_MAX definition
34253         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
34254         * modules/stat (Depends-on): Add verify.
34256         link: work around IRIX bug
34257         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
34258         * lib/link.c (rpl_link): Work around it.
34259         * tests/test-link.h (test_link): Enhance test.
34260         * doc/posix-functions/link.texi (link): Document the bug.
34262         getopt: silence clang warning
34263         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
34264         dereference.
34265         Reported by Gustavo Martin Domato.
34267 2011-06-22  Jim Meyering  <meyering@redhat.com>
34269         bootstrap: do not insert a blank line into each .gitignore file
34270         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
34272 2011-06-21  Eric Blake  <eblake@redhat.com>
34274         perror: test for output mismatch
34275         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
34276         perror on IRIX.
34278         strerror_r: fix OpenBSD behavior on out-of-range
34279         * lib/strerror_r.c (strerror_r): Always use maximal string.
34280         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
34282         strerror_r: fix OpenBSD behavior on 0
34283         * lib/strerror-override.c (strerror_override): Also override 0
34284         when needed.
34285         * lib/strerror-override.h (strerror_override): Likewise.
34286         * lib/strerror.c (strerror): Simplify, now that 0 override is done
34287         earlier.
34288         * lib/strerror_r.c (strerror_r): Likewise.
34289         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
34290         behavior...
34291         (gl_FUNC_STRERROR_0): ...into new macro.
34292         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
34293         is overridden.
34294         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
34295         * modules/strerror-override (Files): Add strerror.m4.
34296         (configure.ac): Also provide override for 0 when needed.
34297         * doc/posix-functions/strerror.texi (strerror): Document this.
34298         * doc/posix-functions/perror.texi (perror): Likewise.
34300         perror: adjust array size
34301         * modules/perror (Depends-on): Add strerror-override.
34302         * lib/perror.c (perror): Use it to avoid magic number.
34304         strerror-override: reduce size
34305         * lib/strerror-override.c (strerror_override): Use fewer lines.
34307 2011-06-20  Bruno Haible  <bruno@clisp.org>
34309         pathmax: Ensure correct value for PATH_MAX on HP-UX.
34310         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
34312 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
34314         alloca: port to compilers that can optimize like GCC 4.6.0
34315         * lib/alloca.c (find_stack_direction): New signature, taken from
34316         Autoconf git.  This works with GCC 4.6.0.  This code should never
34317         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
34318         be used with other compilers that optimize as well as GCC 4.6.0 does.
34319         (alloca): Adjust to new signature.
34320         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
34321         New macro, which patches Autoconf in a similar way.
34323         c-stack: stop worrying about stack direction
34324         * lib/c-stack.c (find_stack_direction): Remove.
34325         (segv_handler): Don't worry about stack direction growth, as it's
34326         too much of a pain to configure this correctly, given how compilers
34327         are optimizing-away our stack-growth detection code.  Instead, assume
34328         that any access to just before or just after the stack is OK.
34329         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
34330         Don't require AC_FUNC_ALLOCA; no longer needed.
34332 2011-06-20  Eric Blake  <eblake@redhat.com>
34334         test-stat: don't allocate PATH_MAX bytes
34335         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
34336         PATH_MAX-sized buffer.
34337         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
34338         * modules/stat-tests (Depends-on): Likewise.
34339         * tests/test-fstatat.c (includes): Drop pathmax.h.
34340         * tests/test-stat.c (includes): Likewise.
34341         Reported by Bruno Haible.
34343 2011-06-20  Bruno Haible  <bruno@clisp.org>
34345         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
34346         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
34347         * lib/float.c: New file.
34348         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
34349         REPLACE_FLOAT_LDBL.
34350         * modules/float (Files): Add lib/float.c.
34351         (configure.ac): Invoke AC_LIBOBJ.
34352         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
34354 2011-06-20  Bruno Haible  <bruno@clisp.org>
34356         Tests for module 'float'.
34357         * modules/float-tests: New file.
34358         * tests/test-float.c: New file.
34360 2011-06-19  Bruno Haible  <bruno@clisp.org>
34362         isinf: Coding style.
34363         * lib/isinf.c: Use GNU coding style.
34365 2011-06-19  Bruno Haible  <bruno@clisp.org>
34367         linkat test: Avoid test failure on AIX 7.1.
34368         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
34369         * tests/test-link.h (test_link): Likewise.
34371 2011-06-19  Bruno Haible  <bruno@clisp.org>
34373         pread test: Avoid test failure on OpenBSD 4.9.
34374         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
34376 2011-06-19  Bruno Haible  <bruno@clisp.org>
34378         sprintf-posix: Fix test failure on AIX 7.1.
34379         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
34380         * doc/posix-functions/dprintf.texi: Mention limited precision problem
34381         on AIX.
34382         * doc/posix-functions/fprintf.texi: Likewise.
34383         * doc/posix-functions/printf.texi: Likewise.
34384         * doc/posix-functions/snprintf.texi: Likewise.
34385         * doc/posix-functions/sprintf.texi: Likewise.
34386         * doc/posix-functions/vdprintf.texi: Likewise.
34387         * doc/posix-functions/vfprintf.texi: Likewise.
34388         * doc/posix-functions/vprintf.texi: Likewise.
34389         * doc/posix-functions/vsnprintf.texi: Likewise.
34390         * doc/posix-functions/vsprintf.texi: Likewise.
34392 2011-06-19  Bruno Haible  <bruno@clisp.org>
34394         roundl-ieee: Fix test failure on AIX 7.1.
34395         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
34396         * doc/posix-functions/roundl.texi: Mention problem with negative
34397         arguments.
34399 2011-06-19  Bruno Haible  <bruno@clisp.org>
34401         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
34402         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
34403         * doc/posix-functions/round.texi: Mention problem with negative
34404         arguments.
34405         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
34407 2011-06-19  Bruno Haible  <bruno@clisp.org>
34409         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
34410         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
34411         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
34412         * doc/posix-functions/roundf.texi: Mention problem with negative
34413         arguments.
34414         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
34416 2011-06-19  Bruno Haible  <bruno@clisp.org>
34418         ceilf-ieee: Work around bug on MacOS X 10.5.
34419         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
34421         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
34422         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
34423         IEEE compliant, avoid compiler optimizations.
34424         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
34425         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
34426         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
34427         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
34428         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
34429         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
34430         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
34431         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
34432         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
34433         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
34435 2011-06-19  Bruno Haible  <bruno@clisp.org>
34437         ceilf-ieee: Work around bug on AIX 7.1.
34438         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
34439         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
34441 2011-06-19  Bruno Haible  <bruno@clisp.org>
34443         ceil-ieee: Work around bug on AIX 7.1.
34444         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
34445         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
34447 2011-06-18  Bruno Haible  <bruno@clisp.org>
34449         fsync test: Avoid test failure on MacOS X and AIX.
34450         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
34451         EINVAL.
34453 2011-06-18  Bruno Haible  <bruno@clisp.org>
34455         openat, fdopendir tests: Fix link errors.
34456         * modules/openat-tests (Depends-on): Add progname.
34457         * modules/fdopendir-tests (Depends-on): Likewise.
34458         * tests/test-fchownat.c: Include progname.h.
34459         (main): Call set_program_name.
34460         * tests/test-fstatat.c: Include progname.h.
34461         (main): Call set_program_name.
34462         * tests/test-mkdirat.c: Include progname.h.
34463         (main): Call set_program_name.
34464         * tests/test-openat.c: Include progname.h.
34465         (main): Call set_program_name.
34466         * tests/test-unlinkat.c: Include progname.h.
34467         (main): Call set_program_name.
34468         * tests/test-fdopendir.c: Include progname.h.
34469         (main): Call set_program_name.
34471 2011-06-18  Bruno Haible  <bruno@clisp.org>
34473         Doc update.
34474         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
34475         HP-UX.
34476         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
34478 2011-06-18  Bruno Haible  <bruno@clisp.org>
34480         getcwd tests: Avoid compilation error on HP-UX 11.31.
34481         * modules/getcwd-tests (Depends-on): Add pathmax.
34482         * tests/test-getcwd.c: Include pathmax.h.
34484 2011-06-18  Bruno Haible  <bruno@clisp.org>
34486         isfinite, isinf: Fix link error on AIX 6 and 7.
34487         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
34488         needed, also test the macro with a 'float' argument.
34489         * m4/isinf.m4 (gl_ISINF): Likewise.
34491 2011-06-18  Bruno Haible  <bruno@clisp.org>
34493         getloadavg: Don't clobber LIBS. Regression from previous commit.
34494         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
34495         AC_CHECK_LIB from here...
34496         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
34497         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
34498         gl_func_getloadavg_done.
34499         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34501 2011-06-18  Bruno Haible  <bruno@clisp.org>
34503         clean-temp: Improve documentation.
34504         * lib/clean-temp.h: Explain better how to use this module.
34505         Reported by John Darrington <john@darrington.wattle.id.au>.
34507 2011-06-17  Bruno Haible  <bruno@clisp.org>
34509         pread, pwrite: Avoid cc warning on AIX.
34510         * lib/unistd.in.h (pread): Undefine before defining as a macro.
34511         (pwrite): Likewise.
34513 2011-06-17  Bruno Haible  <bruno@clisp.org>
34515         spawn-pipe tests: Fix link error.
34516         * tests/test-spawn-pipe-child.c: Undefine fprintf.
34517         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34519 2011-06-17  Bruno Haible  <bruno@clisp.org>
34521         Tests: Remove unnecessary dependency.
34522         * modules/canonicalize-tests (Depends-on): Remove progname.
34523         * modules/chown-tests (Depends-on): Likewise.
34524         * modules/dirname-tests (Depends-on): Likewise.
34525         * modules/fdopendir-tests (Depends-on): Likewise.
34526         * modules/fdutimensat-tests (Depends-on): Likewise.
34527         * modules/hash-tests (Depends-on): Likewise.
34528         * modules/lchown-tests (Depends-on): Likewise.
34529         * modules/linkat-tests (Depends-on): Likewise.
34530         * modules/renameat-tests (Depends-on): Likewise.
34531         * modules/spawn-pipe-tests (Depends-on): Likewise.
34532         * modules/utimensat-tests (Depends-on): Likewise.
34534 2011-06-17  Bruno Haible  <bruno@clisp.org>
34536         spawn-pipe tests: Fix link error.
34537         * tests/test-spawn-pipe-child.c: Undefine fflush.
34539 2011-06-17  Bruno Haible  <bruno@clisp.org>
34541         Fix tests link errors.
34542         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
34543         * modules/chown-tests (Makefile.am): Don't link test-chown with
34544         LIBINTL.
34545         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
34546         LIBINTL.
34547         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
34548         LIBINTL.
34549         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
34550         LIBINTL.
34552 2011-06-16  Bruno Haible  <bruno@clisp.org>
34554         crypto/gc-sha1: Fix recent regression.
34555         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
34556         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
34558         crypto/gc-md5: Fix recent regression.
34559         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
34561         crypto/gc-md4: Fix recent regression.
34562         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
34563         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
34565         crypto/gc-arctwo: Fix recent regression.
34566         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
34567         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
34569         crypto/gc-rijndael: Fix recent regression.
34570         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
34571         (configure.ac): Invoke AC_LIBOBJ here.
34572         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
34573         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34575         crypto/gc-hmac-sha1: Fix recent regression.
34576         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
34577         (configure.ac): Invoke AC_LIBOBJ here.
34578         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
34579         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34581         crypto/gc-hmac-md5: Fix recent regression.
34582         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
34583         (configure.ac): Invoke AC_LIBOBJ here.
34584         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
34585         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34587         crypto/gc-des: Fix recent regression.
34588         * modules/crypto/gc-des (Files): Remove m4/des.m4.
34589         (configure.ac): Invoke AC_LIBOBJ here.
34590         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
34591         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34593         crypto/gc-arcfour: Fix recent regression.
34594         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
34595         (configure.ac): Invoke AC_LIBOBJ here.
34596         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
34597         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34599 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
34601         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
34602         After the 2011-05-21 change, this macro requires
34603         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
34604         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
34606 2011-06-16  Bruno Haible  <bruno@clisp.org>
34608         fprintftime: Move AC_LIBOBJ invocations to module description.
34609         * m4/fprintftime.m4: Remove file.
34610         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
34611         (configure.ac): Remove gl_FPRINTFTIME call.
34612         (Makefile.am): Augment lib_SOURCES.
34613         Reported by Jim Meyering.
34615 2011-06-16  Bruno Haible  <bruno@clisp.org>
34617         tmpfile-safer: Finish 2011-05-23 commit.
34618         * m4/stdio-safer.m4: Really remove file.
34619         Reported by Jim Meyering.
34621 2011-06-16  Bruno Haible  <bruno@clisp.org>
34623         syntax-check: Fix typo.
34624         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
34625         printf-posix.m4.
34626         Reported by Jim Meyering.
34628 2011-06-13  Jim Meyering  <meyering@redhat.com>
34630         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
34631         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
34633 2011-05-23  Bruno Haible  <bruno@clisp.org>
34635         yesno: Move AC_LIBOBJ invocations to module description.
34636         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
34637         * modules/yesno (Makefile.am): Augment lib_SOURCES.
34639 2011-05-23  Bruno Haible  <bruno@clisp.org>
34641         xstrtol: Move AC_LIBOBJ invocations to module description.
34642         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
34643         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
34645 2011-05-23  Bruno Haible  <bruno@clisp.org>
34647         xstrtold: Move AC_LIBOBJ invocations to module description.
34648         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
34649         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
34651 2011-05-23  Bruno Haible  <bruno@clisp.org>
34653         xstrtod: Move AC_LIBOBJ invocations to module description.
34654         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
34655         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
34657 2011-05-23  Bruno Haible  <bruno@clisp.org>
34659         xnanosleep: Move AC_LIBOBJ invocations to module description.
34660         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
34661         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
34663 2011-05-23  Bruno Haible  <bruno@clisp.org>
34665         xgetcwd: Move AC_LIBOBJ invocations to module description.
34666         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
34667         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
34669 2011-05-23  Bruno Haible  <bruno@clisp.org>
34671         xalloc: Move AC_LIBOBJ invocations to module description.
34672         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
34673         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
34675 2011-05-23  Bruno Haible  <bruno@clisp.org>
34677         write-any-file: Move AC_LIBOBJ invocations to module description.
34678         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
34679         invocation.
34680         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
34682 2011-05-23  Bruno Haible  <bruno@clisp.org>
34684         utimens: Move AC_LIBOBJ invocations to module description.
34685         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
34686         * modules/utimens (Makefile.am): Augment lib_SOURCES.
34688 2011-05-23  Bruno Haible  <bruno@clisp.org>
34690         utimecmp: Move AC_LIBOBJ invocations to module description.
34691         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
34692         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
34694 2011-05-23  Bruno Haible  <bruno@clisp.org>
34696         userspec: Move AC_LIBOBJ invocations to module description.
34697         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
34698         * modules/userspec (Makefile.am): Augment lib_SOURCES.
34700 2011-05-23  Bruno Haible  <bruno@clisp.org>
34702         unlinkdir: Move AC_LIBOBJ invocations to module description.
34703         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
34704         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
34706 2011-05-23  Bruno Haible  <bruno@clisp.org>
34708         unistd-safer: Move AC_LIBOBJ invocations to module description.
34709         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
34710         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
34712 2011-05-23  Bruno Haible  <bruno@clisp.org>
34714         tempname: Move AC_LIBOBJ invocations to module description.
34715         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
34716         * modules/tempname (Makefile.am): Augment lib_SOURCES.
34718 2011-05-23  Bruno Haible  <bruno@clisp.org>
34720         strftime: Move AC_LIBOBJ invocations to module description.
34721         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
34722         * modules/strftime (Makefile.am): Augment lib_SOURCES.
34724 2011-05-23  Bruno Haible  <bruno@clisp.org>
34726         stdlib-safer: Move AC_LIBOBJ invocations to module description.
34727         * m4/stdlib-safer.m4: Remove file.
34728         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
34729         (configure.ac): Remove gl_STDLIB_SAFER call.
34730         (Makefile.am): Augment lib_SOURCES.
34732 2011-05-23  Bruno Haible  <bruno@clisp.org>
34734         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
34735         * m4/stdio-safer.m4: Remove file.
34736         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
34737         (configure.ac): Remove gl_TMPFILE_SAFER call.
34738         (Makefile.am): Augment lib_SOURCES.
34740 2011-05-23  Bruno Haible  <bruno@clisp.org>
34742         popen-safer: Move AC_LIBOBJ invocations to module description.
34743         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
34744         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
34745         (configure.ac): Remove gl_POPEN_SAFER call.
34746         (Makefile.am): Augment lib_SOURCES.
34748 2011-05-23  Bruno Haible  <bruno@clisp.org>
34750         freopen-safer: Move AC_LIBOBJ invocations to module description.
34751         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
34752         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
34753         (configure.ac): Remove gl_FREOPEN_SAFER call.
34754         (Makefile.am): Augment lib_SOURCES.
34756 2011-05-23  Bruno Haible  <bruno@clisp.org>
34758         fopen-safer: Move AC_LIBOBJ invocations to module description.
34759         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
34760         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
34761         (configure.ac): Remove gl_FOPEN_SAFER call.
34762         (Makefile.am): Augment lib_SOURCES.
34764 2011-05-23  Bruno Haible  <bruno@clisp.org>
34766         crypto/sha512: Move AC_LIBOBJ invocations to module description.
34767         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
34768         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
34770 2011-05-23  Bruno Haible  <bruno@clisp.org>
34772         crypto/sha256: Move AC_LIBOBJ invocations to module description.
34773         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
34774         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
34776 2011-05-23  Bruno Haible  <bruno@clisp.org>
34778         crypto/sha1: Move AC_LIBOBJ invocations to module description.
34779         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
34780         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
34782 2011-05-23  Bruno Haible  <bruno@clisp.org>
34784         settime: Move AC_LIBOBJ invocations to module description.
34785         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
34786         * modules/settime (Makefile.am): Augment lib_SOURCES.
34788 2011-05-23  Bruno Haible  <bruno@clisp.org>
34790         savedir: Move AC_LIBOBJ invocations to module description.
34791         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
34792         * modules/savedir (Makefile.am): Augment lib_SOURCES.
34794 2011-05-23  Bruno Haible  <bruno@clisp.org>
34796         save-cwd: Move AC_LIBOBJ invocations to module description.
34797         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
34798         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
34800 2011-05-23  Bruno Haible  <bruno@clisp.org>
34802         same: Move AC_LIBOBJ invocations to module description.
34803         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
34804         * modules/same (Makefile.am): Augment lib_SOURCES.
34806 2011-05-23  Bruno Haible  <bruno@clisp.org>
34808         safe-write: Move AC_LIBOBJ invocations to module description.
34809         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
34810         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
34811         instead of gl_SAFE_WRITE.
34812         (Makefile.am): Augment lib_SOURCES.
34814 2011-05-23  Bruno Haible  <bruno@clisp.org>
34816         safe-read: Move AC_LIBOBJ invocations to module description.
34817         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
34818         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
34819         of gl_SAFE_READ.
34820         (Makefile.am): Augment lib_SOURCES.
34822 2011-05-23  Bruno Haible  <bruno@clisp.org>
34824         safe-alloc: Move AC_LIBOBJ invocations to module description.
34825         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
34826         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
34828 2011-05-23  Bruno Haible  <bruno@clisp.org>
34830         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
34831         * m4/rijndael.m4: Remove file.
34832         * modules/crypto/rijndael (Files): Remove it.
34833         (configure.ac): Remove gl_RIJNDAEL call.
34834         (Makefile.am): Augment lib_SOURCES.
34836 2011-05-23  Bruno Haible  <bruno@clisp.org>
34838         readtokens: Move AC_LIBOBJ invocations to module description.
34839         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
34840         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
34842 2011-05-23  Bruno Haible  <bruno@clisp.org>
34844         read-file: Move AC_LIBOBJ invocations to module description.
34845         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
34846         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
34847         of gl_FUNC_READ_FILE.
34848         (Makefile.am): Augment lib_SOURCES.
34850 2011-05-23  Bruno Haible  <bruno@clisp.org>
34852         quotearg: Move AC_LIBOBJ invocations to module description.
34853         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
34854         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
34856 2011-05-23  Bruno Haible  <bruno@clisp.org>
34858         quote: Move AC_LIBOBJ invocations to module description.
34859         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
34860         * modules/quote (Makefile.am): Augment lib_SOURCES.
34862 2011-05-23  Bruno Haible  <bruno@clisp.org>
34864         posixver: Move AC_LIBOBJ invocations to module description.
34865         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
34866         * modules/posixver (Makefile.am): Augment lib_SOURCES.
34868 2011-05-23  Bruno Haible  <bruno@clisp.org>
34870         posixtm: Move AC_LIBOBJ invocations to module description.
34871         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
34872         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
34874 2011-05-23  Bruno Haible  <bruno@clisp.org>
34876         physmem: Move AC_LIBOBJ invocations to module description.
34877         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
34878         * modules/physmem (Makefile.am): Augment lib_SOURCES.
34880 2011-05-23  Bruno Haible  <bruno@clisp.org>
34882         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
34883         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
34884         invocation.
34885         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
34887 2011-05-23  Bruno Haible  <bruno@clisp.org>
34889         mpsort: Move AC_LIBOBJ invocations to module description.
34890         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
34891         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
34893 2011-05-23  Bruno Haible  <bruno@clisp.org>
34895         modechange: Move AC_LIBOBJ invocations to module description.
34896         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
34897         * modules/modechange (Makefile.am): Augment lib_SOURCES.
34899 2011-05-23  Bruno Haible  <bruno@clisp.org>
34901         mkdir-p: Move AC_LIBOBJ invocations to module description.
34902         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
34903         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
34905 2011-05-23  Bruno Haible  <bruno@clisp.org>
34907         mkancesdirs: Move AC_LIBOBJ invocations to module description.
34908         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
34909         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
34911 2011-05-23  Bruno Haible  <bruno@clisp.org>
34913         mgetgroups: Move AC_LIBOBJ invocations to module description.
34914         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
34915         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
34917 2011-05-23  Bruno Haible  <bruno@clisp.org>
34919         memxor: Move AC_LIBOBJ invocations to module description.
34920         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
34921         * modules/memxor (Makefile.am): Augment lib_SOURCES.
34923 2011-05-23  Bruno Haible  <bruno@clisp.org>
34925         memcoll: Move AC_LIBOBJ invocations to module description.
34926         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
34927         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
34929 2011-05-23  Bruno Haible  <bruno@clisp.org>
34931         memcasecmp: Move AC_LIBOBJ invocations to module description.
34932         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
34933         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
34935 2011-05-23  Bruno Haible  <bruno@clisp.org>
34937         crypto/md5: Move AC_LIBOBJ invocations to module description.
34938         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
34939         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
34941 2011-05-23  Bruno Haible  <bruno@clisp.org>
34943         crypto/md4: Move AC_LIBOBJ invocations to module description.
34944         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
34945         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
34947 2011-05-23  Bruno Haible  <bruno@clisp.org>
34949         crypto/md2: Move AC_LIBOBJ invocations to module description.
34950         * m4/md2.m4: Remove file.
34951         * modules/crypto/md2 (Files): Remove it.
34952         (configure.ac): Remove gl_MD2 call.
34953         (Makefile.am): Augment lib_SOURCES.
34955 2011-05-23  Bruno Haible  <bruno@clisp.org>
34957         long-options: Move AC_LIBOBJ invocations to module description.
34958         * m4/long-options.m4: Remove file.
34959         * modules/long-options (Files): Remove it.
34960         (configure.ac): Remove gl_LONG_OPTIONS call.
34961         (Makefile.am): Augment lib_SOURCES.
34963 2011-05-23  Bruno Haible  <bruno@clisp.org>
34965         i-ring: Move AC_LIBOBJ invocations to module description.
34966         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
34967         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
34969 2011-05-23  Bruno Haible  <bruno@clisp.org>
34971         idcache: Move AC_LIBOBJ invocations to module description.
34972         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
34973         * modules/idcache (Makefile.am): Augment lib_SOURCES.
34975 2011-05-23  Bruno Haible  <bruno@clisp.org>
34977         human: Move AC_LIBOBJ invocations to module description.
34978         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
34979         * modules/human (Makefile.am): Augment lib_SOURCES.
34981 2011-05-23  Bruno Haible  <bruno@clisp.org>
34983         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
34984         * m4/hmac-sha1.m4: Remove file.
34985         * modules/crypto/hmac-sha1 (Files): Remove it.
34986         (configure.ac): Remove gl_HMAC_SHA1 call.
34987         (Makefile.am): Augment lib_SOURCES.
34989 2011-05-23  Bruno Haible  <bruno@clisp.org>
34991         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
34992         * m4/hmac-md5.m4: Remove file.
34993         * modules/crypto/hmac-md5 (Files): Remove it.
34994         (configure.ac): Remove gl_HMAC_MD5 call.
34995         (Makefile.am): Augment lib_SOURCES.
34997 2011-05-23  Bruno Haible  <bruno@clisp.org>
34999         hash: Move AC_LIBOBJ invocations to module description.
35000         * m4/hash.m4: Remove file.
35001         * modules/hash (Files): Remove it.
35002         (configure.ac): Remove gl_HASH call.
35003         (Makefile.am): Augment lib_SOURCES.
35005 2011-05-23  Bruno Haible  <bruno@clisp.org>
35007         hard-locale: Move AC_LIBOBJ invocations to module description.
35008         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
35009         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
35011 2011-05-23  Bruno Haible  <bruno@clisp.org>
35013         getugroups: Move AC_LIBOBJ invocations to module description.
35014         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
35015         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
35017 2011-05-23  Bruno Haible  <bruno@clisp.org>
35019         gettime: Move AC_LIBOBJ invocations to module description.
35020         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
35021         * modules/gettime (Makefile.am): Augment lib_SOURCES.
35023 2011-05-23  Bruno Haible  <bruno@clisp.org>
35025         getndelim2: Move AC_LIBOBJ invocations to module description.
35026         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
35027         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
35029 2011-05-23  Bruno Haible  <bruno@clisp.org>
35031         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
35032         * m4/gc-pbkdf2-sha1.m4: Remove file.
35033         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
35034         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
35035         (Makefile.am): Augment lib_SOURCES.
35037 2011-05-23  Bruno Haible  <bruno@clisp.org>
35039         fts: Move AC_LIBOBJ invocations to module description.
35040         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
35041         * modules/fts (configure.ac): ... to here.
35043 2011-05-23  Bruno Haible  <bruno@clisp.org>
35045         file-type: Move AC_LIBOBJ invocations to module description.
35046         * m4/file-type.m4: Remove file.
35047         * modules/file-type (Files): Remove it.
35048         (configure.ac): Remove gl_FILE_TYPE call.
35049         (Makefile.am): Augment lib_SOURCES.
35051 2011-05-23  Bruno Haible  <bruno@clisp.org>
35053         filenamecat*: Respect rules for use of AC_LIBOBJ.
35054         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
35055         Remove AC_LIBOBJ invocation.
35056         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
35057         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
35059 2011-05-23  Bruno Haible  <bruno@clisp.org>
35061         filemode: Move AC_LIBOBJ invocations to module description.
35062         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
35063         * modules/filemode (Makefile.am): Augment lib_SOURCES.
35065 2011-05-23  Bruno Haible  <bruno@clisp.org>
35067         openat-safer: Move AC_LIBOBJ invocations to module description.
35068         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
35069         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
35071 2011-05-23  Bruno Haible  <bruno@clisp.org>
35073         fcntl-safer: Move AC_LIBOBJ invocations to module description.
35074         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
35075         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
35077 2011-05-23  Bruno Haible  <bruno@clisp.org>
35079         exclude: Move AC_LIBOBJ invocations to module description.
35080         * m4/exclude.m4: Remove file.
35081         * modules/exclude (Files): Remove it.
35082         (configure.ac): Remove gl_EXCLUDE call.
35083         (Makefile.am): Augment lib_SOURCES.
35085 2011-05-23  Bruno Haible  <bruno@clisp.org>
35087         dirname*: Respect rules for use of AC_LIBOBJ.
35088         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
35089         invocations.
35090         * modules/dirname (Makefile.am): Augment lib_SOURCES.
35091         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
35093 2011-05-23  Bruno Haible  <bruno@clisp.org>
35095         dirent-safer: Move AC_LIBOBJ invocations to module description.
35096         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
35097         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
35099 2011-05-23  Bruno Haible  <bruno@clisp.org>
35101         crypto/des: Move AC_LIBOBJ invocations to module description.
35102         * m4/des.m4: Remove file.
35103         * modules/crypto/des (Files): Remove it.
35104         (configure.ac): Remove gl_DES call.
35105         (Makefile.am): Augment lib_SOURCES.
35107 2011-05-23  Bruno Haible  <bruno@clisp.org>
35109         cycle-check: Move AC_LIBOBJ invocations to module description.
35110         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
35111         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
35113 2011-05-23  Bruno Haible  <bruno@clisp.org>
35115         c-strtold: Move AC_LIBOBJ invocations to module description.
35116         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
35117         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
35119 2011-05-23  Bruno Haible  <bruno@clisp.org>
35121         c-strtod: Move AC_LIBOBJ invocations to module description.
35122         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
35123         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
35125 2011-05-23  Bruno Haible  <bruno@clisp.org>
35127         crc: Move AC_LIBOBJ invocations to module description.
35128         * m4/crc.m4: Remove file.
35129         * modules/crc (Files): Remove it.
35130         (configure.ac): Remove gl_CRC call.
35131         (Makefile.am): Augment lib_SOURCES.
35133 2011-05-23  Bruno Haible  <bruno@clisp.org>
35135         close-stream: Move AC_LIBOBJ invocations to module description.
35136         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
35137         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
35139 2011-05-23  Bruno Haible  <bruno@clisp.org>
35141         closeout: Move AC_LIBOBJ invocations to module description.
35142         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
35143         * modules/closeout (Makefile.am): Augment lib_SOURCES.
35145 2011-05-23  Bruno Haible  <bruno@clisp.org>
35147         closein: Move AC_LIBOBJ invocations to module description.
35148         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
35149         * modules/closein (Makefile.am): Augment lib_SOURCES.
35151 2011-05-23  Bruno Haible  <bruno@clisp.org>
35153         cloexec: Move AC_LIBOBJ invocations to module description.
35154         * m4/cloexec.m4: Remove file.
35155         * modules/cloexec (Files): Remove it.
35156         (configure.ac): Remove gl_CLOEXEC call.
35157         (Makefile.am): Augment lib_SOURCES.
35159 2011-05-23  Bruno Haible  <bruno@clisp.org>
35161         check-version: Move AC_LIBOBJ invocations to module description.
35162         * m4/check-version.m4: Remove file.
35163         * modules/check-version (Files): Remove it.
35164         (configure.ac): Remove gl_CHECK_VERSION call.
35165         (Makefile.am): Augment lib_SOURCES.
35167 2011-05-23  Bruno Haible  <bruno@clisp.org>
35169         chdir-safer: Move AC_LIBOBJ invocations to module description.
35170         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
35171         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
35173 2011-05-23  Bruno Haible  <bruno@clisp.org>
35175         canonicalize: Move AC_LIBOBJ invocations to module description.
35176         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
35177         AC_LIBOBJ invocation.
35178         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
35180 2011-05-23  Bruno Haible  <bruno@clisp.org>
35182         canon-host: Move AC_LIBOBJ invocations to module description.
35183         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
35184         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
35185         instead of gl_CANON_HOST.
35186         (Makefile.am): Augment lib_SOURCES.
35188 2011-05-23  Bruno Haible  <bruno@clisp.org>
35190         backupfile: Move AC_LIBOBJ invocations to module description.
35191         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
35192         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
35194 2011-05-23  Bruno Haible  <bruno@clisp.org>
35196         argmatch: Move AC_LIBOBJ invocations to module description.
35197         * m4/argmatch.m4: Remove file.
35198         * modules/argmatch (Files): Remove it.
35199         (configure.ac): Remove gl_ARGMATCH call.
35200         (Makefile.am): Augment lib_SOURCES.
35202 2011-05-23  Bruno Haible  <bruno@clisp.org>
35204         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
35205         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
35206         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
35208 2011-05-23  Bruno Haible  <bruno@clisp.org>
35210         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
35211         * m4/arcfour.m4: Remove file.
35212         * modules/crypto/arcfour (Files): Remove it.
35213         (configure.ac): Remove gl_ARCFOUR call.
35214         (Makefile.am): Augment lib_SOURCES.
35216 2011-05-22  Bruno Haible  <bruno@clisp.org>
35218         write: Move AC_LIBOBJ invocations to module description.
35219         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
35220         * modules/write (configure.ac): ... to here.
35222 2011-05-22  Bruno Haible  <bruno@clisp.org>
35224         wmemset: Move AC_LIBOBJ invocations to module description.
35225         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
35226         here...
35227         * modules/wmemset (configure.ac): ... to here.
35229 2011-05-22  Bruno Haible  <bruno@clisp.org>
35231         wmemmove: Move AC_LIBOBJ invocations to module description.
35232         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
35233         here...
35234         * modules/wmemmove (configure.ac): ... to here.
35236 2011-05-22  Bruno Haible  <bruno@clisp.org>
35238         wmemcpy: Move AC_LIBOBJ invocations to module description.
35239         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
35240         here...
35241         * modules/wmemcpy (configure.ac): ... to here.
35243 2011-05-22  Bruno Haible  <bruno@clisp.org>
35245         wmemcmp: Move AC_LIBOBJ invocations to module description.
35246         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
35247         here...
35248         * modules/wmemcmp (configure.ac): ... to here.
35250 2011-05-22  Bruno Haible  <bruno@clisp.org>
35252         wmemchr: Move AC_LIBOBJ invocations to module description.
35253         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
35254         here...
35255         * modules/wmemchr (configure.ac): ... to here.
35257 2011-05-22  Bruno Haible  <bruno@clisp.org>
35259         wcswidth: Move AC_LIBOBJ invocations to module description.
35260         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
35261         here...
35262         * modules/wcswidth (configure.ac): ... to here.
35264 2011-05-22  Bruno Haible  <bruno@clisp.org>
35266         wcwidth: Respect rules for use of AC_LIBOBJ.
35267         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
35268         invocation from here...
35269         * modules/wcwidth (configure.ac): ... to here.
35270         (Depends-on): Update conditions.
35272 2011-05-22  Bruno Haible  <bruno@clisp.org>
35274         wctype: Move AC_LIBOBJ invocations to module description.
35275         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
35276         invocation from here...
35277         * modules/wctype (configure.ac): ... to here.
35278         (Depends-on): Update conditions.
35280 2011-05-22  Bruno Haible  <bruno@clisp.org>
35282         wctrans: Move AC_LIBOBJ invocations to module description.
35283         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
35284         invocation from here...
35285         * modules/wctrans (configure.ac): ... to here.
35287 2011-05-22  Bruno Haible  <bruno@clisp.org>
35289         wctomb: Move AC_LIBOBJ invocations to module description.
35290         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
35291         invocations from here...
35292         * modules/wctomb (configure.ac): ... to here.
35294 2011-05-22  Bruno Haible  <bruno@clisp.org>
35296         wctob: Move AC_LIBOBJ invocations to module description.
35297         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
35298         gl_PREREQ_WCTOB invocations from here...
35299         * modules/wctob (configure.ac): ... to here.
35300         (Depends-on): Update conditions.
35302 2011-05-22  Bruno Haible  <bruno@clisp.org>
35304         wcsxfrm: Move AC_LIBOBJ invocations to module description.
35305         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
35306         here...
35307         * modules/wcsxfrm (configure.ac): ... to here.
35309 2011-05-22  Bruno Haible  <bruno@clisp.org>
35311         wcstok: Move AC_LIBOBJ invocations to module description.
35312         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
35313         * modules/wcstok (configure.ac): ... to here.
35315 2011-05-22  Bruno Haible  <bruno@clisp.org>
35317         wcsstr: Move AC_LIBOBJ invocations to module description.
35318         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
35319         * modules/wcsstr (configure.ac): ... to here.
35321 2011-05-22  Bruno Haible  <bruno@clisp.org>
35323         wcsspn: Move AC_LIBOBJ invocations to module description.
35324         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
35325         * modules/wcsspn (configure.ac): ... to here.
35327 2011-05-22  Bruno Haible  <bruno@clisp.org>
35329         wcsrtombs: Move AC_LIBOBJ invocations to module description.
35330         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
35331         gl_PREREQ_WCSRTOMBS invocations from here...
35332         * modules/wcsrtombs (configure.ac): ... to here.
35334 2011-05-22  Bruno Haible  <bruno@clisp.org>
35336         wcsrchr: Move AC_LIBOBJ invocations to module description.
35337         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
35338         here...
35339         * modules/wcsrchr (configure.ac): ... to here.
35341 2011-05-22  Bruno Haible  <bruno@clisp.org>
35343         wcspbrk: Move AC_LIBOBJ invocations to module description.
35344         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
35345         here...
35346         * modules/wcspbrk (configure.ac): ... to here.
35348 2011-05-22  Bruno Haible  <bruno@clisp.org>
35350         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
35351         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
35352         gl_PREREQ_WCSNRTOMBS invocations from here...
35353         * modules/wcsnrtombs (configure.ac): ... to here.
35355 2011-05-22  Bruno Haible  <bruno@clisp.org>
35357         wcsnlen: Move AC_LIBOBJ invocations to module description.
35358         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
35359         here...
35360         * modules/wcsnlen (configure.ac): ... to here.
35362 2011-05-22  Bruno Haible  <bruno@clisp.org>
35364         wcsncpy: Move AC_LIBOBJ invocations to module description.
35365         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
35366         here...
35367         * modules/wcsncpy (configure.ac): ... to here.
35369 2011-05-22  Bruno Haible  <bruno@clisp.org>
35371         wcsncmp: Move AC_LIBOBJ invocations to module description.
35372         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
35373         here...
35374         * modules/wcsncmp (configure.ac): ... to here.
35376 2011-05-22  Bruno Haible  <bruno@clisp.org>
35378         wcsncat: Move AC_LIBOBJ invocations to module description.
35379         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
35380         here...
35381         * modules/wcsncat (configure.ac): ... to here.
35383 2011-05-22  Bruno Haible  <bruno@clisp.org>
35385         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
35386         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
35387         from here...
35388         * modules/wcsncasecmp (configure.ac): ... to here.
35390 2011-05-22  Bruno Haible  <bruno@clisp.org>
35392         wcslen: Move AC_LIBOBJ invocations to module description.
35393         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
35394         * modules/wcslen (configure.ac): ... to here.
35396 2011-05-22  Bruno Haible  <bruno@clisp.org>
35398         wcsdup: Move AC_LIBOBJ invocations to module description.
35399         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
35400         * modules/wcsdup (configure.ac): ... to here.
35402 2011-05-22  Bruno Haible  <bruno@clisp.org>
35404         wcscspn: Move AC_LIBOBJ invocations to module description.
35405         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
35406         here...
35407         * modules/wcscspn (configure.ac): ... to here.
35409 2011-05-22  Bruno Haible  <bruno@clisp.org>
35411         wcscpy: Move AC_LIBOBJ invocations to module description.
35412         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
35413         * modules/wcscpy (configure.ac): ... to here.
35415 2011-05-22  Bruno Haible  <bruno@clisp.org>
35417         wcscoll: Move AC_LIBOBJ invocations to module description.
35418         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
35419         here...
35420         * modules/wcscoll (configure.ac): ... to here.
35422 2011-05-22  Bruno Haible  <bruno@clisp.org>
35424         wcscmp: Move AC_LIBOBJ invocations to module description.
35425         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
35426         * modules/wcscmp (configure.ac): ... to here.
35428 2011-05-22  Bruno Haible  <bruno@clisp.org>
35430         wcschr: Move AC_LIBOBJ invocations to module description.
35431         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
35432         * modules/wcschr (configure.ac): ... to here.
35434 2011-05-22  Bruno Haible  <bruno@clisp.org>
35436         wcscat: Move AC_LIBOBJ invocations to module description.
35437         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
35438         * modules/wcscat (configure.ac): ... to here.
35440 2011-05-22  Bruno Haible  <bruno@clisp.org>
35442         wcscasecmp: Move AC_LIBOBJ invocations to module description.
35443         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
35444         here...
35445         * modules/wcscasecmp (configure.ac): ... to here.
35447 2011-05-22  Bruno Haible  <bruno@clisp.org>
35449         wcrtomb: Move AC_LIBOBJ invocations to module description.
35450         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
35451         invocations from here...
35452         * modules/wcrtomb (configure.ac): ... to here.
35454 2011-05-22  Bruno Haible  <bruno@clisp.org>
35456         wcpncpy: Move AC_LIBOBJ invocations to module description.
35457         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
35458         here...
35459         * modules/wcpncpy (configure.ac): ... to here.
35461 2011-05-22  Bruno Haible  <bruno@clisp.org>
35463         wcpcpy: Move AC_LIBOBJ invocations to module description.
35464         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
35465         * modules/wcpcpy (configure.ac): ... to here.
35467 2011-05-22  Bruno Haible  <bruno@clisp.org>
35469         waitpid: Move AC_LIBOBJ invocations to module description.
35470         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
35471         invocation from here...
35472         * modules/waitpid (configure.ac): ... to here.
35474 2011-05-22  Bruno Haible  <bruno@clisp.org>
35476         utimensat: Move AC_LIBOBJ invocations to module description.
35477         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
35478         here...
35479         * modules/utimensat (configure.ac): ... to here.
35481 2011-05-22  Bruno Haible  <bruno@clisp.org>
35483         usleep: Move AC_LIBOBJ invocations to module description.
35484         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
35485         here...
35486         * modules/usleep (configure.ac): ... to here.
35488 2011-05-22  Bruno Haible  <bruno@clisp.org>
35490         unlockpt: Move AC_LIBOBJ invocations to module description.
35491         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
35492         gl_PREREQ_UNLOCKPT invocations from here...
35493         * modules/unlockpt (configure.ac): ... to here.
35495 2011-05-22  Bruno Haible  <bruno@clisp.org>
35497         unlink: Respect rules for use of AC_LIBOBJ.
35498         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
35499         * modules/unlink (configure.ac): ... to here.
35501 2011-05-22  Bruno Haible  <bruno@clisp.org>
35503         uname: Move AC_LIBOBJ invocations to module description.
35504         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
35505         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
35506         here...
35507         * modules/uname (configure.ac): ... to here.
35509 2011-05-22  Bruno Haible  <bruno@clisp.org>
35511         ttyname_r: Move AC_LIBOBJ invocations to module description.
35512         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
35513         gl_PREREQ_TTYNAME_R invocations from here...
35514         * modules/ttyname_r (configure.ac): ... to here.
35516 2011-05-22  Bruno Haible  <bruno@clisp.org>
35518         tsearch: Move AC_LIBOBJ invocations to module description.
35519         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
35520         invocations from here...
35521         * modules/tsearch (configure.ac): ... to here.
35523 2011-05-22  Bruno Haible  <bruno@clisp.org>
35525         towctrans: Move AC_LIBOBJ invocations to module description.
35526         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
35527         AC_LIBOBJ invocation from here...
35528         * modules/towctrans (configure.ac): ... to here.
35530 2011-05-22  Bruno Haible  <bruno@clisp.org>
35532         tmpfile: Move AC_LIBOBJ invocations to module description.
35533         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
35534         invocations from here...
35535         * modules/tmpfile (configure.ac): ... to here.
35537 2011-05-22  Bruno Haible  <bruno@clisp.org>
35539         times: Move AC_LIBOBJ invocations to module description.
35540         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
35541         * modules/times (configure.ac): ... to here.
35543 2011-05-22  Bruno Haible  <bruno@clisp.org>
35545         time_r: Move AC_LIBOBJ invocations to module description.
35546         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
35547         invocations from here...
35548         * modules/time_r (configure.ac): ... to here.
35550 2011-05-22  Bruno Haible  <bruno@clisp.org>
35552         timegm: Move AC_LIBOBJ invocations to module description.
35553         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
35554         invocations from here...
35555         * modules/timegm (configure.ac): ... to here.
35557 2011-05-22  Bruno Haible  <bruno@clisp.org>
35559         tcgetsid: Move AC_LIBOBJ invocations to module description.
35560         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
35561         and gl_PREREQ_TCGETSID invocations from here...
35562         * modules/tcgetsid (configure.ac): ... to here.
35563         (Depends-on): Update conditions.
35565 2011-05-22  Bruno Haible  <bruno@clisp.org>
35567         symlinkat: Move AC_LIBOBJ invocations to module description.
35568         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
35569         here...
35570         * modules/symlinkat (configure.ac): ... to here.
35572 2011-05-22  Bruno Haible  <bruno@clisp.org>
35574         symlink: Move AC_LIBOBJ invocations to module description.
35575         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
35576         here...
35577         * modules/symlink (configure.ac): ... to here.
35579 2011-05-22  Bruno Haible  <bruno@clisp.org>
35581         strverscmp: Move AC_LIBOBJ invocations to module description.
35582         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
35583         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
35584         from here...
35585         * modules/strverscmp (configure.ac): ... to here.
35587 2011-05-22  Bruno Haible  <bruno@clisp.org>
35589         strtok_r: Move AC_LIBOBJ invocations to module description.
35590         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
35591         and gl_PREREQ_STRTOK_R invocations from here...
35592         * modules/strtok_r (configure.ac): ... to here.
35593         (Depends-on): Update conditions.
35595 2011-05-22  Bruno Haible  <bruno@clisp.org>
35597         strtoumax: Move AC_LIBOBJ invocations to module description.
35598         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
35599         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
35600         from here...
35601         * modules/strtoumax (configure.ac): ... to here.
35603 2011-05-22  Bruno Haible  <bruno@clisp.org>
35605         strtoimax: Move AC_LIBOBJ invocations to module description.
35606         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
35607         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
35608         from here...
35609         * modules/strtoimax (configure.ac): ... to here.
35611 2011-05-22  Bruno Haible  <bruno@clisp.org>
35613         strtoull: Move AC_LIBOBJ invocations to module description.
35614         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
35615         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
35616         from here...
35617         * modules/strtoull (configure.ac): ... to here.
35619 2011-05-22  Bruno Haible  <bruno@clisp.org>
35621         strtoll: Move AC_LIBOBJ invocations to module description.
35622         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
35623         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
35624         here...
35625         * modules/strtoll (configure.ac): ... to here.
35627 2011-05-22  Bruno Haible  <bruno@clisp.org>
35629         strtoul: Move AC_LIBOBJ invocations to module description.
35630         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
35631         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
35632         * modules/strtoul (configure.ac): ... to here.
35634 2011-05-22  Bruno Haible  <bruno@clisp.org>
35636         strtol: Move AC_LIBOBJ invocations to module description.
35637         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
35638         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
35639         * modules/strtol (configure.ac): ... to here.
35641 2011-05-22  Bruno Haible  <bruno@clisp.org>
35643         strtod: Move AC_LIBOBJ invocations to module description.
35644         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
35645         invocations from here...
35646         * modules/strtod (configure.ac): ... to here.
35648 2011-05-22  Bruno Haible  <bruno@clisp.org>
35650         strstr*: Move AC_LIBOBJ invocations to module description.
35651         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
35652         invocations from here...
35653         * modules/strstr-simple (configure.ac): ... to here.
35654         * modules/strstr (configure.ac): ... and here.
35656 2011-05-22  Bruno Haible  <bruno@clisp.org>
35658         strsignal: Move AC_LIBOBJ invocations to module description.
35659         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
35660         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
35661         * modules/strsignal (configure.ac): ... to here.
35662         (Depends-on): Update conditions.
35664 2011-05-22  Bruno Haible  <bruno@clisp.org>
35666         strsep: Move AC_LIBOBJ invocations to module description.
35667         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
35668         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
35669         here...
35670         * modules/strsep (configure.ac): ... to here.
35672 2011-05-22  Bruno Haible  <bruno@clisp.org>
35674         strptime: Move AC_LIBOBJ invocations to module description.
35675         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
35676         gl_PREREQ_STRPTIME invocations from here...
35677         * modules/strptime (configure.ac): ... to here.
35679 2011-05-22  Bruno Haible  <bruno@clisp.org>
35681         strpbrk: Move AC_LIBOBJ invocations to module description.
35682         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
35683         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
35684         here...
35685         * modules/strpbrk (configure.ac): ... to here.
35687 2011-05-22  Bruno Haible  <bruno@clisp.org>
35689         strnlen: Move AC_LIBOBJ invocations to module description.
35690         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
35691         invocations from here...
35692         * modules/strnlen (configure.ac): ... to here.
35694 2011-05-22  Bruno Haible  <bruno@clisp.org>
35696         strndup: Move AC_LIBOBJ invocations to module description.
35697         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
35698         invocations from here...
35699         * modules/strndup (configure.ac): ... to here.
35700         (Depends-on): Update conditions.
35702 2011-05-22  Bruno Haible  <bruno@clisp.org>
35704         strncat: Move AC_LIBOBJ invocations to module description.
35705         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
35706         invocations from here...
35707         * modules/strncat (configure.ac): ... to here.
35709 2011-05-22  Bruno Haible  <bruno@clisp.org>
35711         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
35712         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
35713         invocations from here...
35714         * modules/strdup (configure.ac): ... to here.
35715         * modules/strdup-posix (configure.ac): ... and here.
35717 2011-05-22  Bruno Haible  <bruno@clisp.org>
35719         strcspn: Move AC_LIBOBJ invocations to module description.
35720         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
35721         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
35722         here...
35723         * modules/strcspn (configure.ac): ... to here.
35725 2011-05-22  Bruno Haible  <bruno@clisp.org>
35727         strchrnul: Move AC_LIBOBJ invocations to module description.
35728         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
35729         gl_PREREQ_STRCHRNUL invocations from here...
35730         * modules/strchrnul (configure.ac): ... to here.
35732 2011-05-22  Bruno Haible  <bruno@clisp.org>
35734         strcasestr*: Move AC_LIBOBJ invocations to module description.
35735         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
35736         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
35737         * modules/strcasestr-simple (configure.ac): ... to here.
35738         * modules/strcasestr (configure.ac): ... and here.
35740 2011-05-22  Bruno Haible  <bruno@clisp.org>
35742         strcase: Move AC_LIBOBJ invocations to module description.
35743         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
35744         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
35745         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
35746         gl_PREREQ_STRNCASECMP invocations from here...
35747         * modules/strcase (configure.ac): ... to here.
35749 2011-05-22  Bruno Haible  <bruno@clisp.org>
35751         stpncpy: Move AC_LIBOBJ invocations to module description.
35752         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
35753         here...
35754         * modules/stpncpy (configure.ac): ... to here.
35756 2011-05-22  Bruno Haible  <bruno@clisp.org>
35758         stpcpy: Move AC_LIBOBJ invocations to module description.
35759         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
35760         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
35761         here...
35762         * modules/stpcpy (configure.ac): ... to here.
35764 2011-05-21  Bruno Haible  <bruno@clisp.org>
35766         stat: Move AC_LIBOBJ invocations to module description.
35767         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
35768         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
35769         here...
35770         * modules/stat (configure.ac): ... to here.
35772 2011-05-21  Bruno Haible  <bruno@clisp.org>
35774         sleep: Move AC_LIBOBJ invocations to module description.
35775         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
35776         * modules/sleep (configure.ac): ... to here.
35778 2011-05-21  Bruno Haible  <bruno@clisp.org>
35780         signbit: Move AC_LIBOBJ invocations to module description.
35781         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
35782         * modules/signbit (configure.ac): ... to here.
35784 2011-05-21  Bruno Haible  <bruno@clisp.org>
35786         sigprocmask: Move AC_LIBOBJ invocations to module description.
35787         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
35788         gl_PREREQ_SIGPROMASK invocations from here...
35789         * modules/sigprocmask (configure.ac): ... to here.
35791 2011-05-21  Bruno Haible  <bruno@clisp.org>
35793         sigaction: Move AC_LIBOBJ invocations to module description.
35794         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
35795         gl_PREREQ_SIGACTION invocations from here...
35796         * modules/sigaction (configure.ac): ... to here.
35798 2011-05-21  Bruno Haible  <bruno@clisp.org>
35800         sig2str: Move AC_LIBOBJ invocations to module description.
35801         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
35802         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
35803         here...
35804         * modules/sig2str (configure.ac): ... to here.
35806 2011-05-21  Bruno Haible  <bruno@clisp.org>
35808         setlocale: Move AC_LIBOBJ invocations to module description.
35809         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
35810         gl_PREREQ_SETLOCALE invocations from here...
35811         * modules/setlocale (configure.ac): ... to here.
35813 2011-05-21  Bruno Haible  <bruno@clisp.org>
35815         unsetenv: Move AC_LIBOBJ invocations to module description.
35816         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
35817         and gl_PREREQ_UNSETENV invocations from here...
35818         * modules/unsetenv (configure.ac): ... to here.
35819         (Depends-on): Update.
35821 2011-05-21  Bruno Haible  <bruno@clisp.org>
35823         setenv: Move AC_LIBOBJ invocations to module description.
35824         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
35825         here...
35826         * modules/setenv (configure.ac): ... to here.
35828 2011-05-21  Bruno Haible  <bruno@clisp.org>
35830         selinux-h: Move AC_LIBOBJ invocations to module description.
35831         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
35832         AC_LIBOBJ invocation from here...
35833         * modules/selinux-h (configure.ac): ... to here.
35835 2011-05-21  Bruno Haible  <bruno@clisp.org>
35837         select: Respect rules for use of AC_LIBOBJ.
35838         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
35839         here...
35840         * modules/select (configure.ac): ... to here.
35842 2011-05-21  Bruno Haible  <bruno@clisp.org>
35844         scandir: Move AC_LIBOBJ invocations to module description.
35845         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
35846         invocations from here...
35847         * modules/scandir (configure.ac): ... to here.
35849 2011-05-21  Bruno Haible  <bruno@clisp.org>
35851         rpmatch: Move AC_LIBOBJ invocations to module description.
35852         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
35853         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
35854         here...
35855         * modules/rpmatch (configure.ac): ... to here.
35857 2011-05-21  Bruno Haible  <bruno@clisp.org>
35859         rmdir: Respect rules for use of AC_LIBOBJ.
35860         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
35861         * modules/rmdir (configure.ac): ... to here.
35863 2011-05-21  Bruno Haible  <bruno@clisp.org>
35865         renameat: Move AC_LIBOBJ invocations to module description.
35866         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
35867         here...
35868         * modules/renameat (configure.ac): ... to here.
35870 2011-05-21  Bruno Haible  <bruno@clisp.org>
35872         rename: Respect rules for use of AC_LIBOBJ.
35873         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
35874         here...
35875         * modules/rename (configure.ac): ... to here.
35877 2011-05-21  Bruno Haible  <bruno@clisp.org>
35879         remove: Move AC_LIBOBJ invocations to module description.
35880         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
35881         here...
35882         * modules/remove (configure.ac): ... to here.
35884 2011-05-21  Bruno Haible  <bruno@clisp.org>
35886         relocatable-lib: Move AC_LIBOBJ invocations to module description.
35887         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
35888         macro.
35889         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
35890         * modules/relocatable-lib (configure.ac): ... to here.
35891         * modules/relocatable-prog-wrapper (configure.ac): Invoke
35892         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
35894 2011-05-21  Bruno Haible  <bruno@clisp.org>
35896         relocatable-prog: Move AC_LIBOBJ invocations to module description.
35897         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
35898         here...
35899         * modules/relocatable-prog (configure.ac): ... to here.
35901 2011-05-21  Bruno Haible  <bruno@clisp.org>
35903         regex: Move AC_LIBOBJ invocations to module description.
35904         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
35905         invocations from here...
35906         * modules/regex (configure.ac): ... to here.
35908 2011-05-21  Bruno Haible  <bruno@clisp.org>
35910         realloc-*: Move AC_LIBOBJ invocations to module description.
35911         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
35912         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
35913         AC_LIBOBJ invocations from here...
35914         * modules/realloc-gnu (configure.ac): ... to here.
35915         * modules/realloc-posix (configure.ac): ... and here.
35917 2011-05-21  Bruno Haible  <bruno@clisp.org>
35919         readutmp: Move AC_LIBOBJ invocations to module description.
35920         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
35921         * modules/readutmp (configure.ac): ... to here.
35923 2011-05-21  Bruno Haible  <bruno@clisp.org>
35925         readlinkat: Move AC_LIBOBJ invocations to module description.
35926         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
35927         here...
35928         * modules/readlinkat (configure.ac): ... to here.
35930 2011-05-21  Bruno Haible  <bruno@clisp.org>
35932         readlink: Move AC_LIBOBJ invocations to module description.
35933         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
35934         gl_PREREQ_READLINK invocations from here...
35935         * modules/readlink (configure.ac): ... to here.
35937 2011-05-21  Bruno Haible  <bruno@clisp.org>
35939         readline: Move AC_LIBOBJ invocations to module description.
35940         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
35941         gl_PREREQ_READLINE invocations from here...
35942         * modules/readline (configure.ac): ... to here.
35944 2011-05-21  Bruno Haible  <bruno@clisp.org>
35946         read: Move AC_LIBOBJ invocations to module description.
35947         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
35948         * modules/read (configure.ac): ... to here.
35950 2011-05-21  Bruno Haible  <bruno@clisp.org>
35952         rawmemchr: Move AC_LIBOBJ invocations to module description.
35953         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
35954         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
35955         from here...
35956         * modules/rawmemchr (configure.ac): ... to here.
35958 2011-05-21  Bruno Haible  <bruno@clisp.org>
35960         random_r: Move AC_LIBOBJ invocations to module description.
35961         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
35962         gl_PREREQ_RANDOM_R invocations from here...
35963         * modules/random_r (configure.ac): ... to here.
35965 2011-05-21  Bruno Haible  <bruno@clisp.org>
35967         pwrite: Move AC_LIBOBJ invocations to module description.
35968         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
35969         * modules/pwrite (configure.ac): ... to here.
35971 2011-05-21  Bruno Haible  <bruno@clisp.org>
35973         putenv: Move AC_LIBOBJ invocations to module description.
35974         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
35975         * modules/putenv (configure.ac): ... to here.
35977 2011-05-21  Bruno Haible  <bruno@clisp.org>
35979         login_tty: Move AC_LIBOBJ invocations to module description.
35980         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
35981         * modules/login_tty (configure.ac): ... to here.
35983 2011-05-21  Bruno Haible  <bruno@clisp.org>
35985         openpty: Move AC_LIBOBJ invocations to module description.
35986         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
35987         * modules/openpty (configure.ac): ... to here.
35989 2011-05-21  Bruno Haible  <bruno@clisp.org>
35991         forkpty: Move AC_LIBOBJ invocations to module description.
35992         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
35993         * modules/forkpty (configure.ac): ... to here.
35995 2011-05-21  Bruno Haible  <bruno@clisp.org>
35997         ptsname: Move AC_LIBOBJ invocations to module description.
35998         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
35999         invocations from here...
36000         * modules/ptsname (configure.ac): ... to here.
36002 2011-05-21  Bruno Haible  <bruno@clisp.org>
36004         pread: Move AC_LIBOBJ invocations to module description.
36005         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
36006         * modules/pread (configure.ac): ... to here.
36008 2011-05-21  Bruno Haible  <bruno@clisp.org>
36010         posix_spawn*: Move AC_LIBOBJ invocations to module description.
36011         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
36012         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
36013         * modules/posix_spawn (configure.ac): ... to here.
36014         * modules/posix_spawnp (configure.ac): ... and here.
36016 2011-05-21  Bruno Haible  <bruno@clisp.org>
36018         popen: Move AC_LIBOBJ invocations to module description.
36019         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
36020         invocations from here...
36021         * modules/popen (configure.ac): ... to here.
36023 2011-05-21  Bruno Haible  <bruno@clisp.org>
36025         poll: Move AC_LIBOBJ invocations to module description.
36026         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
36027         invocations from here...
36028         * modules/poll (configure.ac): ... to here.
36030 2011-05-21  Bruno Haible  <bruno@clisp.org>
36032         pipe-posix: Move AC_LIBOBJ invocations to module description.
36033         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
36034         * modules/pipe-posix (configure.ac): ... to here.
36036 2011-05-21  Bruno Haible  <bruno@clisp.org>
36038         openat: Respect rules for use of AC_LIBOBJ.
36039         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
36040         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
36041         * modules/openat (configure.ac): ... to here.
36043 2011-05-21  Bruno Haible  <bruno@clisp.org>
36045         obstack-printf*: Move AC_LIBOBJ invocations to module description.
36046         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
36047         invocation from here...
36048         * modules/obstack-printf (configure.ac): ... to here.
36049         * modules/obstack-printf-posix (configure.ac): ... and here.
36051 2011-05-21  Bruno Haible  <bruno@clisp.org>
36053         nl_langinfo: Move AC_LIBOBJ invocations to module description.
36054         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
36055         from here...
36056         * modules/nl_langinfo (configure.ac): ... to here.
36058 2011-05-21  Bruno Haible  <bruno@clisp.org>
36060         nanosleep: Move AC_LIBOBJ invocations to module description.
36061         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
36062         gl_PREREQ_NANOSLEEP invocations from here...
36063         * modules/nanosleep (configure.ac): ... to here.
36065 2011-05-21  Bruno Haible  <bruno@clisp.org>
36067         mountlist: Move AC_LIBOBJ invocations to module description.
36068         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
36069         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
36070         * modules/mountlist (configure.ac): ... to here.
36072 2011-05-21  Bruno Haible  <bruno@clisp.org>
36074         mktime: Respect rules for use of AC_LIBOBJ.
36075         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
36076         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
36077         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
36078         (gl_FUNC_MKTIME_INTERNAL): ... and here...
36079         * modules/mktime (configure.ac): ... to here.
36080         * modules/mktime-internal (configure.ac): ... and here.
36081         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
36083 2011-05-21  Bruno Haible  <bruno@clisp.org>
36085         mkstemps: Move AC_LIBOBJ invocations to module description.
36086         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
36087         here...
36088         * modules/mkstemps (configure.ac): ... to here.
36090 2011-05-21  Bruno Haible  <bruno@clisp.org>
36092         mkstemp: Move AC_LIBOBJ invocations to module description.
36093         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
36094         gl_PREREQ_MKSTEMP invocations from here...
36095         * modules/mkstemp (configure.ac): ... to here.
36097 2011-05-21  Bruno Haible  <bruno@clisp.org>
36099         mkostemps: Move AC_LIBOBJ invocations to module description.
36100         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
36101         here...
36102         * modules/mkostemps (configure.ac): ... to here.
36104 2011-05-21  Bruno Haible  <bruno@clisp.org>
36106         mkostemp: Move AC_LIBOBJ invocations to module description.
36107         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
36108         gl_PREREQ_MKOSTEMP invocations from here...
36109         * modules/mkostemp (configure.ac): ... to here.
36111 2011-05-21  Bruno Haible  <bruno@clisp.org>
36113         mknod: Move AC_LIBOBJ invocations to module description.
36114         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
36115         * modules/mknod (configure.ac): ... to here.
36117 2011-05-21  Bruno Haible  <bruno@clisp.org>
36119         mkfifoat: Move AC_LIBOBJ invocations to module description.
36120         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
36121         here...
36122         * modules/mkfifoat (configure.ac): ... to here.
36124 2011-05-21  Bruno Haible  <bruno@clisp.org>
36126         mkfifo: Respect rules for use of AC_LIBOBJ.
36127         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
36128         here...
36129         * modules/mkfifo (configure.ac): ... to here.
36131 2011-05-21  Bruno Haible  <bruno@clisp.org>
36133         mkdtemp: Move AC_LIBOBJ invocations to module description.
36134         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
36135         invocations from here...
36136         * modules/mkdtemp (configure.ac): ... to here.
36138 2011-05-21  Bruno Haible  <bruno@clisp.org>
36140         mkdir: Move AC_LIBOBJ invocations to module description.
36141         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
36142         * modules/mkdir (configure.ac): ... to here.
36144 2011-05-21  Bruno Haible  <bruno@clisp.org>
36146         memset: Move AC_LIBOBJ invocations to module description.
36147         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
36148         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
36149         here...
36150         * modules/memset (configure.ac): ... to here.
36152 2011-05-21  Bruno Haible  <bruno@clisp.org>
36154         memrchr: Move AC_LIBOBJ invocations to module description.
36155         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
36156         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
36157         here...
36158         * modules/memrchr (configure.ac): ... to here.
36160 2011-05-21  Bruno Haible  <bruno@clisp.org>
36162         mempcpy: Move AC_LIBOBJ invocations to module description.
36163         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
36164         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
36165         here...
36166         * modules/mempcpy (configure.ac): ... to here.
36168 2011-05-21  Bruno Haible  <bruno@clisp.org>
36170         memmove: Move AC_LIBOBJ invocations to module description.
36171         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
36172         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
36173         here...
36174         * modules/memmove (configure.ac): ... to here.
36176 2011-05-21  Bruno Haible  <bruno@clisp.org>
36178         memmem*: Move AC_LIBOBJ invocations to module description.
36179         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
36180         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
36181         here...
36182         (gl_FUNC_MEMMEM): ... and here...
36183         * modules/memmem-simple (configure.ac): ... to here.
36184         * modules/memmem (configure.ac): ... and here.
36186 2011-05-21  Bruno Haible  <bruno@clisp.org>
36188         memcpy: Move AC_LIBOBJ invocations to module description.
36189         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
36190         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
36191         here...
36192         * modules/memcpy (configure.ac): ... to here.
36194 2011-05-21  Bruno Haible  <bruno@clisp.org>
36196         memcmp: Simplify autoconf macro.
36197         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
36198         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
36199         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
36201 2011-05-21  Bruno Haible  <bruno@clisp.org>
36203         memcmp: Move AC_LIBOBJ invocations to module description.
36204         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
36205         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
36206         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
36207         * modules/memcmp (configure.ac): ... to here.
36208         (Depends-on): Update conditions.
36210 2011-05-21  Bruno Haible  <bruno@clisp.org>
36212         memchr: Respect rules for use of AC_LIBOBJ.
36213         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
36214         invocations from here...
36215         * modules/memchr (configure.ac): ... to here.
36217 2011-05-21  Bruno Haible  <bruno@clisp.org>
36219         mbtowc: Move AC_LIBOBJ invocations to module description.
36220         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
36221         invocations from here...
36222         * modules/mbtowc (configure.ac): ... to here.
36224 2011-05-21  Bruno Haible  <bruno@clisp.org>
36226         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
36227         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
36228         gl_PREREQ_MBSRTOWCS invocations from here...
36229         * modules/mbsrtowcs (configure.ac): ... to here.
36231 2011-05-21  Bruno Haible  <bruno@clisp.org>
36233         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
36234         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
36235         gl_PREREQ_MBSNRTOWCS invocations from here...
36236         * modules/mbsnrtowcs (configure.ac): ... to here.
36238 2011-05-21  Bruno Haible  <bruno@clisp.org>
36240         mbsinit: Move AC_LIBOBJ invocations to module description.
36241         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
36242         invocations from here...
36243         * modules/mbsinit (configure.ac): ... to here.
36245 2011-05-21  Bruno Haible  <bruno@clisp.org>
36247         mbrlen: Move AC_LIBOBJ invocations to module description.
36248         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
36249         invocations from here...
36250         * modules/mbrlen (configure.ac): ... to here.
36252 2011-05-21  Bruno Haible  <bruno@clisp.org>
36254         mbrtowc: Respect rules for use of AC_LIBOBJ.
36255         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
36256         invocations from here...
36257         * modules/mbrtowc (configure.ac): ... to here.
36259 2011-05-21  Bruno Haible  <bruno@clisp.org>
36261         malloc-*: Move AC_LIBOBJ invocations to module description.
36262         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
36263         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
36264         AC_LIBOBJ invocations from here...
36265         * modules/malloc-gnu (configure.ac): ... to here.
36266         * modules/malloc-posix (configure.ac): ... and here.
36268 2011-05-21  Bruno Haible  <bruno@clisp.org>
36270         lstat, openat: Respect rules for use of AC_LIBOBJ.
36271         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
36272         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
36273         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
36274         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
36275         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
36276         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
36277         here.
36278         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
36280 2011-05-21  Bruno Haible  <bruno@clisp.org>
36282         lseek: Move AC_LIBOBJ invocations to module description.
36283         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
36284         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
36285         * modules/lseek (configure.ac): ... to here.
36287 2011-05-21  Bruno Haible  <bruno@clisp.org>
36289         linkat: Move AC_LIBOBJ invocations to module description.
36290         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
36291         here...
36292         * modules/linkat (configure.ac): ... to here.
36294 2011-05-21  Bruno Haible  <bruno@clisp.org>
36296         link: Respect rules for use of AC_LIBOBJ.
36297         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
36298         * modules/link (configure.ac): ... to here.
36300 2011-05-21  Bruno Haible  <bruno@clisp.org>
36302         lchown: Move AC_LIBOBJ invocations to module description.
36303         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
36304         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
36305         * modules/lchown (configure.ac): ... to here.
36307 2011-05-21  Bruno Haible  <bruno@clisp.org>
36309         iswctype: Move AC_LIBOBJ invocations to module description.
36310         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
36311         here...
36312         * modules/iswctype (configure.ac): ... to here.
36314 2011-05-21  Bruno Haible  <bruno@clisp.org>
36316         iswblank: Move AC_LIBOBJ invocations to module description.
36317         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
36318         here...
36319         * modules/iswblank (configure.ac): ... to here.
36321 2011-05-21  Bruno Haible  <bruno@clisp.org>
36323         atanl: Move AC_LIBOBJ invocations to module description.
36324         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
36325         * modules/atanl (configure.ac): ... to here.
36327 2011-05-21  Bruno Haible  <bruno@clisp.org>
36329         acosl: Move AC_LIBOBJ invocations to module description.
36330         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
36331         * modules/acosl (configure.ac): ... to here.
36333 2011-05-21  Bruno Haible  <bruno@clisp.org>
36335         asinl: Respect rules for use of AC_LIBOBJ.
36336         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
36337         * modules/asinl (configure.ac): ... to here.
36339 2011-05-21  Bruno Haible  <bruno@clisp.org>
36341         tanl: Move AC_LIBOBJ invocations to module description.
36342         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
36343         * modules/tanl (configure.ac): ... to here.
36345 2011-05-21  Bruno Haible  <bruno@clisp.org>
36347         cosl: Move AC_LIBOBJ invocations to module description.
36348         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
36349         * modules/cosl (configure.ac): ... to here.
36351 2011-05-21  Bruno Haible  <bruno@clisp.org>
36353         sinl: Move AC_LIBOBJ invocations to module description.
36354         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
36355         * modules/sinl (configure.ac): ... to here.
36357 2011-05-21  Bruno Haible  <bruno@clisp.org>
36359         logl: Move AC_LIBOBJ invocations to module description.
36360         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
36361         * modules/logl (configure.ac): ... to here.
36363 2011-05-21  Bruno Haible  <bruno@clisp.org>
36365         expl: Move AC_LIBOBJ invocations to module description.
36366         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
36367         * modules/expl (configure.ac): ... to here.
36369 2011-05-21  Bruno Haible  <bruno@clisp.org>
36371         roundl: Move AC_LIBOBJ invocations to module description.
36372         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
36373         * modules/roundl (configure.ac): ... to here.
36375 2011-05-21  Bruno Haible  <bruno@clisp.org>
36377         round: Move AC_LIBOBJ invocations to module description.
36378         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
36379         * modules/round (configure.ac): ... to here.
36381 2011-05-21  Bruno Haible  <bruno@clisp.org>
36383         roundf: Move AC_LIBOBJ invocations to module description.
36384         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
36385         * modules/roundf (configure.ac): ... to here.
36387 2011-05-21  Bruno Haible  <bruno@clisp.org>
36389         truncl: Move AC_LIBOBJ invocations to module description.
36390         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
36391         * modules/truncl (configure.ac): ... to here.
36393 2011-05-21  Bruno Haible  <bruno@clisp.org>
36395         trunc: Move AC_LIBOBJ invocations to module description.
36396         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
36397         * modules/trunc (configure.ac): ... to here.
36399 2011-05-21  Bruno Haible  <bruno@clisp.org>
36401         truncf: Move AC_LIBOBJ invocations to module description.
36402         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
36403         * modules/truncf (configure.ac): ... to here.
36405 2011-05-21  Bruno Haible  <bruno@clisp.org>
36407         ceill: Move AC_LIBOBJ invocations to module description.
36408         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
36409         * modules/ceill (configure.ac): ... to here.
36411 2011-05-21  Bruno Haible  <bruno@clisp.org>
36413         ceil: Move AC_LIBOBJ invocations to module description.
36414         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
36415         * modules/ceil (configure.ac): ... to here.
36417 2011-05-21  Bruno Haible  <bruno@clisp.org>
36419         ceilf: Move AC_LIBOBJ invocations to module description.
36420         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
36421         * modules/ceilf (configure.ac): ... to here.
36423 2011-05-21  Bruno Haible  <bruno@clisp.org>
36425         floorl: Respect rules for use of AC_LIBOBJ.
36426         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
36427         * modules/floorl (configure.ac): ... to here.
36429 2011-05-21  Bruno Haible  <bruno@clisp.org>
36431         floor: Respect rules for use of AC_LIBOBJ.
36432         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
36433         * modules/floor (configure.ac): ... to here.
36435 2011-05-21  Bruno Haible  <bruno@clisp.org>
36437         floorf: Move AC_LIBOBJ invocations to module description.
36438         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
36439         * modules/floorf (configure.ac): ... to here.
36441 2011-05-20  Bruno Haible  <bruno@clisp.org>
36443         sqrtl: Respect rules for use of AC_LIBOBJ.
36444         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
36445         * modules/sqrtl (configure.ac): ... to here.
36447 2011-05-20  Bruno Haible  <bruno@clisp.org>
36449         ldexpl: Respect rules for use of AC_LIBOBJ.
36450         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
36451         * modules/ldexpl (configure.ac): ... to here.
36453 2011-05-20  Bruno Haible  <bruno@clisp.org>
36455         frexpl*: Respect rules for use of AC_LIBOBJ.
36456         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
36457         invocation from here...
36458         * modules/frexpl (configure.ac): ... to here.
36459         * modules/frexpl-nolibm (configure.ac): ... and here.
36461 2011-05-20  Bruno Haible  <bruno@clisp.org>
36463         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
36464         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
36465         invocation from here...
36466         * modules/frexp (configure.ac): ... to here.
36467         * modules/frexp-nolibm (configure.ac): ... and here.
36469 2011-05-20  Bruno Haible  <bruno@clisp.org>
36471         isnan: Respect rules for use of AC_LIBOBJ.
36472         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
36473         invocations here.
36474         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
36475         REPLACE_ISNAN.
36476         * modules/isnand (configure.ac): Likewise.
36477         * modules/isnanl (configure.ac): Likewise.
36479 2011-05-20  Bruno Haible  <bruno@clisp.org>
36481         isnanl*: Respect rules for use of AC_LIBOBJ.
36482         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
36483         invocation from here...
36484         * modules/isnanl (configure.ac): ... to here.
36485         * modules/isnanl-nolibm (configure.ac): ... and here.
36487 2011-05-20  Bruno Haible  <bruno@clisp.org>
36489         isnand*: Move AC_LIBOBJ invocations to module description.
36490         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
36491         invocation from here...
36492         * modules/isnand (configure.ac): ... to here.
36493         * modules/isnand-nolibm (configure.ac): ... and here.
36495 2011-05-20  Bruno Haible  <bruno@clisp.org>
36497         isnanf*: Move AC_LIBOBJ invocations to module description.
36498         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
36499         invocation from here...
36500         * modules/isnanf (configure.ac): ... to here.
36501         * modules/isnanf-nolibm (configure.ac): ... and here.
36503 2011-05-20  Bruno Haible  <bruno@clisp.org>
36505         isnan*: Separate the AC_LIBOBJ invocations.
36506         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
36507         AC_LIBOBJ invocation.
36508         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
36509         here.
36510         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
36511         AC_LIBOBJ invocation.
36512         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
36513         here.
36514         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
36515         AC_LIBOBJ invocation.
36516         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
36517         here.
36518         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
36520 2011-05-08  Bruno Haible  <bruno@clisp.org>
36522         isinf: Move AC_LIBOBJ invocations to module description.
36523         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
36524         * modules/isinf (configure.ac): ... to here.
36526 2011-05-08  Bruno Haible  <bruno@clisp.org>
36528         isfinite: Move AC_LIBOBJ invocations to module description.
36529         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
36530         * modules/isfinite (configure.ac): ... to here.
36532 2011-05-08  Bruno Haible  <bruno@clisp.org>
36534         isblank: Move AC_LIBOBJ invocations to module description.
36535         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
36536         here...
36537         * modules/isblank (configure.ac): ... to here.
36539 2011-05-08  Bruno Haible  <bruno@clisp.org>
36541         isapipe: Move AC_LIBOBJ invocations to module description.
36542         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
36543         gl_PREREQ_ISAPIPE invocations from here...
36544         * modules/isapipe (configure.ac): ... to here.
36545         (Depends-on): Update condition.
36547 2011-05-08  Bruno Haible  <bruno@clisp.org>
36549         ioctl: Move AC_LIBOBJ invocations to module description.
36550         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
36551         invocations from here...
36552         * modules/ioctl (configure.ac): ... to here.
36553         (Depends-on): Update condition.
36555 2011-05-08  Bruno Haible  <bruno@clisp.org>
36557         imaxdiv: Move AC_LIBOBJ invocations to module description.
36558         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
36559         invocations from here...
36560         * modules/imaxdiv (configure.ac): ... to here.
36562 2011-05-08  Bruno Haible  <bruno@clisp.org>
36564         imaxabs: Move AC_LIBOBJ invocations to module description.
36565         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
36566         invocations from here...
36567         * modules/imaxabs (configure.ac): ... to here.
36569 2011-05-08  Bruno Haible  <bruno@clisp.org>
36571         getaddrinfo: Move AC_LIBOBJ invocations to module description.
36572         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
36573         AC_LIBOBJ invocations from here...
36574         * modules/getaddrinfo (configure.ac): ... to here.
36575         (Depends-on): Add conditions.
36577 2011-05-08  Bruno Haible  <bruno@clisp.org>
36579         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
36580         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
36581         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
36582         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
36583         (gl_PREREQ_INET_PTON): ... from here.
36584         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
36585         gl_PREREQ_INET_PTON here.
36586         (Depends-on): Update condition.
36588 2011-05-08  Bruno Haible  <bruno@clisp.org>
36590         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
36591         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
36592         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
36593         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
36594         (gl_PREREQ_INET_NTOP): ... from here.
36595         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
36596         gl_PREREQ_INET_NTOP here.
36597         (Depends-on): Update condition.
36599 2011-05-08  Bruno Haible  <bruno@clisp.org>
36601         iconv_open: Move AC_LIBOBJ invocations to module description.
36602         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
36603         AC_LIBOBJ invocations from here...
36604         * modules/iconv_open (configure.ac): ... to here.
36606 2011-05-08  Bruno Haible  <bruno@clisp.org>
36608         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
36609         If module 'iconv_open' is among the main modules and module
36610         'iconv_open-utf' is among the tests dependencies, then
36611         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
36612         return the special iconv_t values. Therefore iconv() and iconv_close()
36613         must support these special iconv_t values, already in lib, not only in
36614         tests.
36615         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
36616         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
36617         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
36618         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
36619         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
36620         (Depends-on): Add the dependencies of iconv_open-utf.
36621         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
36622         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
36623         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
36625 2011-05-08  Bruno Haible  <bruno@clisp.org>
36627         group-member: Move AC_LIBOBJ invocations to module description.
36628         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
36629         gl_PREREQ_GROUP_MEMBER invocations from here...
36630         * modules/group-member (configure.ac): ... to here.
36632 2011-05-08  Bruno Haible  <bruno@clisp.org>
36634         grantpt: Move AC_LIBOBJ invocations to module description.
36635         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
36636         invocations from here...
36637         * modules/grantpt (configure.ac): ... to here.
36639 2011-05-08  Bruno Haible  <bruno@clisp.org>
36641         glob: Move AC_LIBOBJ invocations to module description.
36642         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
36643         from here...
36644         * modules/glob (configure.ac): ... to here.
36646 2011-05-08  Bruno Haible  <bruno@clisp.org>
36648         getusershell: Move AC_LIBOBJ invocations to module description.
36649         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
36650         Move AC_LIBOBJ invocation from here...
36651         * modules/getusershell (configure.ac): ... to here.
36652         (Depends-on): Update condition.
36654 2011-05-08  Bruno Haible  <bruno@clisp.org>
36656         gettimeofday: Move AC_LIBOBJ invocations to module description.
36657         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
36658         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
36659         gl_PREREQ_GETTIMEOFDAY invocations from here...
36660         * modules/gettimeofday (configure.ac): ... to here.
36662 2011-05-08  Bruno Haible  <bruno@clisp.org>
36664         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
36665         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
36666         just gl_FUNC_TZSET.
36667         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
36668         (gl_FUNC_TZSET_CLOBBER): Remove actions.
36669         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
36670         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
36672 2011-05-08  Bruno Haible  <bruno@clisp.org>
36674         getsubopt: Move AC_LIBOBJ invocations to module description.
36675         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
36676         gl_PREREQ_GETSUBOPT invocations from here...
36677         * modules/getsubopt (configure.ac): ... to here.
36679 2011-05-08  Bruno Haible  <bruno@clisp.org>
36681         getpass-gnu: Move AC_LIBOBJ invocations to module description.
36682         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
36683         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
36684         * modules/getpass-gnu (configure.ac): ... to here.
36686 2011-05-08  Bruno Haible  <bruno@clisp.org>
36688         getpass: Move AC_LIBOBJ invocations to module description.
36689         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
36690         gl_PREREQ_GETPASS invocations from here...
36691         * modules/getpass (configure.ac): ... to here.
36693 2011-05-08  Bruno Haible  <bruno@clisp.org>
36695         getpagesize: Move AC_LIBOBJ invocations to module description.
36696         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
36697         from here...
36698         * modules/getpagesize (configure.ac): ... to here.
36700 2011-05-08  Bruno Haible  <bruno@clisp.org>
36702         getopt: Move AC_LIBOBJ invocations to module description.
36703         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
36704         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
36705         invocations from here...
36706         * modules/getopt-gnu (configure.ac): ... to here.
36707         * modules/getopt-posix (configure.ac): ... and here.
36708         (Depends-on): Update condition.
36710 2011-05-08  Bruno Haible  <bruno@clisp.org>
36712         getopt, argp: Respect rules for use of AC_LIBOBJ.
36713         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
36714         (gl_REPLACE_GETOPT_ALWAYS): New macro.
36715         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
36716         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
36718 2011-05-08  Bruno Haible  <bruno@clisp.org>
36720         getlogin_r: Move AC_LIBOBJ invocations to module description.
36721         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
36722         gl_PREREQ_GETLOGIN_R invocations from here...
36723         * modules/getlogin_r (configure.ac): ... to here.
36725 2011-05-08  Bruno Haible  <bruno@clisp.org>
36727         getlogin: Move AC_LIBOBJ invocations to module description.
36728         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
36729         here...
36730         * modules/getlogin (configure.ac): ... to here.
36732 2011-05-08  Bruno Haible  <bruno@clisp.org>
36734         getloadavg: Move AC_LIBOBJ invocations to module description.
36735         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
36736         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
36737         * modules/getloadavg (configure.ac): ... to here.
36739 2011-05-08  Bruno Haible  <bruno@clisp.org>
36741         gethrxtime: Move AC_LIBOBJ invocations to module description.
36742         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
36743         LIB_GETHRXTIME from here...
36744         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
36745         invocations from here...
36746         * modules/gethrxtime (configure.ac): ... to here.
36748 2011-05-08  Bruno Haible  <bruno@clisp.org>
36750         gethostname: Move AC_LIBOBJ invocations to module description.
36751         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
36752         gl_PREREQ_GETHOSTNAME invocations from here...
36753         * modules/gethostname (configure.ac): ... to here.
36755 2011-05-08  Bruno Haible  <bruno@clisp.org>
36757         getgroups: Move AC_LIBOBJ invocations to module description.
36758         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
36759         here...
36760         * modules/getgroups (configure.ac): ... to here.
36762 2011-05-08  Bruno Haible  <bruno@clisp.org>
36764         getdtablesize: Move AC_LIBOBJ invocations to module description.
36765         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
36766         invocation from here...
36767         * modules/getdtablesize (configure.ac): ... to here.
36769 2011-05-08  Bruno Haible  <bruno@clisp.org>
36771         getdomainname: Move AC_LIBOBJ invocations to module description.
36772         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
36773         gl_PREREQ_GETDOMAINNAME invocations from here...
36774         * modules/getdomainname (configure.ac): ... to here.
36776 2011-05-08  Bruno Haible  <bruno@clisp.org>
36778         getline: Move AC_LIBOBJ invocations to module description.
36779         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
36780         invocations from here...
36781         * modules/getline (configure.ac): ... to here.
36783 2011-05-08  Bruno Haible  <bruno@clisp.org>
36785         getline: Simplify.
36786         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
36787         It's already handled through the module dependency.
36789 2011-05-08  Bruno Haible  <bruno@clisp.org>
36791         getdelim: Move AC_LIBOBJ invocations to module description.
36792         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
36793         and gl_PREREQ_GETDELIM invocations from here...
36794         * modules/getdelim (configure.ac): ... to here.
36795         (Depends-on): Fix condition.
36797 2011-05-08  Bruno Haible  <bruno@clisp.org>
36799         getcwd: Move AC_LIBOBJ invocations to module description.
36800         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
36801         invocations from here...
36802         * modules/getcwd (configure.ac): ... to here.
36804 2011-05-08  Bruno Haible  <bruno@clisp.org>
36806         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
36807         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
36808         here...
36809         * modules/getcwd-lgpl (configure.ac): ... to here.
36811 2011-05-07  Bruno Haible  <bruno@clisp.org>
36813         crypto/gc: Move AC_LIBOBJ invocations to module description.
36814         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
36815         * modules/crypto/gc (configure.ac): ... to here.
36817 2011-05-07  Bruno Haible  <bruno@clisp.org>
36819         fwriting: Move AC_LIBOBJ invocations to module description.
36820         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
36821         here...
36822         * modules/fwriting (configure.ac): ... to here.
36824 2011-05-07  Bruno Haible  <bruno@clisp.org>
36826         fwritable: Move AC_LIBOBJ invocations to module description.
36827         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
36828         here...
36829         * modules/fwritable (configure.ac): ... to here.
36831 2011-05-07  Bruno Haible  <bruno@clisp.org>
36833         futimens: Move AC_LIBOBJ invocations to module description.
36834         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
36835         here...
36836         * modules/futimens (configure.ac): ... to here.
36838 2011-05-07  Bruno Haible  <bruno@clisp.org>
36840         ftruncate: Move AC_LIBOBJ invocations to module description.
36841         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
36842         gl_PREREQ_FTRUNCATE invocations from here...
36843         * modules/ftruncate (configure.ac): ... to here.
36845 2011-05-07  Bruno Haible  <bruno@clisp.org>
36847         fsync: Move AC_LIBOBJ invocations to module description.
36848         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
36849         invocations from here...
36850         * modules/fsync (configure.ac): ... to here.
36852 2011-05-07  Bruno Haible  <bruno@clisp.org>
36854         fsusage: Move AC_LIBOBJ invocations to module description.
36855         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
36856         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
36857         * modules/fsusage (configure.ac): ... to here.
36859 2011-05-07  Bruno Haible  <bruno@clisp.org>
36861         freopen: Move AC_LIBOBJ invocations to module description.
36862         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
36863         invocations from here...
36864         * modules/freopen (configure.ac): ... to here.
36866 2011-05-07  Bruno Haible  <bruno@clisp.org>
36868         free: Move AC_LIBOBJ invocations to module description.
36869         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
36870         invocations from here...
36871         * modules/free (configure.ac): ... to here.
36873 2011-05-07  Bruno Haible  <bruno@clisp.org>
36875         freadable: Move AC_LIBOBJ invocations to module description.
36876         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
36877         here...
36878         * modules/freadable (configure.ac): ... to here.
36880 2011-05-07  Bruno Haible  <bruno@clisp.org>
36882         fpurge: Move AC_LIBOBJ invocations to module description.
36883         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
36884         invocations from here...
36885         * modules/fpurge (configure.ac): ... to here.
36887 2011-05-07  Bruno Haible  <bruno@clisp.org>
36889         fpending: Move AC_LIBOBJ invocations to module description.
36890         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
36891         gl_FUNC_FPENDING.
36892         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
36893         invocations from here...
36894         * modules/fpending (configure.ac): ... to here.
36896 2011-05-07  Bruno Haible  <bruno@clisp.org>
36898         fopen: Move AC_LIBOBJ invocations to module description.
36899         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
36900         invocations from here...
36901         * modules/fopen (configure.ac): ... to here.
36903 2011-05-07  Bruno Haible  <bruno@clisp.org>
36905         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
36906         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
36907         gl_FUNC_FNMATCH_POSIX.
36908         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
36909         invocations from here...
36910         * modules/fnmatch (configure.ac): ... to here.
36911         * modules/fnmatch-gnu (configure.ac): ... and here.
36913 2011-05-07  Bruno Haible  <bruno@clisp.org>
36915         flock: Move AC_LIBOBJ invocations to module description.
36916         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
36917         invocations from here...
36918         * modules/flock (configure.ac): ... to here.
36920 2011-05-07  Bruno Haible  <bruno@clisp.org>
36922         fileblocks: Move AC_LIBOBJ invocations to module description.
36923         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
36924         gl_PREREQ_FILEBLOCKS invocations from here...
36925         * modules/fileblocks (configure.ac): ... to here.
36927 2011-05-06  Bruno Haible  <bruno@clisp.org>
36929         fflush: Move AC_LIBOBJ invocations to module description.
36930         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
36931         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
36932         invocations from here...
36933         * modules/fflush (configure.ac): ... to here.
36935 2011-05-06  Bruno Haible  <bruno@clisp.org>
36937         fdopendir: Move AC_LIBOBJ invocations to module description.
36938         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
36939         here...
36940         * modules/fdopendir (configure.ac): ... to here.
36941         (Depends-on): Improve conditions.
36943 2011-05-06  Bruno Haible  <bruno@clisp.org>
36945         _Exit: Move AC_LIBOBJ invocations to module description.
36946         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
36947         invocations from here...
36948         * modules/_Exit (configure.ac): ... to here.
36950 2011-05-21  Bruno Haible  <bruno@clisp.org>
36952         euidaccess: Respect rules for use of AC_LIBOBJ.
36953         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
36954         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
36955         from here...
36956         * modules/euidaccess (configure.ac): ... to here.
36958 2011-05-06  Bruno Haible  <bruno@clisp.org>
36960         error: Move AC_LIBOBJ invocations to module description.
36961         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
36962         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
36963         invocations from here...
36964         * modules/error (configure.ac): ... to here.
36966 2011-05-06  Bruno Haible  <bruno@clisp.org>
36968         duplocale: Move AC_LIBOBJ invocations to module description.
36969         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
36970         gl_PREREQ_DUPLOCALE invocations from here...
36971         * modules/duplocale (configure.ac): ... to here.
36973 2011-05-05  Bruno Haible  <bruno@clisp.org>
36975         dirfd: Move AC_LIBOBJ invocations to module description.
36976         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
36977         gl_FUNC_DIRFD.
36978         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
36979         here...
36980         * modules/dirfd (configure.ac): ... to here.
36981         (Depends-on): Fix condition.
36983 2011-05-05  Bruno Haible  <bruno@clisp.org>
36985         chown: Respect rules for use of AC_LIBOBJ.
36986         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
36987         * modules/chown (configure.ac): ... to here.
36989 2011-05-05  Bruno Haible  <bruno@clisp.org>
36991         chdir-long: Move AC_LIBOBJ invocations to module description.
36992         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
36993         gl_PREREQ_CHDIR_LONG invocations from here...
36994         * modules/chdir-long (configure.ac): ... to here.
36996 2011-05-05  Bruno Haible  <bruno@clisp.org>
36998         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
36999         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
37000         from here...
37001         * modules/canonicalize-lgpl (configure.ac): ... to here.
37003 2011-05-05  Bruno Haible  <bruno@clisp.org>
37005         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
37006         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
37007         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
37008         REPLACE_CALLOC.
37009         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
37010         * modules/calloc-gnu (configure.ac): Likewise.
37012 2011-05-05  Bruno Haible  <bruno@clisp.org>
37014         btowc: Move AC_LIBOBJ invocations to module description.
37015         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
37016         invocations from here...
37017         * modules/btowc (configure.ac): ... to here.
37019 2011-05-21  Bruno Haible  <bruno@clisp.org>
37021         atexit: Move AC_LIBOBJ invocations to module description.
37022         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
37023         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
37024         here...
37025         * modules/atexit (configure.ac): ... to here.
37027 2011-05-05  Bruno Haible  <bruno@clisp.org>
37029         atoll: Move AC_LIBOBJ invocations to module description.
37030         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
37031         invocations from here...
37032         * modules/atoll (configure.ac): ... to here.
37034 2011-05-05  Bruno Haible  <bruno@clisp.org>
37036         argz: Move AC_LIBOBJ invocations to module description.
37037         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
37038         * modules/argz (configure.ac): ... to here.
37040 2011-05-05  Bruno Haible  <bruno@clisp.org>
37042         alphasort: Move AC_LIBOBJ invocations to module description.
37043         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
37044         gl_PREREQ_ALPHASORT invocations from here...
37045         * modules/alphasort (configure.ac): ... to here.
37047 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
37049         verify: new macro verify_expr; verify_true deprecated
37050         * NEWS: Mention this.
37051         * doc/verify.texi (Compile-time Assertions): Document this.
37052         * lib/verify.h (verify_true): Deprecate.
37053         (verify_expr): New macro.
37054         * tests/test-verify.c (function): Test verify_expr.
37056 2011-06-14  Jim Meyering  <meyering@redhat.com>
37058         init.sh: give more portable redirection-related advice in a comment
37059         * tests/init.sh (stderr_fileno_): Update the advice in comments.
37060         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
37061         for lots of discussion.  Stefano Lattarini suggested the solution
37062         of putting "9>&2" after the command.  Reported by Bruno Haible.
37064 2011-06-13  Bruno Haible  <bruno@clisp.org>
37066         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
37067         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
37068         'none'.
37070 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
37072         ftoastr: use strtof only if HAVE_STRTOF
37073         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
37074         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00154.html>.
37075         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
37076         * modules/ftoastr (configure.ac): Check for strtof.
37078 2011-06-13  Bruno Haible  <bruno@clisp.org>
37080         gnulib-tool: Addendum to 2011-06-08 commit.
37081         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
37082         and --witness-c-macro have been given, augment AM_CPPFLAGS.
37084 2011-06-13  Bruno Haible  <bruno@clisp.org>
37086         fseeko: Provide a non-inline replacement of fseek().
37087         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
37088         * modules/fseeko (Depends-on): Add fseek.
37089         * modules/fseek (License): Change to LGPLv2+.
37091 2011-06-13  Bruno Haible  <bruno@clisp.org>
37093         ftello: Provide a non-inline replacement of ftell().
37094         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
37095         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
37096         not have ftello() (such as on mingw).
37097         * modules/ftello (Depends-on): Add ftell.
37098         * modules/ftell (License): Change to LGPLv2+.
37100 2011-05-07  Bruno Haible  <bruno@clisp.org>
37102         ftell: Move AC_LIBOBJ invocations to module description.
37103         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
37104         * modules/ftell (configure.ac): ... to here.
37106 2011-05-07  Bruno Haible  <bruno@clisp.org>
37108         ftello: Respect rules for use of AC_LIBOBJ.
37109         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
37110         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
37111         here...
37112         * modules/ftello (configure.ac): ... to here.
37114 2011-05-07  Bruno Haible  <bruno@clisp.org>
37116         fseeko: Simplify.
37117         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
37118         (gl_FUNC_FSEEKO): Inline it here.
37120 2011-05-07  Bruno Haible  <bruno@clisp.org>
37122         fseek: Move AC_LIBOBJ invocations to module description.
37123         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
37124         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
37125         * modules/fseek (configure.ac): ... to here.
37127 2011-05-07  Bruno Haible  <bruno@clisp.org>
37129         fseek: Respect rules for use of AC_LIBOBJ.
37130         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
37131         here...
37132         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
37134 2011-05-07  Bruno Haible  <bruno@clisp.org>
37136         fseeko: Respect rules for use of AC_LIBOBJ.
37137         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
37138         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
37139         here...
37140         * modules/fseeko (configure.ac): ... to here.
37142 2011-06-13  Bruno Haible  <bruno@clisp.org>
37144         gnulib-tool: Allow comments in the 'Depends-on' section.
37145         * doc/gnulib.texi (Module description): Mention comment syntax in the
37146         Depends-on section.
37147         * gnulib-tool (func_get_dependencies): Filter out comment lines.
37149 2011-06-13  Bruno Haible  <bruno@clisp.org>
37151         file-set.h: guard __attibute__ use, now that it's not always defined
37152         * lib/file-set.h (record_file): Use __attribute__ only with compiler
37153         versions that support it.  This fixes a coreutils build failure with
37154         the vendor cc on HP-UX 11.31.
37156 2011-06-12  Bruno Haible  <bruno@clisp.org>
37158         acl: Add support for HP-UX >= 11.11 JFS ACLs.
37159         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
37160         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
37161         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
37162         (acl, aclsort): New declarations.
37163         (aclv_nontrivial): New declaration.
37164         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
37165         (file_has_acl): Read also the second kind of HP-UX ACLs.
37166         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
37167         kind of HP-UX ACLs if the first kind fails.
37168         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
37169         second kind of HP-UX ACLs.
37170         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
37171         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
37172         agree.
37173         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
37174         hpuxjfs.
37175         Handle hpuxjfs.
37176         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
37177         hpuxjfs.
37178         Handle hpuxjfs.
37179         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
37180         (func_test_same_acls): Use both lsacl and getacl.
37181         Handle hpuxjfs.
37182         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
37183         (func_test_same_acls): Use both lsacl and getacl.
37184         Handle hpuxjfs.
37186 2011-06-12  Bruno Haible  <bruno@clisp.org>
37188         acl: Complete the 2010-08-10 fix.
37189         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
37190         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
37191         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
37192         explicitly.
37193         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
37194         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
37196 2011-06-12  Bruno Haible  <bruno@clisp.org>
37198         spawn-pipe tests: Comments.
37199         * tests/test-spawn-pipe-child.c (main): Update comment.
37200         Reported by James Youngman <jay@gnu.org>.
37202 2011-06-11  James Youngman  <jay@gnu.org>
37204         New module 'stat-size'.
37205         * modules/stat-size: New module.  Provides macros for accessing
37206         file size information in instances of struct stat.  Depends on the
37207         fileblocks module because it calls st_blocks.
37208         * lib/stat-size.h: New file, adapted from coreutils' system.h.
37209         * doc/gnulib.texi: Include stat-size.texi.
37210         * doc/stat-size.texi: Documentation for this module.
37211         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
37212         * m4/fileblocks.m4: Mention that stat-size depends on the call to
37213         AC_STRUCT_ST_BLOCKS.
37215 2011-06-09  Bruno Haible  <bruno@clisp.org>
37217         thread: Support pthreads-win32.
37218         * lib/glthread/thread.h (gl_thread_self): Define differently on
37219         pthreads-win32.
37220         (gl_null_thread): New declaration.
37221         (gl_thread_self_pointer): New macro.
37222         * lib/glthread/thread.c (gl_null_thread): New constant.
37223         * tests/test-lock.c: Use gl_thread_self_pointer instead of
37224         gl_thread_self.
37225         * tests/test-tls.c: Likewise.
37226         Suggested by Paul Eggert. Reported by Eric Blake.
37228 2011-06-09  Bruno Haible  <bruno@clisp.org>
37230         thread: Fix confusion between NULL and 0.
37231         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
37232         Reported by Paul Eggert.
37234 2011-06-09  Bruno Haible  <bruno@clisp.org>
37236         spawn-pipe tests: Avoid test failure on HP-UX 11.
37237         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
37238         is closed.
37240 2011-06-09  Bruno Haible  <bruno@clisp.org>
37242         acl tests: Fix compilation error on HP-UX 11.
37243         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
37245 2011-06-09  Bruno Haible  <bruno@clisp.org>
37247         rmdir: Avoid test failure on HP-UX 10.20.
37248         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
37249         EEXIST.
37251 2011-06-08  Eric Blake  <eblake@redhat.com>
37253         perror: fix test on mingw
37254         * modules/perror-tests (Depends-on): Add dup2.
37256         strerror_r-posix: fix on MacOS
37257         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
37258         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
37259         logic bug.
37260         * lib/strerror_r.c (strerror_r): Fix the bug.
37261         * lib/strerror.c (strerror): Likewise.
37262         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
37263         problem.
37264         * doc/posix-functions/strerror.texi (strerror): Likewise.
37265         * doc/posix-functions/perror.texi (perror): Likewise.
37266         * tests/test-strerror.c (main): Enhance test.
37267         * tests/test-strerror_r.c (main): Likewise.
37269 2011-06-08  Bruno Haible  <bruno@clisp.org>
37271         gnulib-tool: Better isolation between different gnulib-tool invocations.
37272         * gnulib-tool: New option --witness-c-macro.
37273         (witness_c_macro): New variable.
37274         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
37275         AM_CPPFLAGS define it as a C macro.
37276         (func_emit_tests_Makefile_am): Likewise.
37277         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
37278         read it from there.
37279         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
37280         m4_define, not AC_DEFUN.
37281         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
37282         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
37283         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
37284         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
37285         s|...|...|, to substitute the values of the GNULIB_* module indicator
37286         variables.
37287         * modules/dirent (Makefile.am): Likewise.
37288         * modules/fcntl-h (Makefile.am): Likewise.
37289         * modules/iconv-h (Makefile.am): Likewise.
37290         * modules/langinfo (Makefile.am): Likewise.
37291         * modules/locale (Makefile.am): Likewise.
37292         * modules/math (Makefile.am): Likewise.
37293         * modules/netdb (Makefile.am): Likewise.
37294         * modules/poll-h (Makefile.am): Likewise.
37295         * modules/pty (Makefile.am): Likewise.
37296         * modules/search (Makefile.am): Likewise.
37297         * modules/signal (Makefile.am): Likewise.
37298         * modules/spawn (Makefile.am): Likewise.
37299         * modules/stdio (Makefile.am): Likewise.
37300         * modules/stdlib (Makefile.am): Likewise.
37301         * modules/string (Makefile.am): Likewise.
37302         * modules/sys_ioctl (Makefile.am): Likewise.
37303         * modules/sys_select (Makefile.am): Likewise.
37304         * modules/sys_socket (Makefile.am): Likewise.
37305         * modules/sys_stat (Makefile.am): Likewise.
37306         * modules/sys_times (Makefile.am): Likewise.
37307         * modules/sys_utsname (Makefile.am): Likewise.
37308         * modules/sys_wait (Makefile.am): Likewise.
37309         * modules/termios (Makefile.am): Likewise.
37310         * modules/time (Makefile.am): Likewise.
37311         * modules/unistd (Makefile.am): Likewise.
37312         * modules/wchar (Makefile.am): Likewise.
37314 2011-06-08  Eric Blake  <eblake@redhat.com>
37316         strerror: simplify replacement
37317         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
37318         * modules/strerror (configure.ac): No prereqs needed here...
37319         * modules/strerror-override (configure.ac): ...but this needs it.
37320         (Files): Add file for needed prereq macro.
37322 2011-06-08  Bruno Haible  <bruno@clisp.org>
37324         strerror_r-posix: Tweaks.
37325         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
37326         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
37327         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
37328         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
37329         (gl_FUNC_STRERROR_R): ... to here.
37330         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
37332 2011-06-07  Eric Blake  <eblake@redhat.com>
37334         perror: document fixed bugs
37335         * doc/posix-functions/perror.texi (perror): Document recent
37336         patches.
37338 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
37340         stat-time: get_stat_birthtime failure is better-defined
37341         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
37342         return a timestamp whose tv_sec and tv_nsec values are both -1.
37343         Previously, the spec said only that the tv_nsec value was negative.
37344         This upward-compatible change simplifies GNU tar a bit.
37346 2011-06-07  Eric Blake  <eblake@redhat.com>
37348         strerror_r-posix: work around cygwin 1.7.9
37349         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
37350         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
37351         bug without replacing strerror_r.
37352         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
37353         strerror_r is buggy, but without requiring strerror_r compilation.
37354         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
37356         test-perror: relax test to ignore cygwin bug
37357         * tests/test-perror2.c (main): Relax test on requiring detection
37358         of stream errors, and use unbuffered stream.
37359         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
37360         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
37361         * doc/posix-functions/fputc.texi (fputc): Likewise.
37362         * doc/posix-functions/fputs.texi (fputs): Likewise.
37363         * doc/posix-functions/fputws.texi (fputws): Likewise.
37364         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
37365         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
37366         * doc/posix-functions/getopt.texi (getopt): Likewise.
37367         * doc/posix-functions/perror.texi (perror): Likewise.
37368         * doc/posix-functions/printf.texi (printf): Likewise.
37369         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
37370         * doc/posix-functions/psignal.texi (psignal): Likewise.
37371         * doc/posix-functions/putc.texi (putc): Likewise.
37372         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
37373         Likewise.
37374         * doc/posix-functions/putchar.texi (putchar): Likewise.
37375         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
37376         Likewise.
37377         * doc/posix-functions/puts.texi (puts): Likewise.
37378         * doc/posix-functions/putwc.texi (putwc): Likewise.
37379         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
37380         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
37381         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
37382         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
37383         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
37384         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
37385         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
37386         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
37388 2011-05-22  Bruno Haible  <bruno@clisp.org>
37390         strerror: Move AC_LIBOBJ invocations to module description.
37391         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
37392         gl_PREREQ_STRERROR invocations from here...
37393         * modules/strerror (configure.ac): ... to here.
37395 2011-05-21  Bruno Haible  <bruno@clisp.org>
37397         perror: Use common idiom.
37398         * modules/perror (configure.ac): Reorder statements.
37400 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
37402         tests: fix usage message in 'mktempd_'
37403         * tests/init.sh (mktempd_): In the usage message, use literal
37404         'mktempd_', not '$ME' (which is even undefined), as the name of
37405         the subroutine.
37407 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
37409         tests init: new function 'fatal_', for hard errors
37410         Before this patch, the only way offered by tests/init.sh to
37411         properly signal a hard error was the `framework_failure_'
37412         function.  But the error message issued by that function,
37413         as its name would suggest, refers to a set-up failure in the
37414         testsuite, while hard errors can obviously also be due to
37415         other reasons.  The best way to fix this inconsistency is to
37416         introduce a new function with a more general error message.
37417         * tests/init.sh (fatal_): New function.
37419 2011-06-06  Eric Blake  <eblake@redhat.com>
37421         canonicalize-lgpl: use common idiom
37422         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
37423         over newer POSIX -Rf.
37424         Reported by Bruno Haible.
37426         canonicalize-lgpl: work around AIX realpath bug
37427         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
37428         * doc/posix-functions/realpath.texi (realpath): Document it.
37429         Reported by Bruno Haible.
37431         strerror: work around FreeBSD bug
37432         * lib/strerror.c (strerror): Special case 0.
37433         Reported by Bruno Haible.
37435         strerror-override: avoid bloating errno module
37436         * modules/errno (Files, configure.ac): Move replacement strings...
37437         * modules/strerror-override: ...to new module.
37438         * modules/strerror (Depends-on): Add strerror-override.
37439         * modules/strerror_r-posix (Depends-on): Likewise.
37440         * MODULES.html.sh: Document new module.
37441         Reported by Bruno Haible.
37443 2011-06-06  Bruno Haible  <bruno@clisp.org>
37445         spawn-pipe tests: Rename program.
37446         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
37447         * tests/test-spawn-pipe-child.c: Update comment.
37448         * tests/test-spawn-pipe.sh: Update.
37449         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
37451         spawn-pipe tests: Link the child program only against libc.
37452         * tests/test-spawn-pipe-child.c: New file, extracted from
37453         tests/test-spawn-pipe.c.
37454         (main): Expect only one argument.
37455         (is_open): New function, copied from tests/test-pipe.c.
37456         * tests/test-spawn-pipe.c: Don't include <errno.h>.
37457         (child_main): Remove function.
37458         (test_pipe): Pass only one argument to the child program.
37459         (main): Remove child process code. Expect the child program's name as
37460         first argument.
37461         * tests/test-spawn-pipe.sh: Pass the child program's name as first
37462         argument.
37463         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
37464         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
37465         test-spawn-pipe-child against no libraries.
37467 2011-06-06  Bruno Haible  <bruno@clisp.org>
37469         careadlinkat: Avoid mismatch between ssize_t and int.
37470         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
37471         * lib/careadlinkat.c (careadlinkatcwd): Define always.
37473 2011-06-06  Jim Meyering  <meyering@redhat.com>
37475         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
37476         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
37477         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
37479 2011-06-05  Bruno Haible  <bruno@clisp.org>
37481         ansi-c++-opt: Interoperability with libtool.
37482         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
37483         set the variable to "no", not to ":".
37484         * NEWS: Mention the change.
37486 2011-06-05  Bruno Haible  <bruno@clisp.org>
37488         acl: Fix test failure on AIX 7.
37489         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
37490         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
37492 2011-06-05  Bruno Haible  <bruno@clisp.org>
37494         pipe-filter-ii: Fix test failure on AIX and IRIX.
37495         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
37496         with EAGAIN, retry with a smaller buffer size.
37498 2011-06-05  Bruno Haible  <bruno@clisp.org>
37500         localename: Fix link dependencies.
37501         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
37502         * modules/localename-tests (Makefile.am): Link test-localename with
37503         $(LIBTHREAD).
37505 2011-06-05  Bruno Haible  <bruno@clisp.org>
37507         error: Avoid gcc warning.
37508         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
37510 2011-06-05  Bruno Haible  <bruno@clisp.org>
37512         unsetenv: Avoid gcc warning.
37513         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
37515 2011-06-05  Bruno Haible  <bruno@clisp.org>
37517         setenv: Avoid gcc warning.
37518         * lib/setenv.c (setenv): Provide declaration if system lacks it.
37520 2011-06-05  Bruno Haible  <bruno@clisp.org>
37522         sys_select: Ensure memset is declared also on AIX 7.
37523         * lib/sys_select.in.h: Include <string.h> also on AIX.
37524         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
37525         self-contained also on AIX 7.1.
37527 2011-06-04  Jim Meyering  <meyering@redhat.com>
37529         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
37530         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
37531         function name, "error".
37532         (_gl_translatable_diag_func_re): New configurable variable.
37534 2011-06-04  Bruno Haible  <bruno@clisp.org>
37536         getopt: Avoid gcc warning.
37537         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
37539 2011-06-04  Bruno Haible  <bruno@clisp.org>
37541         strerror_r: Fix comments.
37542         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
37543         commit.
37545 2011-06-04  Bruno Haible  <bruno@clisp.org>
37547         perror: Fix compilation error.
37548         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
37549         Undefine fprintf, not sprintf.
37550         * modules/perror (Depends-on): Remove intprops, verify.
37552 2011-06-04  Bruno Haible  <bruno@clisp.org>
37554         setlocale: Enable replacement on Cygwin 1.5.
37555         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
37556         Cygwin 1.5.x.
37557         * doc/posix-functions/setlocale.texi: Mention that the problem with the
37558         LC_CTYPE category also exists on Cygwin 1.5.x.
37560 2011-06-04  Bruno Haible  <bruno@clisp.org>
37562         strerror-override: Don't disable symbol renamings.
37563         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
37564         * lib/strerror-override.c: Include config.h.
37565         (strerror_override): Don't undefine.
37567 2011-06-03  Bruno Haible  <bruno@clisp.org>
37569         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
37570         * lib/localename.h: Update copyright header.
37571         * lib/localename.c: Likewise.
37572         * lib/relocatable.h: Likewise.
37573         * lib/relocatable.c: Likewise.
37575 2011-06-02  Bruno Haible  <bruno@clisp.org>
37577         doc: Fix a module name.
37578         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
37580 2011-06-02  Bruno Haible  <bruno@clisp.org>
37582         pipe2: Remove dependency on 'nonblocking' module.
37583         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
37584         O_NONBLOCK is defined by gnulib.
37585         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
37586         is zero.
37587         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
37588         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
37589         defined by gnulib.
37590         (get_nonblocking_flag): New function.
37591         (main): Test O_NONBLOCK flag only if it is nonzero.
37592         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
37594 2011-06-03  Jim Meyering  <meyering@redhat.com>
37596         maint: three new prohibit-header-without-use rules
37597         Prohibit use of cloexec.h, posixver.h, same.h without use.
37598         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
37599         (sc_prohibit_posixver_without_use): Likewise.
37600         (sc_prohibit_same_without_use): Likewise.
37602 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
37604         allocator: 'die' routine is now given requested size
37605         * lib/allocator.h (struct allocator.die): New size arg.
37606         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
37607         If the actual problem is an ssize_t limitation, not a size_t or
37608         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
37610 2011-06-01  Eric Blake  <eblake@redhat.com>
37612         strerror: drop strerror_r dependency
37613         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
37614         * lib/strerror-override.c (strerror_override): ...to new file.
37615         * lib/strerror-override.h: Add prototype.
37616         * lib/strerror-impl.h: Delete.
37617         * lib/strerror.c (strerror): New implementation.
37618         * modules/errno (Files): Add new files.
37619         (configure.ac): Compile new file as appropriate.
37620         * modules/strerror (Files): Drop unused file.
37621         (Depends-on): Drop strerror_r-posix.
37622         * MODULES.html.sh: Document strerror_r-posix.
37623         Requested by Sam Steingold.
37625         perror: call strerror_r directly
37626         * modules/perror (Files): Drop strerror-impl.h.
37627         * lib/perror.c (perror): Use our own stack buffer, rather than
37628         calling a wrapper that uses static storage.
37629         * doc/posix-functions/perror.texi (perror): Document a limitation
37630         of our replacement.
37632         strerror_r: fix includes for FreeBSD
37633         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
37634         since we use abort on some platforms.
37635         Reported by Matthias Bolte.
37637 2011-05-31  Bruno Haible  <bruno@clisp.org>
37639         Fix link errors in tests: openat-die uses gettext-h.
37640         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
37641         against $(LIBINTL).
37642         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
37643         against $(LIBINTL).
37644         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
37645         $(LIBINTL).
37646         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
37647         against $(LIBINTL).
37648         * modules/linkat-tests (Makefile.am): Link test-linkat against
37649         $(LIBINTL).
37650         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
37651         $(LIBINTL).
37652         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
37653         against $(LIBINTL).
37654         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
37655         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
37656         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
37657         $(LIBINTL).
37658         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
37659         $(LIBINTL).
37660         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
37661         $(LIBINTL).
37662         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
37664 2011-05-31  Bruno Haible  <bruno@clisp.org>
37666         Fix link errors in tests: wait-process uses gettext-h.
37667         * modules/nonblocking-pipe-tests (Makefile.am): Set
37668         test_nonblocking_pipe_main_LDADD.
37669         * modules/nonblocking-socket-tests (Makefile.am): Link
37670         test-nonblocking-socket-main against $(LIBINTL).
37671         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
37673 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
37675         assert-h: work around 'verify' incompatibility
37676         * lib/verify.h: Use @...@ directives, not ifdef.
37677         * modules/assert-h (assert.h): Implement the directives.
37678         (assert.h): Substitute the symbol-prefix more consistently.
37680 2011-05-29  Jim Meyering  <meyering@redhat.com>
37682         trim: remove three superfluous assignments
37683         * lib/trim.c (trim2): Remove three superfluous assignments
37684         and correct brace positioning.
37686 2011-05-29  Bruno Haible  <bruno@clisp.org>
37688         wctype-h: Avoid namespace pollution on Solaris 2.6.
37689         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
37690         identifiers.
37691         * doc/posix-headers/wctype.texi: Mention the problem.
37692         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
37694 2011-05-28  Jim Meyering  <meyering@redhat.com>
37696         parse-datetime.y: accommodate -Wstrict-overflow
37697         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
37698         placate -Wstrict-overflow.
37700         trim: avoid a warning from -O2 -Wstrict-overflow
37701         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
37703 2011-05-29  Bruno Haible  <bruno@clisp.org>
37705         gnulib-tool: Fix bug in yesterday's commit.
37706         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
37707         twice.
37709 2011-05-29  Bruno Haible  <bruno@clisp.org>
37711         Allow multiple gnulib generated include files to be combined.
37712         * gnulib-tool (func_compute_include_guard_prefix): New function.
37713         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
37714         ${gl_include_guard_prefix} references.
37715         (func_import, func_create_testdir): Invoke
37716         func_compute_include_guard_prefix.
37717         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
37718         * lib/ctype.in.h: Likewise.
37719         * lib/dirent.in.h: Likewise.
37720         * lib/errno.in.h: Likewise.
37721         * lib/fcntl.in.h: Likewise.
37722         * lib/float.in.h: Likewise.
37723         * lib/getopt.in.h: Likewise.
37724         * lib/iconv.in.h: Likewise.
37725         * lib/langinfo.in.h: Likewise.
37726         * lib/locale.in.h: Likewise.
37727         * lib/math.in.h: Likewise.
37728         * lib/netdb.in.h: Likewise.
37729         * lib/netinet_in.in.h: Likewise.
37730         * lib/poll.in.h: Likewise.
37731         * lib/pthread.in.h: Likewise.
37732         * lib/pty.in.h: Likewise.
37733         * lib/sched.in.h: Likewise.
37734         * lib/se-selinux.in.h: Likewise.
37735         * lib/search.in.h: Likewise.
37736         * lib/signal.in.h: Likewise.
37737         * lib/spawn.in.h: Likewise.
37738         * lib/stdarg.in.h: Likewise.
37739         * lib/stddef.in.h: Likewise.
37740         * lib/stdint.in.h: Likewise.
37741         * lib/stdio.in.h: Likewise.
37742         * lib/stdlib.in.h: Likewise.
37743         * lib/string.in.h: Likewise.
37744         * lib/strings.in.h: Likewise.
37745         * lib/sys_file.in.h: Likewise.
37746         * lib/sys_ioctl.in.h: Likewise.
37747         * lib/sys_select.in.h: Likewise.
37748         * lib/sys_socket.in.h: Likewise.
37749         * lib/sys_stat.in.h: Likewise.
37750         * lib/sys_time.in.h: Likewise.
37751         * lib/sys_times.in.h: Likewise.
37752         * lib/sys_uio.in.h: Likewise.
37753         * lib/sys_utsname.in.h: Likewise.
37754         * lib/sys_wait.in.h: Likewise.
37755         * lib/sysexits.in.h: Likewise.
37756         * lib/termios.in.h: Likewise.
37757         * lib/time.in.h: Likewise.
37758         * lib/unistd.in.h: Likewise.
37759         * lib/wchar.in.h: Likewise.
37760         * lib/wctype.in.h: Likewise.
37761         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
37762         * modules/ctype (Makefile.am): Likewise.
37763         * modules/dirent (Makefile.am): Likewise.
37764         * modules/errno (Makefile.am): Likewise.
37765         * modules/fcntl-h (Makefile.am): Likewise.
37766         * modules/float (Makefile.am): Likewise.
37767         * modules/getopt-posix (Makefile.am): Likewise.
37768         * modules/iconv-h (Makefile.am): Likewise.
37769         * modules/langinfo (Makefile.am): Likewise.
37770         * modules/locale (Makefile.am): Likewise.
37771         * modules/math (Makefile.am): Likewise.
37772         * modules/netdb (Makefile.am): Likewise.
37773         * modules/netinet_in (Makefile.am): Likewise.
37774         * modules/poll-h (Makefile.am): Likewise.
37775         * modules/pthread (Makefile.am): Likewise.
37776         * modules/pty (Makefile.am): Likewise.
37777         * modules/sched (Makefile.am): Likewise.
37778         * modules/search (Makefile.am): Likewise.
37779         * modules/selinux-h (Makefile.am): Likewise.
37780         * modules/signal (Makefile.am): Likewise.
37781         * modules/spawn (Makefile.am): Likewise.
37782         * modules/stdarg (Makefile.am): Likewise.
37783         * modules/stddef (Makefile.am): Likewise.
37784         * modules/stdint (Makefile.am): Likewise.
37785         * modules/stdio (Makefile.am): Likewise.
37786         * modules/stdlib (Makefile.am): Likewise.
37787         * modules/string (Makefile.am): Likewise.
37788         * modules/strings (Makefile.am): Likewise.
37789         * modules/sys_file (Makefile.am): Likewise.
37790         * modules/sys_ioctl (Makefile.am): Likewise.
37791         * modules/sys_select (Makefile.am): Likewise.
37792         * modules/sys_socket (Makefile.am): Likewise.
37793         * modules/sys_stat (Makefile.am): Likewise.
37794         * modules/sys_time (Makefile.am): Likewise.
37795         * modules/sys_times (Makefile.am): Likewise.
37796         * modules/sys_uio (Makefile.am): Likewise.
37797         * modules/sys_utsname (Makefile.am): Likewise.
37798         * modules/sys_wait (Makefile.am): Likewise.
37799         * modules/sysexits (Makefile.am): Likewise.
37800         * modules/termios (Makefile.am): Likewise.
37801         * modules/time (Makefile.am): Likewise.
37802         * modules/unistd (Makefile.am): Likewise.
37803         * modules/wchar (Makefile.am): Likewise.
37804         * modules/wctype-h (Makefile.am): Likewise.
37805         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
37807 2011-05-29  Bruno Haible  <bruno@clisp.org>
37809         assert-h: Allow multiple gnulib generated replacements to coexist.
37810         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
37812 2011-05-29  Bruno Haible  <bruno@clisp.org>
37814         argp: Allow coexistence with strerror_r-posix module.
37815         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
37816         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
37817         by gnulib's <string.h> replacement), assume it has the POSIX signature,
37818         not the glibc signature.
37820 2011-05-28  Bruno Haible  <bruno@clisp.org>
37822         gnulib-tool: Alternative structure of testdirs, similar to --import.
37823         * gnulib-tool: New option --single-configure.
37824         (func_usage): Document it.
37825         (single_configure): New variable.
37826         (func_modules_transitive_closure_separately,
37827         func_modules_transitive_closure_separately,
37828         func_determine_use_libtests, func_modules_add_dummy_separately,
37829         func_modules_to_filelist_separately): New functions, extracted from
37830         func_import.
37831         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
37832         (func_import): Use the new functions.
37833         (func_create_testdir): Set final_modules. Handle $single_configure =
37834         true case.
37836 2011-05-28  Bruno Haible  <bruno@clisp.org>
37838         getloadavg: Remove an unreliable safety check.
37839         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
37840         getloadavg.c is in place.
37841         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
37842         Reported by Sam Steingold <sds@gnu.org>.
37844 2011-05-28  Bruno Haible  <bruno@clisp.org>
37846         doc: Cleanup yet another file produced by texinfo.tex.
37847         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
37849 2011-05-28  Bruno Haible  <bruno@clisp.org>
37851         Finish the conditional dependencies mechanism.
37852         * gnulib-tool: New option --no-conditional-dependencies.
37853         (func_usage): Document it. Don't mark --conditional-dependencies as
37854         experimental.
37855         (cond_dependencies): The possible values can now be true, false, empty.
37856         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
37857         (func_import): Store setting in gnulib-cache.m4 and read it from there.
37858         * doc/gnulib-tool.texi (Conditional dependencies): New section.
37860 2011-05-28  Bruno Haible  <bruno@clisp.org>
37862         doc: Use a recent texinfo.tex.
37863         * doc/Makefile (tex_opts): New variable.
37864         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
37866 2011-05-28  Jim Meyering  <meyering@redhat.com>
37868         intprops.h: adjust comment to match code change
37869         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
37870         only once, it *may* have side effects.  Also fix an unrelated typo.
37871         (_GL_INT_SIGNED): Likewise.
37873 2011-05-26  Simon Josefsson  <simon@josefsson.org>
37875         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
37877 2011-05-26  Bruno Haible  <bruno@clisp.org>
37879         mbsrchr: Avoid collision with system function on Interix.
37880         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
37881         Reported by Markus Duft <mduft@gentoo.org>.
37883 2011-05-15  James Youngman  <jay@gnu.org>
37885         getopt: for ambiguous options, enumerate the possibilities.
37886         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
37887         the ambiguous options when an ambiguous prefix is given. This was
37888         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
37889         glibc change was
37890         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
37892 2011-05-25  Eric Blake  <eblake@redhat.com>
37894         getcwd: work around mingw bug
37895         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
37896         * doc/posix-functions/getcwd.texi (getcwd): Document it.
37897         Reported by Matthias Bolte.
37899 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
37901         test-intprops: disable -Wtype-limits diagnostics
37902         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
37903         diagnostics.  Otherwise, the integer overflow macros generate many
37904         diagnostics.  Reported by Jim Meyering in
37905         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
37907         intprops: shorten, to pacify gcc -Woverlength-strings
37908         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
37909         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
37910         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
37911         likely to run afoul of C compiler limits for string constant lengths.
37912         See <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
37914 2011-05-24  Eric Blake  <eblake@redhat.com>
37916         docs: document recently fixed glibc printf bug
37917         * doc/posix-functions/fprintf.texi (fprintf): Document it.
37918         * doc/posix-functions/printf.texi (printf): Likewise.
37919         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
37920         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
37922         closein-tests: convert to init.sh
37923         * modules/closein-tests (Files): Add init.sh
37924         * tests/test-closein.sh Use it.
37926         yesno-tests: convert to init.sh
37927         * modules/yesno-tests (Files): Add init.sh.
37928         * tests/test-yesno.sh: Use it.
37930         atexit-tests: ensure reliable exit status
37931         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
37932         Reported by Bruno Haible.
37934 2011-05-24  Bruno Haible  <bruno@clisp.org>
37936         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
37937         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
37938         gl_PREREQ_STRERROR_R invocations from here...
37939         * modules/strerror_r-posix (configure.ac): ... to here.
37941 2011-05-24  Eric Blake  <eblake@redhat.com>
37943         strerror_r: fix missing header
37944         * lib/strerror_r.c: Avoid compiler warning about snprintf.
37946         strerror_r: fix AIX test failures
37947         * lib/strerror_r.c (strerror_r): Convert silent truncation to
37948         ERANGE failure.
37950         strerror_r: fix Solaris test failures
37951         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
37952         failures.
37953         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
37955         strerror_r: enforce POSIX recommendations
37956         * lib/strerror_r.c (safe_copy): New helper method.
37957         (strerror_r): Guarantee a non-empty string.
37958         * tests/test-strerror_r.c (main): Enhance tests to incorporate
37959         recent POSIX rulings and to match our strerror guarantees.
37960         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
37962 2011-05-24  Jim Meyering  <meyering@redhat.com>
37964         test-perror2.c: avoid warning about unused variable
37965         * tests/test-perror2.c (main): Remove declaration of unused "fp".
37967 2011-05-24  Eric Blake  <eblake@redhat.com>
37969         perror: avoid spurious test failure on HP-UX
37970         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
37972         tests: fix logic bug in init.sh
37973         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
37974         shell.
37976 2011-05-24  Jim Meyering  <meyering@redhat.com>
37978         utimensat: do not reference an out-of-scope buffer
37979         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
37980         declared in an inner scope, yet "times" would be dereferenced outside
37981         the scope in which "ts" was valid.
37982         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
37983         of ts[2] "out/up", so that the use of aliased "times" (via
37984         "times = ts;") does not end up referencing an out-of-scope "ts"
37986         opendir-safer.c: don't clobber errno; don't close negative FD
37987         * lib/opendir-safer.c (opendir_safer):
37988         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
37989         file descriptor, and more importantly, don't clobber the
37990         offending errno value with EINVAL.  Before, upon failure
37991         of dup_safer, we would pass the negative file descriptor to
37992         fdopendir, which would clobber errno.
37994 2011-05-23  Bruno Haible  <bruno@clisp.org>
37996         idcache: Fix module description.
37997         * modules/idcache (Include): Set to "idcache.h".
37999 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
38001         gnulib-tool: fix portability problem with MacOS sed
38002         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
38003         before the "}".  Problem reported by Leo in
38004         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00717.html>.
38005         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
38006         sed_extract_condition1, sed_extract_condition2.
38008 2011-05-23  Bruno Haible  <bruno@clisp.org>
38010         hash: Simplify autoconf macro.
38011         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
38013 2011-05-23  Bruno Haible  <bruno@clisp.org>
38015         getugroups: Fix module description.
38016         * modules/getugroups (Include): Set to "getugroups.h".
38018 2011-05-23  Bruno Haible  <bruno@clisp.org>
38020         linkat: Simplify autoconf macro.
38021         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
38023 2011-05-23  Bruno Haible  <bruno@clisp.org>
38024             Eric Blake  <eblake@redhat.com>
38026         linkat, renameat: Update dependencies.
38027         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
38028         * modules/linkat (Depends-on): Likewise. Remove also readlink,
38029         symlinkat.
38031 2011-05-23  Jim Meyering  <meyering@redhat.com>
38033         maint.mk: more tight_scope improvements
38034         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
38035         (_gl_TS_headers): Define only in if-0'd block.
38036         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
38037         sometimes we must *not* use it.  Adjust uses accordingly.
38038         (sc_tight_scope): Use much simpler grep-based test to determine
38039         whether we skip this rule.
38041         maint.mk: generalize/improve the tight-scope rule
38042         * top/maint.mk: Emit a warning when the test is skipped.
38043         (_gl_TS_dir): Add $(srcdir)/ prefix.
38044         (_gl_TS_function_match): Simplify, rather than trying
38045         to enumerate common types.  Otherwise, it would fail to match an
38046         "extern unsigned char const *" declaration in idutils.
38047         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
38048         a way to support use of that type of macro.
38049         (_gl_TS_var_match): Simplify regexp.
38050         (_gl_TS_obj_files): New configurable variable.
38051         (_gl_TS_headers): Likewise.
38053 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
38055         verify: fix bug when gnulib <assert.h> is also included
38056         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
38057         is defined, not if _GL_STATIC_ASSERT_H is not defined.
38058         Perhaps there's a better way, but this fixes the immediate problem.
38059         Problem reported by Bruno Haible in
38060         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00478.html>.
38062 2011-05-22  Bruno Haible  <bruno@clisp.org>
38064         xgetcwd: Simplify autoconf macro.
38065         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
38067 2011-05-22  Bruno Haible  <bruno@clisp.org>
38069         New module 'mktime-internal'.
38070         * modules/mktime-internal: New file.
38071         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
38072         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
38073         mktime_internal as a C macro if libc has __mktime_internal.
38074         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
38075         conditions.
38076         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
38078 2011-05-22  Bruno Haible  <bruno@clisp.org>
38080         timegm: Correct mktime replacement statements.
38081         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
38082         defining mktime as a C macro. This completes a 2009-07-28 commit.
38084 2011-05-22  Bruno Haible  <bruno@clisp.org>
38086         timegm: Simplify autoconf macro.
38087         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
38089 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
38091         clock-time: change to LGPLv2+.
38092         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
38093         BSD-like but we have no mark for that; this is good enough for now.
38095 2011-05-21  Bruno Haible  <bruno@clisp.org>
38097         strerror_r: Fix comments.
38098         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
38100 2011-05-21  Bruno Haible  <bruno@clisp.org>
38102         relocatable-prog-wrapper: Fix possible link error.
38103         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
38104         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
38105         (gl_FUNC_SETENV): ... to here.
38106         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
38107         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
38109 2011-05-21  Bruno Haible  <bruno@clisp.org>
38111         relocatable-prog-wrapper: Assume strerror() exists.
38112         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
38113         m4/strerror.m4.
38114         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
38115         * lib/relocwrapper.c: Remove mention of strerror module.
38116         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
38117         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
38118         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
38119         C macro.
38121 2011-05-21  Bruno Haible  <bruno@clisp.org>
38123         select: Simplify replacement idiom.
38124         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
38125         Win32 platforms.
38126         * lib/sys_select.in.h (select): Simplify accordingly.
38127         * modules/select (Depends-on): Likewise.
38129 2011-05-21  Bruno Haible  <bruno@clisp.org>
38131         mkdir-p: Simplify autoconf macro.
38132         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
38133         gl_FUNC_LCHOWN.
38135 2011-05-21  Eric Blake  <eblake@redhat.com>
38137         strerror_r: avoid clobbering strerror on cygwin
38138         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
38139         fall back instead to sys_errlist.
38140         * modules/strerror (configure.ac): Add witness.
38141         * tests/test-strerror_r.c (main): Enhance test.
38142         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
38143         * tests/test-perror2.c (main): Free memory before exit.
38145 2011-05-21  Bruno Haible  <bruno@clisp.org>
38147         mkdtemp: Use gnulib naming conventions.
38148         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
38149         * modules/mkdtemp (configure.ac): Update.
38151 2011-05-20  Eric Blake  <eblake@redhat.com>
38153         strerror_r: avoid corrupting errno on Solaris
38154         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
38155         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
38157         strerror_r: avoid compiler warning
38158         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
38160         strerror_r: simplify AIX code
38161         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
38163         test-perror: avoid spurious failure on FreeBSD
38164         * modules/perror-tests (Depends-on): Add strerror, now that
38165         strerror_r no longer pulls it in.
38167 2011-05-20  Bruno Haible  <bruno@clisp.org>
38169         strerror_r-posix: Remove unused dependencies.
38170         * modules/strerror_r-posix (Depends-on): Remove strerror.
38171         Reported by Eric Blake.
38173 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
38175         intprops: remove assumption about A|B representation
38176         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
38177         is a valid integer if both A and B are.  Although this is true for
38178         all known practical hosts, the C standard doesn't guarantee it,
38179         and the code need not assume it.  Also, this change may work around
38180         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
38181         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00426.html>.
38183 2011-05-20  Eric Blake  <eblake@redhat.com>
38185         perror: work around FreeBSD bug
38186         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
38187         is broken.  Move AC_LIBOBJ...
38188         * modules/perror (configure.ac): Here.
38189         * doc/posix-functions/perror.texi (perror): Document this.
38190         * tests/test-perror2.c (main): Enhance test.
38192         test-perror: check for strerror interactions
38193         * tests/macros.h (STREQ): Add macro.
38194         * modules/perror-tests (Files): Add second test.
38195         * tests/test-perror2.c (main): New file.
38196         * doc/posix-functions/perror.texi (perror): Document glibc bug.
38198         test-perror: rewrite to use init script
38199         * modules/perror-tests (Files): Add init.sh.
38200         * tests/test-perror.sh: Use temporary directory.
38202 2011-05-20  Jim Meyering  <meyering@redhat.com>
38204         maint: replace misused "a" with "an"
38205         * doc/intprops.texi: "a integer"
38206         * doc/regex.texi: "a explanation"
38207         * lib/alignof.h: "a object"
38208         * lib/argmatch.h: "a explanation"
38209         * lib/argp-help.c: "a option" and "a OPTION_DOC"
38210         * lib/stdint.in.h: "a integer"
38211         * lib/userspec.c: "a owner"
38212         * doc/gnulib.texi: Fix "a idea", and reword.
38214 2011-05-19  Jim Meyering  <meyering@redhat.com>
38216         maint: correct misuse of "a" and "an"
38217         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
38218         * lib/argp-help.c: "an docum...": s/an/a/
38219         * lib/argp-parse.c: "An vector": s/An/A/
38220         * lib/execute.c: "an native": s/an/a/
38221         * lib/spawn-pipe.c: Likewise.
38222         * lib/gc.h: "an Gc_rc": s/an/a/
38223         * lib/unigbrk.in.h: "an grapheme": s/an/a/
38224         * lib/fts.c: "an stat.st_dev": s/an/a/
38226 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
38228         intprops-tests: work around HP-UX 11.23 cc bug with constants
38229         * tests/test-intprops.c (VERIFY): New macro.
38230         (main): Use it, instead of verify, to work around the compiler bug; see
38231         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
38233         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
38234         See http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html
38235         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
38236         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
38237         (_GL_REMAINDER_OVERFLOW): Use it.
38239         intprops-tests: revert unsigned part of previous change
38240         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
38241         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
38242         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
38243         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html>.
38245 2011-05-19  Bruno Haible  <bruno@clisp.org>
38247         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
38248         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
38249         strerror_r() returned without filling the buffer.
38250         Reported by Eric Blake.
38252 2011-05-19  Eric Blake  <eblake@redhat.com>
38254         strerror_r: guarantee unchanged errno
38255         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
38256         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
38257         failure.
38258         * tests/test-strerror_r.c (main): Enhance test.
38260 2011-05-19  Bruno Haible  <bruno@clisp.org>
38262         strerror_r: Reorder #if blocks.
38263         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
38264         for consistency with the previous commit.
38266 2011-05-19  Bruno Haible  <bruno@clisp.org>
38268         perror: Avoid clobbering the strerror buffer when possible.
38269         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
38270         * lib/strerror.c: Include it.
38271         * modules/strerror (Files): Add lib/strerror-impl.h.
38272         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
38273         (my_strerror): New function, defined through lib/strerror-impl.h.
38274         (perror): Use it instead of strerror.
38275         * modules/perror (Files): Add lib/strerror-impl.h.
38276         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
38278 2011-05-19  Eric Blake  <eblake@redhat.com>
38280         strerror_r: fix on newer cygwin
38281         * lib/strerror_r.c (strerror_r): Cygwin now has
38282         __xpg_strerror_r, use it.
38284 2011-05-19  Bruno Haible  <bruno@clisp.org>
38286         strerror_r: Avoid clobbering the strerror buffer when possible.
38287         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
38288         (sys_nerr, sys_errlist): New declarations.
38289         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
38290         HP-UX, native Win32, IRIX, and 32-bit Solaris.
38291         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
38293 2011-05-19  Bruno Haible  <bruno@clisp.org>
38295         strerror_r: Fix test failure on mingw.
38296         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
38297         EXTEND_STRERROR_R.
38298         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
38299         macros from errno.in.h instead.
38301 2011-05-19  Eric Blake  <eblake@redhat.com>
38303         strerror: relax test for Solaris
38304         * tests/test-strerror.c (main): Permit Solaris behavior.
38305         * tests/test-strerror_r.c (main): Likewise.
38307         strerror: enforce POSIX ruling on strerror(0)
38308         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
38309         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
38310         * lib/strerror_r.c (rpl_strerror_r): Work around it.
38311         * doc/posix-functions/strerror.texi (strerror): Document it.
38312         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
38313         * tests/test-strerror.c (main): Strengthen test.
38314         * tests/test-strerror_r.c (main): Likewise.
38316 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
38318         intprop-tests: port to older and more-pedantic compilers
38319         * modules/intprops-tests (Files): Add tests/macros.h.
38320         * tests/test-intprops.c: Include macros.h.
38321         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
38322         it's no longer documented to expand to an integer constant expression.
38323         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
38324         argument is floating point, as it's no longer documented to expand
38325         to an integer constant expression in that case.
38326         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
38327         compiler bugs reported by Bruno Haible.  See
38328         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
38329         (U0, U1): New constants, to work around the same bugs.  Also,
38330         in tests, use e.g., "(unsigned int) 39" rather than "39u".
38332         intprops: work around C compiler bugs
38333         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
38334         bug in Sun C 5.11 2010/08/13 and other compilers; see
38335         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
38337         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
38338         * doc/intprops.texi (Integer Type Determination): Fix
38339         documentation for TYPE_IS_INTEGER: it returns an constant
38340         expression, not an integer constant expression.  Fix doc for
38341         TYPE_SIGNED: it returns an integer constant expression only if its
38342         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
38343         hardly worth documented that way....)
38345 2011-05-18  Bruno Haible  <bruno@clisp.org>
38347         strerror_r: Avoid clobbering the strerror buffer when possible.
38348         * lib/strerror_r.c (strerror_r): Merge the three implementations.
38349         Handle gnulib defined errno values here. When strerror() returns NULL
38350         or an empty string, return EINVAL.
38351         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
38352         gnulib defined errno values here.
38353         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
38355 2011-05-18  Eric Blake  <eblake@redhat.com>
38357         fnmatch: avoid compiler warning
38358         * lib/fnmatch_loop.c (FCT): Use correct type.
38359         Reported by Matthias Bolte.
38361 2011-05-13  Jim Meyering  <meyering@redhat.com>
38363         maint.mk: three new prohibit_<HDR>_without_use rules
38364         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
38365         (sc_prohibit_stdio-safer_without_use): Likewise.
38366         (sc_prohibit_xfreopen_without_use): Likewise.
38368 2011-05-17  Jim Meyering  <meyering@redhat.com>
38370         announce-gen: fail if the NEWS delta is empty
38371         If there's nothing noteworthy in NEWS, then either you forgot
38372         or you shouldn't be releasing.
38373         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
38375 2011-05-17  Pádraig Brady  <P@draigBrady.com>
38377         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
38378         reserved symbols starting with double underscore from the check.
38380 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
38382         intprops: add doc
38383         * doc/intprops.texi: New file, documenting intprops.
38384         * doc/gnulib.texi (Particular Modules): Include it.
38386         verify: add doc to gnulib manual and fix example
38387         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
38388         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
38389         (Compile-time Assertions): Fix example so it can't overflow.
38391 2011-05-17  Jim Meyering  <meyering@redhat.com>
38393         warnings.m4: don't usurp save_CPPFLAGS variable name
38394         * m4/warnings.m4: Prefix local temporary variable name with gl_.
38396         doc: fix typo
38397         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
38399 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
38400             Bruno Haible  <bruno@clisp.org>
38402         doc: Tweak recent change.
38403         * README (Portability guidelines): Tweak new text.
38404         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
38405         Interix 6.1.
38407 2011-05-16  Eric Blake  <eblake@redhat.com>
38409         inttypes: avoid autoconf warning
38410         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
38411         * m4/stdint.m4 (gl_STDINT_H): Likewise.
38413 2011-05-16  Sam Steingold  <sds@gnu.org>
38414         and Eric Blake  <eblake@redhat.com>
38416         vc-list-files: accept multiple directory operands
38417         * build-aux/vc-list-files: Iterate over all remaining operands.
38419 2011-05-16  Bruno Haible  <bruno@clisp.org>
38421         Fix confusion regarding deprecated modules.
38422         * modules/calloc (Status, Notice): Mark module as deprecated, not
38423         obsolete.
38424         * modules/fnmatch-posix (Status, Notice): Likewise.
38425         * modules/getdate (Status, Notice): Likewise.
38426         * modules/getopt (Status, Notice): Likewise.
38427         * modules/malloc (Status, Notice): Likewise.
38428         * modules/pipe (Status, Notice): Likewise.
38429         * modules/realloc (Status, Notice): Likewise.
38430         * modules/rename-dest-slash (Status, Notice): Likewise.
38431         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
38432         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
38433         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
38434         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
38435         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
38437 2011-05-16  Bruno Haible  <bruno@clisp.org>
38439         doc: List the target platforms.
38440         * doc/gnulib-intro.texi (Target Platforms): New section.
38441         * doc/gnulib.texi (Introduction): Update menu.
38442         * README (Portability guidelines): Refer to the new section. Update
38443         statement about oldest supported environment. Remove rationale why
38444         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
38445         unportable C89 function.
38446         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
38447         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
38449 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
38451         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
38453 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
38455         intprops-tests: new module
38456         * modules/intprops-tests, tests/test-intprops.c: New files.
38458         intprops: add safe, portable integer overflow checking
38459         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
38460         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
38461         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
38462         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
38463         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
38464         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
38465         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
38466         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
38467         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
38468         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
38469         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
38471 2011-05-12  James Youngman  <jay@gnu.org>
38473         Add a test for glibc's Bugzilla bug #12378.
38474         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
38475         doesn't allow the literal matching of a lone "[" (which is
38476         required by POSIX).
38477         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
38479 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
38481         Sync glibc change fixing Bugzilla bug #12378.
38482         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
38483         beginning and fall back to matching as normal character if the
38484         string ends before the matching ']' is found.  This is what POSIX
38485         requires.
38487 2011-05-13  Eric Blake  <eblake@redhat.com>
38489         getcwd-lgpl: relax test for FreeBSD
38490         * doc/posix-functions/getcwd.texi (getcwd): Document portability
38491         issue.
38492         * tests/test-getcwd-lgpl.c (main): Relax test.
38493         Reported by Matthias Bolte.
38495 2011-05-11  Eric Blake  <eblake@redhat.com>
38497         test-fflush: silence compiler warning
38498         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
38500 2011-05-11  Bruno Haible  <bruno@clisp.org>
38502         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
38503         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
38504         * modules/canonicalize (Depends-on): Add 'nocrash'.
38505         * modules/canonicalize-lgpl (Depends-on): Likewise.
38506         * doc/posix-functions/realpath.texi: Update platforms list.
38507         Reported by Ryan Schmidt <ryandesign@macports.org>.
38509 2011-05-11  Bruno Haible  <bruno@clisp.org>
38511         group-member: Declare function in <unistd.h>.
38512         * lib/unistd.in.h (group_member): New declaration.
38513         * lib/group-member.h: Remove file.
38514         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
38515         * tests/test-unistd-c++.cc: Check signature of group_member.
38516         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
38517         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
38518         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
38519         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
38520         HAVE_GROUP_MEMBER.
38521         * modules/group-member (Files): Remove lib/group-member.h.
38522         (Depends-on): Add unistd. Specify conditions.
38523         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38524         (Include): Change to <unistd.h>.
38525         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
38526         HAVE_GROUP_MEMBER.
38527         * NEWS: Mention the change.
38528         * lib/euidaccess.c: Don't include group-member.h.
38530 2011-05-11  Bruno Haible  <bruno@clisp.org>
38532         group-member: Document module.
38533         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
38534         module.
38536 2011-05-11  Bruno Haible  <bruno@clisp.org>
38538         fclose: Fix mistake earlier today.
38539         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
38541 2011-05-11  Eric Blake  <eblake@redhat.com>
38543         fclose: preserve fflush errors
38544         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
38545         Reported by Jim Meyering.
38547         bootstrap: support a prereq of 'rpcgen -' on RHEL5
38548         * build-aux/bootstrap (check_versions): When no specific version
38549         is required, merely check that the app produces an exit status
38550         that indicates its existence.
38552         maint.mk: drop redundant check
38553         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
38554         the same but better.
38556 2011-05-11  Bruno Haible  <bruno@clisp.org>
38558         fclose: Fix possible link error.
38559         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
38560         unregister_shadow_fd. Improve comments.
38561         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
38562         Eric Blake.
38564 2011-05-11  Jim Meyering  <meyering@redhat.com>
38566         maint.mk: improve "can not" detection and generalize rule name
38567         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
38568         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
38569         Use the same technique as in sc_prohibit_doubled_word, so that
38570         we recognize "can not" also when the words are separated by a newline.
38571         Suggested by Eric Blake.
38572         (perl_filename_lineno_text_): Define.  Factored out of...
38573         (prohibit_doubled_word_): ...here.  Use the new definition.
38574         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
38575         (prohibit_undesirable_word_seq_RE_): New overridable variable.
38576         (ignore_undesirable_word_sequence_RE_): New overridable variable.
38578 2011-05-10  Eric Blake  <eblake@redhat.com>
38580         fclose: avoid double close race when possible
38581         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
38582         all but WINDOWS_SOCKETS.
38584 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
38586         openat: correct new comment
38587         * lib/openat-proc.c (openat_proc_name): Correct the comment.
38589 2011-05-10  Jim Meyering  <meyering@redhat.com>
38591         openat: add comments
38592         * lib/openat-proc.c (openat_proc_name): Add comments,
38593         mostly from Eric Blake.
38595 2011-05-09  Eric Blake  <eblake@redhat.com>
38597         openat: reduce syscalls in first probe of /proc
38598         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
38599         be a directory.  Simplify the probe for .. bugs.
38600         * modules/openat (Depends-on): Drop same-inode.
38601         Reported by Bastien ROUCARIES.
38603 2011-05-09  Jim Meyering  <meyering@redhat.com>
38605         maint.mk: change semantics/name of tight_scope variables
38606         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
38607         Rename variables to align with semantics that make them more useful.
38609         maint.mk: tweak new rule's name not to impinge
38610         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
38611         (sc_tight_scope): Use new rule name rather than $@-0.
38613         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
38614         * top/maint.mk (sc_tight_scope): New rule.
38615         (sc_tight_scope-0): New rule, ifdef'd out.
38616         (_gl_TS_dir): Default.
38617         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
38618         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
38620 2011-05-09  Simon Josefsson  <simon@josefsson.org>
38622         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
38623         Haible <bruno@clisp.org>.
38625 2011-05-08  Bruno Haible  <bruno@clisp.org>
38627         Comments.
38628         * m4/isnanf.m4: Add comment.
38629         * m4/isnanl.m4: Likewise.
38631 2011-05-08  Bruno Haible  <bruno@clisp.org>
38633         glob: Remove obsolete macro.
38634         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
38636 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
38638         intprops: Sun C 5.11 supports __typeof__
38639         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
38640         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
38641         which is new.
38642         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
38644         intprops: switch to usual gnulib indenting and naming
38645         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
38646         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
38648         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
38650 2011-05-08  Jim Meyering  <meyering@redhat.com>
38652         maint.mk: suppress "Entering/Leaving directory" diag in announcement
38653         * top/maint.mk (release-prep): Use make's --no-print-directory
38654         option when generating the announcement.  This eliminates the
38655         pesky "make[2]: Entering/Leaving directory" diagnostics in the
38656         generated announcement template.
38658 2011-05-08  Bruno Haible  <bruno@clisp.org>
38660         tzset: Fix gettimeofday wrapper on Solaris 2.6.
38661         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
38662         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
38664 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
38666         ignore-value, verify: Omit include files from lib_SOURCES.
38667         * modules/ignore-value, modules/verify (Makefile.am):
38668         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
38669         that leads Automake to duplicate use of am__objects_... variables
38670         in Makefile.in.  See
38671         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00257.html>.
38673 2011-05-07  Bruno Haible  <bruno@clisp.org>
38675         fclose: Simplify autoconf macro.
38676         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
38677         defined.
38679 2011-05-07  Bruno Haible  <bruno@clisp.org>
38681         canonicalize-lgpl: Fix autoconf macro ordering bug.
38682         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
38683         gl_STDLIB_H_DEFAULTS.
38685 2011-05-06  Eric Blake  <eblake@redhat.com>
38687         maintainer-makefile: make sc_po_check easier to tune
38688         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
38689         to probe for strings, such as an alternate location for gnulib.
38691         fclose: guarantee behavior on seekable stdin
38692         * modules/fclose (Depends-on): Add fflush.
38693         * doc/posix-functions/fclose.texi (fclose): Document this.
38694         * tests/test-fclose.c (main): Make test for this unconditional.
38696 2011-05-06  Bruno Haible  <bruno@clisp.org>
38698         fflush, fpurge: Relicense under LGPLv2+.
38699         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
38700         * modules/fpurge (License): Likewise.
38701         With permission from Eric Blake and Jim Meyering.
38702         Suggested by Eric Blake.
38704 2011-05-06  Karl Berry  <karl@gnu.org>
38706         * MODULES.html.sh (func_all_modules): remove exit.
38708 2011-05-06  Jim Meyering  <meyering@redhat.com>
38710         maint.mk: use info-gnu@ as the default only for a stable release
38711         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
38712         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
38713         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
38714         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
38716 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
38718         assert-h: new module, which supports C1X-style static_assert
38719         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
38720         * lib/verify.h: Revamp so that this can be copied into assert.h,
38721         while retaining the ability to use it standalone as before.
38722         Rename private identifiers so as not to encroach on the
38723         standard C namespace, since this is now used by assert.h.
38724         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
38725         the old verify_true.
38726         (_GL_VERIFY_TRUE): New macro, with much of the contents of
38727         the old verify_true.  Use _GL_VERIFY_TYPE.
38728         (_GL_VERIFY): New macro, with much of the contents of the old verify.
38729         (static_assert): New macro, if _GL_STATIC_ASSERT_H
38730         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
38731         defined when this file is copied into the replacement assert.h.
38732         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
38733         and _Static_assert is not built in.
38734         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
38735         defined, and use the new macros mentioned above.
38736         * doc/posix-headers/assert.texi: Document this.
38738 2011-05-05  Bruno Haible  <bruno@clisp.org>
38740         fclose, fflush: Respect rules for use of AC_LIBOBJ.
38741         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
38742         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
38743         gl_REPLACE_FCLOSE here.
38744         * modules/fflush (Depends-on): Remove fclose.
38745         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
38746         combination with module 'fclose'.
38748 2011-05-05  Bruno Haible  <bruno@clisp.org>
38750         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
38751         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
38752         gl_FUNC_FFLUSH.
38753         (gl_FUNC_FFLUSH): Use it.
38754         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
38755         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
38756         gl_REPLACE_FSEEKO here.
38758 2011-05-05  Bruno Haible  <bruno@clisp.org>
38760         tzset: Relicense under LGPL.
38761         * modules/tzset (License): Change to LGPL.
38762         No agreement needed; it's a no-op.
38764         strtoimax, strtoumax: Relicense under LGPL.
38765         * modules/strtoimax (License): Change to LGPL.
38766         * modules/strtoumax (License): Likewise.
38767         With permission from Jim Meyering, Paul Eggert:
38768         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00124.html>
38769         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00109.html>
38771         getgroups: Relicense under LGPL.
38772         * modules/getgroups (License): Change to LGPL.
38773         With permission from Jim Meyering, Paul Eggert, Eric Blake:
38774         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
38775         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
38776         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
38778         nanosleep: Relicense under LGPL.
38779         * modules/nanosleep (License): Change to LGPL.
38780         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
38781         Haible:
38782         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
38783         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
38784         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
38785         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
38787         futimens: Relicense under LGPL.
38788         * modules/futimens (License): Change to LGPL.
38789         With permission from Eric Blake:
38790         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
38792         fflush: Relicense under LGPL.
38793         * modules/fflush (License): Change to LGPL.
38794         With permission from Eric Blake, Bruno Haible, Jim Meyering:
38795         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
38796         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
38797         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00133.html>
38799         tmpfile: Relicense under LGPL.
38800         * modules/tmpfile (License): Change to LGPL.
38801         With permission from Ben Pfaff:
38802         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
38804         isfinite: Relicense under LGPL.
38805         * modules/isfinite (License): Change to LGPL.
38806         With permission from Ben Pfaff, Bruno Haible:
38807         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
38808         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00130.html>
38810         acosl..tanl: Relicense under LGPL.
38811         * modules/acosl (License): Change to LGPL.
38812         * modules/asinl (License): Likewise.
38813         * modules/atanl (License): Likewise.
38814         * modules/cosl (License): Likewise.
38815         * modules/expl (License): Likewise.
38816         * modules/logl (License): Likewise.
38817         * modules/sinl (License): Likewise.
38818         * modules/sqrtl (License): Likewise.
38819         * modules/tanl (License): Likewise.
38820         Source code originally from glibc and Paolo Bonzini. Agreements:
38821         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00137.html>
38822         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00128.html>
38824 2011-05-05  Bruno Haible  <bruno@clisp.org>
38826         signal: Define sighandler_t.
38827         * lib/signal.in.h (sighandler_t): New type.
38828         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
38829         whether sighandler_t is defined.
38830         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
38831         * modules/signal (Depends-on): Add extensions.
38832         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
38833         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
38834         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
38836 2011-05-05  Eric Blake  <eblake@redhat.com>
38838         maint: remove useless REPLACE_*_H macros
38839         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
38840         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
38841         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
38842         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
38843         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
38844         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
38845         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
38846         * m4/btowc.m4: Update callers.
38847         * m4/dirfd.m4: Likewise.
38848         * m4/duplocale.m4: Likewise.
38849         * m4/fchdir.m4: Likewise.
38850         * m4/fdopendir.m4: Likewise.
38851         * m4/inet_ntop.m4: Likewise.
38852         * m4/inet_pton.m4: Likewise.
38853         * m4/ioctl.m4: Likewise.
38854         * m4/mbrlen.m4: Likewise.
38855         * m4/mbrtowc.m4: Likewise.
38856         * m4/mbsinit.m4: Likewise.
38857         * m4/mbsnrtowcs.m4: Likewise.
38858         * m4/mbsrtowcs.m4: Likewise.
38859         * m4/poll.m4: Likewise.
38860         * m4/setlocale.m4: Likewise.
38861         * m4/wcrtomb.m4: Likewise.
38862         * m4/wcsnrtombs.m4: Likewise.
38863         * m4/wcsrtombs.m4: Likewise.
38864         * m4/wctob.m4: Likewise.
38865         * m4/wcwidth.m4: Likewise.
38866         * modules/posix_spawn: Likewise.
38867         * modules/posix_spawn_file_actions_addclose: Likewise.
38868         * modules/posix_spawn_file_actions_adddup2: Likewise.
38869         * modules/posix_spawn_file_actions_addopen: Likewise.
38870         * modules/posix_spawn_file_actions_destroy: Likewise.
38871         * modules/posix_spawn_file_actions_init: Likewise.
38872         * modules/posix_spawnattr_destroy: Likewise.
38873         * modules/posix_spawnattr_getflags: Likewise.
38874         * modules/posix_spawnattr_getpgroup: Likewise.
38875         * modules/posix_spawnattr_getschedparam: Likewise.
38876         * modules/posix_spawnattr_getschedpolicy: Likewise.
38877         * modules/posix_spawnattr_getsigdefault: Likewise.
38878         * modules/posix_spawnattr_getsigmask: Likewise.
38879         * modules/posix_spawnattr_init: Likewise.
38880         * modules/posix_spawnattr_setflags: Likewise.
38881         * modules/posix_spawnattr_setpgroup: Likewise.
38882         * modules/posix_spawnattr_setschedparam: Likewise.
38883         * modules/posix_spawnattr_setschedpolicy: Likewise.
38884         * modules/posix_spawnattr_setsigdefault: Likewise.
38885         * modules/posix_spawnattr_setsigmask: Likewise.
38886         * modules/posix_spawnp: Likewise.
38888 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
38890         Add option to do-release-commit-and-tag to specify branch.
38891         * build-aux/do-release-commit-and-tag: Add --branch.
38893 2011-05-03  Bruno Haible  <bruno@clisp.org>
38895         Avoid unnecessary compilation units, through conditional dependencies.
38896         * modules/accept (Depends-on): Add conditions to the dependencies.
38897         * modules/acosl (Depends-on): Likewise.
38898         * modules/argz (Depends-on): Likewise.
38899         * modules/asinl (Depends-on): Likewise.
38900         * modules/atanl (Depends-on): Likewise.
38901         * modules/atoll (Depends-on): Likewise.
38902         * modules/bind (Depends-on): Likewise.
38903         * modules/btowc (Depends-on): Likewise.
38904         * modules/canonicalize-lgpl (Depends-on): Likewise.
38905         * modules/ceil (Depends-on): Likewise.
38906         * modules/ceilf (Depends-on): Likewise.
38907         * modules/ceill (Depends-on): Likewise.
38908         * modules/chdir-long (Depends-on): Likewise.
38909         * modules/chown (Depends-on): Likewise.
38910         * modules/close (Depends-on): Likewise.
38911         * modules/connect (Depends-on): Likewise.
38912         * modules/cosl (Depends-on): Likewise.
38913         * modules/dirfd (Depends-on): Likewise.
38914         * modules/dprintf (Depends-on): Likewise.
38915         * modules/dprintf-posix (Depends-on): Likewise.
38916         * modules/error (Depends-on): Likewise.
38917         * modules/euidaccess (Depends-on): Likewise.
38918         * modules/expl (Depends-on): Likewise.
38919         * modules/faccessat (Depends-on): Likewise.
38920         * modules/fchdir (Depends-on): Likewise.
38921         * modules/fclose (Depends-on): Likewise.
38922         * modules/fcntl (Depends-on): Likewise.
38923         * modules/fdopendir (Depends-on): Likewise.
38924         * modules/fflush (Depends-on): Likewise.
38925         * modules/floor (Depends-on): Likewise.
38926         * modules/floorf (Depends-on): Likewise.
38927         * modules/floorl (Depends-on): Likewise.
38928         * modules/fnmatch (Depends-on): Likewise.
38929         * modules/fopen (Depends-on): Likewise.
38930         * modules/fprintf-posix (Depends-on): Likewise.
38931         * modules/frexp (Depends-on): Likewise.
38932         * modules/frexp-nolibm (Depends-on): Likewise.
38933         * modules/frexpl (Depends-on): Likewise.
38934         * modules/frexpl-nolibm (Depends-on): Likewise.
38935         * modules/fseek (Depends-on): Likewise.
38936         * modules/fsusage (Depends-on): Likewise.
38937         * modules/ftell (Depends-on): Likewise.
38938         * modules/ftello (Depends-on): Likewise.
38939         * modules/futimens (Depends-on): Likewise.
38940         * modules/getcwd (Depends-on): Likewise.
38941         * modules/getcwd-lgpl (Depends-on): Likewise.
38942         * modules/getdelim (Depends-on): Likewise.
38943         * modules/getdomainname (Depends-on): Likewise.
38944         * modules/getgroups (Depends-on): Likewise.
38945         * modules/gethostname (Depends-on): Likewise.
38946         * modules/getline (Depends-on): Likewise.
38947         * modules/getlogin_r (Depends-on): Likewise.
38948         * modules/getopt-posix (Depends-on): Likewise.
38949         * modules/getpeername (Depends-on): Likewise.
38950         * modules/getsockname (Depends-on): Likewise.
38951         * modules/getsockopt (Depends-on): Likewise.
38952         * modules/getsubopt (Depends-on): Likewise.
38953         * modules/getusershell (Depends-on): Likewise.
38954         * modules/glob (Depends-on): Likewise.
38955         * modules/grantpt (Depends-on): Likewise.
38956         * modules/iconv_open (Depends-on): Likewise.
38957         * modules/iconv_open-utf (Depends-on): Likewise.
38958         * modules/inet_ntop (Depends-on): Likewise.
38959         * modules/inet_pton (Depends-on): Likewise.
38960         * modules/ioctl (Depends-on): Likewise.
38961         * modules/isapipe (Depends-on): Likewise.
38962         * modules/isfinite (Depends-on): Likewise.
38963         * modules/isinf (Depends-on): Likewise.
38964         * modules/lchown (Depends-on): Likewise.
38965         * modules/ldexpl (Depends-on): Likewise.
38966         * modules/link (Depends-on): Likewise.
38967         * modules/linkat (Depends-on): Likewise.
38968         * modules/listen (Depends-on): Likewise.
38969         * modules/logl (Depends-on): Likewise.
38970         * modules/lstat (Depends-on): Likewise.
38971         * modules/mbrlen (Depends-on): Likewise.
38972         * modules/mbrtowc (Depends-on): Likewise.
38973         * modules/mbsinit (Depends-on): Likewise.
38974         * modules/mbsnrtowcs (Depends-on): Likewise.
38975         * modules/mbsrtowcs (Depends-on): Likewise.
38976         * modules/mbtowc (Depends-on): Likewise.
38977         * modules/memcmp (Depends-on): Likewise.
38978         * modules/mkdir (Depends-on): Likewise.
38979         * modules/mkdtemp (Depends-on): Likewise.
38980         * modules/mkfifo (Depends-on): Likewise.
38981         * modules/mkfifoat (Depends-on): Likewise.
38982         * modules/mknod (Depends-on): Likewise.
38983         * modules/mkostemp (Depends-on): Likewise.
38984         * modules/mkostemps (Depends-on): Likewise.
38985         * modules/mkstemp (Depends-on): Likewise.
38986         * modules/mkstemps (Depends-on): Likewise.
38987         * modules/mktime (Depends-on): Likewise.
38988         * modules/nanosleep (Depends-on): Likewise.
38989         * modules/open (Depends-on): Likewise.
38990         * modules/openat (Depends-on): Likewise.
38991         * modules/perror (Depends-on): Likewise.
38992         * modules/poll (Depends-on): Likewise.
38993         * modules/popen (Depends-on): Likewise.
38994         * modules/posix_spawn (Depends-on): Likewise.
38995         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
38996         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
38997         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
38998         * modules/posix_spawnp (Depends-on): Likewise.
38999         * modules/pread (Depends-on): Likewise.
39000         * modules/printf-posix (Depends-on): Likewise.
39001         * modules/ptsname (Depends-on): Likewise.
39002         * modules/putenv (Depends-on): Likewise.
39003         * modules/pwrite (Depends-on): Likewise.
39004         * modules/readline (Depends-on): Likewise.
39005         * modules/readlink (Depends-on): Likewise.
39006         * modules/readlinkat (Depends-on): Likewise.
39007         * modules/recv (Depends-on): Likewise.
39008         * modules/recvfrom (Depends-on): Likewise.
39009         * modules/regex (Depends-on): Likewise.
39010         * modules/remove (Depends-on): Likewise.
39011         * modules/rename (Depends-on): Likewise.
39012         * modules/renameat (Depends-on): Likewise.
39013         * modules/rmdir (Depends-on): Likewise.
39014         * modules/round (Depends-on): Likewise.
39015         * modules/roundf (Depends-on): Likewise.
39016         * modules/roundl (Depends-on): Likewise.
39017         * modules/rpmatch (Depends-on): Likewise.
39018         * modules/select (Depends-on): Likewise.
39019         * modules/send (Depends-on): Likewise.
39020         * modules/sendto (Depends-on): Likewise.
39021         * modules/setenv (Depends-on): Likewise.
39022         * modules/setlocale (Depends-on): Likewise.
39023         * modules/setsockopt (Depends-on): Likewise.
39024         * modules/shutdown (Depends-on): Likewise.
39025         * modules/sigaction (Depends-on): Likewise.
39026         * modules/signbit (Depends-on): Likewise.
39027         * modules/sigprocmask (Depends-on): Likewise.
39028         * modules/sinl (Depends-on): Likewise.
39029         * modules/sleep (Depends-on): Likewise.
39030         * modules/snprintf (Depends-on): Likewise.
39031         * modules/snprintf-posix (Depends-on): Likewise.
39032         * modules/socket (Depends-on): Likewise.
39033         * modules/sprintf-posix (Depends-on): Likewise.
39034         * modules/sqrtl (Depends-on): Likewise.
39035         * modules/stat (Depends-on): Likewise.
39036         * modules/strchrnul (Depends-on): Likewise.
39037         * modules/strdup-posix (Depends-on): Likewise.
39038         * modules/strerror (Depends-on): Likewise.
39039         * modules/strerror_r-posix (Depends-on): Likewise.
39040         * modules/strndup (Depends-on): Likewise.
39041         * modules/strnlen (Depends-on): Likewise.
39042         * modules/strptime (Depends-on): Likewise.
39043         * modules/strsep (Depends-on): Likewise.
39044         * modules/strsignal (Depends-on): Likewise.
39045         * modules/strstr-simple (Depends-on): Likewise.
39046         * modules/strtod (Depends-on): Likewise.
39047         * modules/strtoimax (Depends-on): Likewise.
39048         * modules/strtok_r (Depends-on): Likewise.
39049         * modules/strtoumax (Depends-on): Likewise.
39050         * modules/symlink (Depends-on): Likewise.
39051         * modules/symlinkat (Depends-on): Likewise.
39052         * modules/tanl (Depends-on): Likewise.
39053         * modules/tcgetsid (Depends-on): Likewise.
39054         * modules/tmpfile (Depends-on): Likewise.
39055         * modules/trunc (Depends-on): Likewise.
39056         * modules/truncf (Depends-on): Likewise.
39057         * modules/truncl (Depends-on): Likewise.
39058         * modules/uname (Depends-on): Likewise.
39059         * modules/unlink (Depends-on): Likewise.
39060         * modules/unlockpt (Depends-on): Likewise.
39061         * modules/unsetenv (Depends-on): Likewise.
39062         * modules/usleep (Depends-on): Likewise.
39063         * modules/utimensat (Depends-on): Likewise.
39064         * modules/vasprintf (Depends-on): Likewise.
39065         * modules/vdprintf (Depends-on): Likewise.
39066         * modules/vdprintf-posix (Depends-on): Likewise.
39067         * modules/vfprintf-posix (Depends-on): Likewise.
39068         * modules/vprintf-posix (Depends-on): Likewise.
39069         * modules/vsnprintf (Depends-on): Likewise.
39070         * modules/vsnprintf-posix (Depends-on): Likewise.
39071         * modules/vsprintf-posix (Depends-on): Likewise.
39072         * modules/wcrtomb (Depends-on): Likewise.
39073         * modules/wcscasecmp (Depends-on): Likewise.
39074         * modules/wcscspn (Depends-on): Likewise.
39075         * modules/wcsdup (Depends-on): Likewise.
39076         * modules/wcsncasecmp (Depends-on): Likewise.
39077         * modules/wcsnrtombs (Depends-on): Likewise.
39078         * modules/wcspbrk (Depends-on): Likewise.
39079         * modules/wcsrtombs (Depends-on): Likewise.
39080         * modules/wcsspn (Depends-on): Likewise.
39081         * modules/wcsstr (Depends-on): Likewise.
39082         * modules/wcstok (Depends-on): Likewise.
39083         * modules/wcswidth (Depends-on): Likewise.
39084         * modules/wctob (Depends-on): Likewise.
39085         * modules/wctomb (Depends-on): Likewise.
39086         * modules/wctype (Depends-on): Likewise.
39087         * modules/wcwidth (Depends-on): Likewise.
39088         * modules/write (Depends-on): Likewise.
39090 2011-05-03  Bruno Haible  <bruno@clisp.org>
39092         Support for conditional dependencies.
39093         * doc/gnulib.texi (Module description): Document the syntax of
39094         conditional dependencies.
39095         * gnulib-tool: New option --conditional-dependencies.
39096         (func_usage): Document it.
39097         (cond_dependencies): New variable.
39098         (func_get_automake_snippet_conditional,
39099         func_get_automake_snippet_unconditional): New functions, extracted from
39100         func_get_automake_snippet.
39101         (func_get_automake_snippet): Use them.
39102         (sed_first_32_chars): New variable.
39103         (func_module_shellfunc_name): New function.
39104         (func_module_shellvar_name): New function.
39105         (func_module_conditional_name): New function.
39106         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
39107         func_cond_module_condition): New functions.
39108         (func_modules_transitive_closure): Add support for conditional
39109         dependencies.
39110         (func_emit_lib_Makefile_am): For a conditional module, enclose the
39111         conditional automake snippet in an automake conditional.
39112         (func_emit_autoconf_snippets): Emit shell functions that contain the
39113         code for conditional modules.
39114         (func_import, func_create_testdir): Update specification.
39116 2011-05-03  Eric Blake  <eblake@redhat.com>
39118         test-getaddrinfo: report error information
39119         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
39121 2011-05-03  Jim Meyering  <meyering@redhat.com>
39123         bootstrap: avoid build failure when $GZIP is set
39124         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
39125         program name.  If defined at all, it is supposed to list gzip options.
39126         Reported by Alan Curry in http://debbugs.gnu.org/8609
39128 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
39130         readme-release: new module with release instructions
39131         * modules/readme-release: New module.
39132         * top/README-release: New file, from coreutils, grep, diffutils.
39133         * MODULES.html.sh (Support for maintaining and releasing): Add it.
39135 2011-05-02  Eric Blake  <eblake@redhat.com>
39137         fflush: also replace fclose when fixing fflush
39138         * modules/fflush (Depends-on): Add fclose.
39139         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
39140         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
39141         memstreams with no backing fd.
39142         * doc/posix-functions/fclose.texi (fclose): Document the use of
39143         fflush module to fix the bug.
39144         * tests/test-fclose.c (main): Relax test when fclose is used in
39145         isolation.
39147         fclose: add some tests
39148         * modules/fclose-tests: New test module.
39149         * tests/test-fclose.c: New file.
39150         * doc/posix-functions/fclose.texi (fclose): Document the bug.
39152         fclose: reduced dependencies
39153         * modules/fclose (Depends-on): Switch from fflush/fseeko to
39154         simpler lseek.
39155         * lib/fclose.c (rpl_fclose): Likewise.
39156         Reported by Simon Josefsson.
39158         exit: drop remaining clients
39159         * modules/argmatch (Depends-on): Replace exit with stdlib.
39160         * modules/copy-file (Depends-on): Likewise.
39161         * modules/execute (Depends-on): Likewise.
39162         * modules/exitfail (Depends-on): Likewise.
39163         * modules/obstack (Depends-on): Likewise.
39164         * modules/pagealign_alloc (Depends-on): Likewise.
39165         * modules/pipe-filter-gi (Depends-on): Likewise.
39166         * modules/pipe-filter-ii (Depends-on): Likewise.
39167         * modules/savewd (Depends-on): Likewise.
39168         * modules/spawn-pipe (Depends-on): Likewise.
39169         * modules/wait-process (Depends-on): Likewise.
39170         * modules/xsetenv (Depends-on): Likewise.
39171         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
39172         * modules/git-merge-changelog (Depends-on): Likewise.
39173         * modules/long-options (Depends-on): Likewise.
39174         * modules/pt_chown (Depends-on): Likewise.
39175         * modules/sysexits (Depends-on): Likewise.
39177         freading: relax license from LGPLv3+ to LGPLv2+
39178         * modules/freading (License): Relax LGPL version.
39180 2011-05-02  Bruno Haible  <bruno@clisp.org>
39182         fchdir: Remove unused dependencies.
39183         * modules/fchdir (Depends-on): Remove include_next.
39185 2011-05-02  Bruno Haible  <bruno@clisp.org>
39187         gnulib-tool: Refactor.
39188         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
39189         from func_emit_autoconf_snippets.
39190         (func_emit_autoconf_snippets): Use it.
39192 2011-05-02  Simon Josefsson  <simon@josefsson.org>
39194         * NEWS: Document removal of 'exit'.
39195         * modules/exit: Remove file.
39197 2011-05-01  Bruno Haible  <bruno@clisp.org>
39199         Update DEPENDENCIES.
39200         * DEPENDENCIES (gettext): Recommend the newest release.
39201         Reported by Simon Josefsson.
39203 2011-05-01  Bruno Haible  <bruno@clisp.org>
39205         gnulib-tool: Reduce code duplication.
39206         * gnulib-tool (func_emit_autoconf_snippets): New function.
39207         (func_import, func_create_testdir): Use it.
39209 2011-04-30  Eric Blake  <eblake@redhat.com>
39211         fclose: don't fail on non-seekable input stream
39212         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
39213         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
39214         since fflush is allowed to fail in that case.
39216 2011-04-30  Bruno Haible  <bruno@clisp.org>
39218         dup3: cleanup
39219         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
39221 2011-04-30  Bruno Haible  <bruno@clisp.org>
39223         netdb: Make it work in C++ mode.
39224         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
39225         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
39226         module.
39227         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
39228         gl_MODULE_INDICATOR_FOR_TESTS.
39229         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
39230         * modules/netdb-c++-tests: New file.
39231         * tests/test-netdb-c++.cc: New file.
39233 2011-04-30  Bruno Haible  <bruno@clisp.org>
39235         New modules 'vfscanf', 'vscanf'.
39236         * modules/vfscanf: New file.
39237         * modules/vscanf: New file.
39238         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
39239         here.
39240         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
39241         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
39243 2011-04-30  Bruno Haible  <bruno@clisp.org>
39245         passfd: Add comments.
39246         * lib/passfd.c: Add comments about platforms.
39248 2011-04-30  Bruno Haible  <bruno@clisp.org>
39250         sys_uio: Make <sys/uio.h> self-contained.
39251         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
39252         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
39254 2011-04-30  Bruno Haible  <bruno@clisp.org>
39256         sys_socket: Ensure 'struct iovec' definition.
39257         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
39258         <sys/socket.h>.
39259         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
39261 2011-04-30  Bruno Haible  <bruno@clisp.org>
39263         sys_uio: Protect definition of 'struct iovec'.
39264         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
39265         it as a C struct.
39267 2011-04-30  Bruno Haible  <bruno@clisp.org>
39269         manywarnings: fix indentation
39270         * m4/manywarnings.m4: Indent by 2 spaces consistently.
39272 2011-04-30  Pádraig Brady  <P@draigBrady.com>
39274         manywarnings: add -Wno-missing-field-initializers if needed.
39275         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
39276         option if it's needed to allow initialization with { 0, }
39278 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
39280         announce-gen: cosmetic improvement
39281         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
39283 2011-04-29  Jim Meyering  <meyering@redhat.com>
39285         vc-list-files: indent with spaces, not TABs
39286         * build-aux/vc-list-files: Convert leading TABs to spaces,
39287         to match the style of most other files in gnulib.
39289         announce-gen: indent with spaces, not TABs
39290         * build-aux/announce-gen: Convert all TABs to spaces, to match
39291         the style of most other files in gnulib.
39293 2011-04-29  Eric Blake  <eblake@redhat.com>
39295         quotearg: avoid uninitialized variable use
39296         * lib/quotearg.c (quoting_options_from_style): Initialize
39297         remaining fields, and ensure that custom styles are only used via
39298         quoting_options rather than quoting_style.
39300 2011-04-29  Jim Meyering  <meyering@redhat.com>
39302         maint.mk: remove unused VC-tag variable
39303         * top/maint.mk (VC-tag): Remove unused variable.
39305 2011-04-29  Bruno Haible  <bruno@clisp.org>
39307         netdb: fix gai_strerror replacements
39308         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
39309         * modules/netdb: Substitute it.
39311 2011-04-29  Jim Meyering  <meyering@redhat.com>
39313         test-getcwd.c: avoid new set-but-not-used warning
39314         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
39315         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
39316         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
39317         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
39319         test-hash.c: avoid a new shadowing warning
39320         * tests/test-hash.c (main): Don't shadow "dup".
39322 2011-04-28  Eric Blake  <eblake@redhat.com>
39324         getaddrinfo: fix gai_strerror signature
39325         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
39326         and work around mingw with UNICODE defined.
39327         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
39328         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
39329         * modules/netdb (Makefile.am): Substitute it.
39330         * lib/netdb.in.h (gai_strerror): Declare replacement.
39331         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
39332         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
39333         the fix.
39335         getsockopt: avoid compiler warning
39336         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
39337         Reported by Matthias Bolte.
39339         tests: drop unused link dependency
39340         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
39341         * modules/dirent-safer-tests (Makefile.am): Likewise.
39342         * modules/fdopendir-tests (Makefile.am): Likewise.
39343         * modules/mkfifoat-tests (Makefile.am): Likewise.
39344         * modules/openat-safer-tests (Makefile.am): Likewise.
39345         * modules/openat-tests (Makefile.am): Likewise.
39346         * modules/readlinkat-tests (Makefile.am): Likewise.
39347         * modules/symlinkat-tests (Makefile.am): Likewise.
39348         * modules/linkat-tests (Makefile.am): Likewise.
39349         (Depends-on): Switch to filenamecat-lgpl.
39350         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
39351         LIBINTL.
39352         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
39353         * tests/test-linkat.c (main): Don't require xalloc.
39355         hash, mgetgroups: drop xalloc dependency
39356         * lib/hash.c (includes): Adjust includes.
39357         * lib/mgetgroups.c (includes): Likewise.
39358         (xgetgroups): Move...
39359         * lib/xgetgroups.c: ...to new file.
39360         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
39361         * modules/xgetgroups: New file, split from...
39362         * modules/mgetgroups: ...here.
39363         (Depends-on): Add xalloc-oversized.
39364         * modules/hash (Depends-on): Likewise.
39365         * modules/hash-tests (Depends-on): Drop xalloc.
39366         (test_hash_LDADD): Drop unused library.
39367         * tests/test-hash.c (main): Break xalloc dependency.
39368         (includes): Drop unused include.
39370         xalloc-oversized: new module
39371         * modules/xalloc-oversized: New module.
39372         * modules/xalloc (Depends-on): Add it.
39373         * lib/xalloc.h (xalloc_oversized): Move...
39374         * lib/xalloc-oversized.h: ...into new file.
39376         utimecmp: drop dependency on xmalloc
39377         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
39378         due to memory pressure.
39379         * modules/utimecmp (Depends-on): Drop xalloc.
39381 2011-04-27  Eric Blake  <eblake@redhat.com>
39383         getcwd: fix mingw bugs
39384         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
39385         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
39386         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
39388 2011-04-27  Bruno Haible  <bruno@clisp.org>
39390         mkstemps: Ensure declaration on MacOS X 10.5.
39391         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
39392         * doc/glibc-functions/mkstemps.texi: Document header file problem on
39393         MacOS X.
39395 2011-04-27  Bruno Haible  <bruno@clisp.org>
39397         mkstemp: More documentation.
39398         * doc/posix-functions/mkstemp.texi: Document header file problem on
39399         MacOS X.
39401 2011-04-27  Bruno Haible  <bruno@clisp.org>
39403         mkstemp: Tweak configure message when cross-compiling.
39404         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
39405         result as a guess.
39407 2011-04-27  Bruno Haible  <bruno@clisp.org>
39409         clean-temp: Clarify what it does.
39410         * lib/clean-temp.h: Add more comments.
39411         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
39412         module.
39413         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
39414         * doc/glibc-functions/mkstemps.texi: Likewise.
39415         * doc/glibc-functions/mkostemps.texi: Likewise.
39417 2011-04-27  Eric Blake  <eblake@redhat.com>
39419         fchdir: avoid extra chdir and fix test
39420         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
39421         getcwd-lgpl.
39422         * lib/fchdir.c (get_name): Any absolute name will do; it does not
39423         have to be canonical.
39424         (canonicalize_file_name): Drop unused macro.
39425         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
39427         filenamecat-lgpl: fix licence
39428         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
39429         when it was first created.
39431         linkat, renameat: add missing dependency
39432         * modules/linkat (Depends-on): Require getcwd-lgpl.
39433         * modules/renameat (Depends-on): Likewise.
39435         tests: reduce dependencies
39436         * tests/test-linkat.c (main): Use lighter-weight getcwd.
39437         * tests/test-renameat.c (main): Likewise.
39438         * modules/linkat-tests (Depends-on): Relax dependency.
39439         * modules/renameat-tests (Depends-on): Likewise.
39440         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
39441         dependency explicit.
39443         save-cwd: reduce default dependency
39444         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
39445         * lib/save-cwd.c: Update comments.
39446         * NEWS: Document the semantic change.
39448         getcwd: enhance tests
39449         * tests/test-getcwd-lgpl.c: New file, taken from...
39450         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
39451         repeat long path stress tests from m4 probe.
39452         * modules/getcwd-lgpl-tests: New module.
39453         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
39454         * m4/getcwd-abort-bug.m4: Update comment.
39455         * m4/getcwd-path-max.m4: Likewise.
39457         getcwd-lgpl: new module
39458         * modules/getcwd-lgpl: New module.
39459         * lib/getcwd-lgpl.c: New file.
39460         * doc/posix-functions/getcwd.texi (getcwd): Document it.
39461         * MODULES.html.sh (lacking POSIX:2008): Likewise.
39462         * modules/getcwd (configure.ac): Set C witness.
39463         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
39465         getcwd: tweak comments
39466         * m4/getcwd-abort-bug.m4: Fix comments.
39467         * m4/getcwd-path-max.m4: Likewise.
39468         * m4/getcwd.m4: Likewise.
39470 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
39471         and Eric Blake  <eblake@redhat.com>
39473         mkstemp: replace if system version uses wrong permissions
39474         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
39475         read/write mode bits set in file created by mkstemp.
39476         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
39478 2011-04-27  Eric Blake  <eblake@redhat.com>
39480         passfd: avoid compiler warning
39481         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
39482         Reported by Laine Stump.
39484 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
39486         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
39487         required by the NetBSD (and perhaps other 4.4BSD derived) join.
39489 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
39490         and Eric Blake  <eblake@redhat.com>
39492         mkstemp: mention clean-temp module
39493         * lib/mkstemp.c: Add comment.
39494         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
39496 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
39498         inttypes: also provide default values for 32-bit tests
39499         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
39500         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
39502 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
39504         strtoumax: remove dependency on strtoimax
39505         This is like the strtoull change of yesterday.
39506         * modules/strtoumax (Files): Add lib/strtoimax.c.
39507         (Depends-on): Remove strtoimax and add verify.
39509         inttypes-incomplete: new module
39510         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
39511         all but the PRI* and SCN* parts of gl_INTTYPES_H.
39512         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
39513         of gl_INTTYPES_H.
39514         (gl_INTTYPES_H): Rewrite in terms of these new macros.
39515         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
39516         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
39517         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
39518         * modules/strtoumax, modules/xstrtol (Depends-on):
39519         Depend on inttypes-incomplete, not inttypes.
39520         * modules/inttypes-incomplete: New module, containing the contents
39521         of the old modules/inttypes module, except that the Files: section
39522         omits m4/inttypes-pri.m4, and the configure.ac section invokes
39523         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
39524         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
39525         (Depends-on): Depend only on inttypes-incomplete.
39526         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
39528         inttypes: omit now-redundant strtoimax and strtoumax work
39529         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
39530         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
39532         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
39533         This supports apps that need pointers to strtoimax and strtoumax,
39534         and ports to HP-UX 11.00 64.bit, which has macros that expand to
39535         nonexistent functions.  See
39536         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00241.html>
39537         et seq.
39538         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
39539         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
39540         a macro.
39541         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
39543 2011-04-25  Simon Josefsson  <simon@josefsson.org>
39545         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
39547 2011-04-25  Bruno Haible  <bruno@clisp.org>
39549         strtol, strtoul: Mark modules as obsolete.
39550         * modules/strtol (Status, Notice): New sections.
39551         * modules/strtoul (Status, Notice): New sections.
39553 2011-04-25  Bruno Haible  <bruno@clisp.org>
39555         strtod: Remove check for strtod, unless supporting old platforms.
39556         * modules/strtod-obsolete: New file.
39557         * m4/strtod-obsolete.m4: New file.
39558         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
39559         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
39560         * modules/strtod (Depends-on): Add strtod-obsolete.
39561         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
39563 2011-04-25  Bruno Haible  <bruno@clisp.org>
39565         strcase: Make module obsolete.
39566         * modules/strcase (Status, Notice): New sections.
39568 2011-04-25  Bruno Haible  <bruno@clisp.org>
39570         dup2: Remove check for dup2, unless supporting old obsolete platforms.
39571         * modules/dup2-obsolete: New file.
39572         * m4/dup2-obsolete.m4: New file.
39573         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
39574         gl_FUNC_DUP2_OBSOLETE is not also defined.
39575         * modules/dup2 (Depends-on): Add dup2-obsolete.
39576         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
39578 2011-04-25  Bruno Haible  <bruno@clisp.org>
39580         strnlen: Avoid memchr related link error on old obsolete platforms.
39581         * modules/memchr-obsolete: New file.
39582         * m4/memchr-obsolete.m4: New file.
39583         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
39584         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
39585         * modules/memchr (Depends-on): Add memchr-obsolete.
39586         * modules/strnlen (Depends-on): Likewise.
39587         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
39589 2011-04-25  Jim Meyering  <meyering@redhat.com>
39591         maint.mk: makefile_at_at_check extend and clean up
39592         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
39593         in addition to */Makefile.am.
39594         Exempt legitimate uses of @VAR@ notation, e.g.,
39595         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
39596         Remove obsolete coreutils-specific comment.
39597         Prompted by discussion here:
39598         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
39600 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
39602         strtoul: remove dependency on strtol
39603         This is so that 'configure' need not check for strtol merely because
39604         the application needs strtoul.
39605         * modules/strtoul (Files): Add lib/strtol.c.
39606         (Depends-on): Remove strtol.
39608         strtoull: remove dependency on strtoul
39609         This is like the strtoll change.
39610         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
39611         (Depends-on): Remove strtoul.
39613         strtoll: remove dependency on strtol
39614         This is so that 'configure' need not check for strtol merely because
39615         the application needs strtoll.
39616         * modules/strtoll (Files): Add lib/strtol.c.
39617         (Depends-on): Remove strtol.
39619 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
39621         inttypes: Move some configure check to module 'imaxdiv'.
39622         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
39623         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
39624         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
39626 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
39628         inttypes: Move some configure check to module 'imaxabs'.
39629         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
39630         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
39631         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
39633 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
39635         inttypes: Remove configure tests that are not needed since 2009-12-31.
39636         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
39637         gl_cv_header_working_inttypes_h.
39639 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
39641         * modules/strnlen (Depends-on): Remove memchr.
39642         The strnlen implementation doesn't need the memchr module's fixes; see
39643         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00237.html>.
39645         strtol: remove dependency on wchar
39646         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
39647         * modules/strtol (Depends-on): Remove wchar.
39649 2011-04-21  Eric Blake  <eblake@redhat.com>
39651         passfd: fix test regression on Linux
39652         * modules/passfd-tests (configure.ac): Correct socketpair check.
39654         passfd: speed up configure and drop unused code
39655         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
39656         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
39657         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
39658         Instead of probing at configure for unix_scm_rights_bsd44_way,
39659         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
39660         check to a struct member probe.
39661         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
39662         (sendfd, recvfd): Update preprocessor checks.
39663         * modules/passfd (Files): Reflect rename, and drop unused file.
39664         (Depends-on): Drop unused dependency.
39666         passfd: allow compilation on mingw
39667         * modules/sys_socket (Depends-on): Add sys_uio.
39668         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
39669         iovec and a minimal struct msghdr.
39670         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
39671         * tests/test-sys_socket.c (main): Enhance test.
39672         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
39673         guaranteed to provide what we need.
39674         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
39675         * modules/passfd-tests (Depends-on): Add sys_wait.
39676         * tests/test-passfd.c (main): Skip test on mingw, for now.
39677         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
39678         partial 'struct msghdr' implementation.
39680         sys_uio: new module
39681         * modules/sys_uio: New module.
39682         * modules/sys_uio-tests: Likewise.
39683         * lib/sys_uio.in.h: New file.
39684         * m4/sys_uio_h.m4: Likewise.
39685         * tests/test-sys_uio.c: Likewise.
39686         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
39687         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
39689 2011-04-20  Jim Meyering  <meyering@redhat.com>
39691         useless-if-before-free: avoid false-positive
39692         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
39693         disjunct so that it too requires a terminating ";".  Without that,
39694         this script would identify as useless one statement from gcc that
39695         was not:
39696           if (aligned_ptr)
39697             free (((void **) aligned_ptr) [-1]);
39699 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
39701         doc: update users.txt.
39702         * users.txt: Add barcode.
39704 2011-04-19  Bruno Haible  <bruno@clisp.org>
39706         ioctl: Remove link dependency on native Windows.
39707         * lib/fd-hook.h: Renamed from lib/close-hook.h.
39708         (gl_close_fn, gl_ioctl_fn): New types.
39709         (struct fd_hook): Renamed from struct close_hook. Change type of
39710         private_close_fn field. Add private_ioctl_fn field.
39711         (close_hook_fn): Add parameter for primary close method.
39712         (execute_close_hooks, execute_all_close_hooks): Likewise.
39713         (ioctl_hook_fn): New type.
39714         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
39715         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
39716         argument.
39717         (unregister_fd_hook): Renamed from unregister_close_hook.
39718         * lib/fd-hook.c: Renamed from lib/close-hook.c.
39719         Don't include <unistd.h>.
39720         (close): Remove undef.
39721         (anchor): Update.
39722         (execute_close_hooks): Add argument for primary close method.
39723         (execute_all_close_hooks): Likewise.
39724         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
39725         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
39726         argument. Allow each argument to be NULL.
39727         (unregister_fd_hook): Renamed from unregister_close_hook.
39728         * lib/close.c (rpl_close): Pass 'close' function pointer to
39729         execute_all_close_hooks.
39730         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
39731         (primary_ioctl): New function.
39732         (ioctl): Don't call ioctlsocket here. Instead, call
39733         execute_all_ioctl_hooks.
39734         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
39735         close method.
39736         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
39737         (fd_sockets_hook): Renamed from close_sockets_hook.
39738         (gl_sockets_startup, gl_sockets_cleanup): Update.
39739         * modules/fd-hook: Renamed from modules/close-hook. Update.
39740         * modules/close (Depends-on): Add fd-hook, remove close-hook.
39741         * modules/sockets (Depends-on): Likewise.
39742         * modules/ioctl (Depends-on): Add fd-hook.
39743         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
39744         GNULIB_SOCKET.
39746 2011-04-19  Bruno Haible  <bruno@clisp.org>
39748         Move the support of O_NONBLOCK in open() to the 'open' module.
39749         * modules/nonblocking (Depends-on): Remove 'open'.
39750         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
39751         gl_cv_have_open_O_NONBLOCK.
39752         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
39753         O_NONBLOCK support.
39754         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
39756 2011-04-17  Bruno Haible  <bruno@clisp.org>
39758         pipe2: Simplify code.
39759         * lib/pipe2.c (pipe2): Reduce code duplication.
39761 2011-04-17  Bruno Haible  <bruno@clisp.org>
39763         nonblocking: Add comment.
39764         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
39766 2011-04-17  Bruno Haible  <bruno@clisp.org>
39768         nonblocking: Add tests for sockets.
39769         * tests/test-nonblocking-socket.sh: New file.
39770         * tests/test-nonblocking-socket-main.c: New file.
39771         * tests/test-nonblocking-socket-child.c: New file.
39772         * tests/test-nonblocking-socket.h: New file.
39773         * tests/socket-server.h: New file.
39774         * tests/socket-client.h: New file.
39775         * modules/nonblocking-socket-tests: New file.
39776         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
39778 2011-04-17  Bruno Haible  <bruno@clisp.org>
39780         nonblocking: Add tests for pipes.
39781         * tests/test-nonblocking-pipe.sh: New file.
39782         * tests/test-nonblocking-pipe-main.c: New file.
39783         * tests/test-nonblocking-pipe-child.c: New file.
39784         * tests/test-nonblocking-pipe.h: New file.
39785         * tests/test-nonblocking-writer.h: New file.
39786         * tests/test-nonblocking-reader.h: New file.
39787         * tests/test-nonblocking-misc.h: New file.
39788         * modules/nonblocking-pipe-tests: New file.
39789         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
39791 2011-04-16  Bruno Haible  <bruno@clisp.org>
39793         gettext: Clarify the needed programmer actions.
39794         * modules/gettext (Notice): New field.
39795         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
39797 2011-04-16  Bruno Haible  <bruno@clisp.org>
39799         strchrnul: Tweak last commit.
39800         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
39801         bug.
39802         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
39803         as in _GL_FUNCDECL_SYS.
39804         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
39805         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
39807 2011-04-15  Eric Blake  <eblake@redhat.com>
39809         strchrnul: work around cygwin bug
39810         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
39811         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
39812         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
39813         * modules/string (Makefile.am): Substitute it.
39814         * lib/string.in.h (strchrnul): Use it.
39816 2011-04-15  Bruno Haible  <bruno@clisp.org>
39818         Don't require lib/stdio-write.c when only module 'stdio' is used.
39819         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
39820         invocation.
39821         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
39823 2011-04-14  Bruno Haible  <bruno@clisp.org>
39825         Support non-blocking pipe I/O in read() on native Windows.
39826         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
39827         (read): New declaration.
39828         * lib/read.c: New file.
39829         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
39830         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
39831         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
39832         vscanf): New declarations.
39833         * lib/stdio-read.c: New file.
39834         * m4/read.m4: New file.
39835         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
39836         REPLACE_READ.
39837         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
39838         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
39839         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
39840         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
39841         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
39842         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
39843         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
39844         * modules/read: New file.
39845         * modules/nonblocking (Files): Add lib/stdio-read.c.
39846         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
39847         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
39848         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
39849         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
39850         * modules/pread (Depends-on): Add read.
39851         * modules/safe-read (Depends-on): Likewise.
39852         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
39853         gets, scanf, vfscanf, vscanf): Verify signatures.
39854         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
39855         problem with non-blocking pipes.
39856         * doc/posix-functions/fgetc.texi: Likewise.
39857         * doc/posix-functions/fgets.texi: Likewise.
39858         * doc/posix-functions/fread.texi: Likewise.
39859         * doc/posix-functions/fscanf.texi: Likewise.
39860         * doc/posix-functions/getc.texi: Likewise.
39861         * doc/posix-functions/getchar.texi: Likewise.
39862         * doc/posix-functions/gets.texi: Likewise.
39863         * doc/posix-functions/scanf.texi: Likewise.
39864         * doc/posix-functions/vfscanf.texi: Likewise.
39865         * doc/posix-functions/vscanf.texi: Likewise.
39867 2011-04-14  Bruno Haible  <bruno@clisp.org>
39869         Support non-blocking pipe I/O in write() on native Windows.
39870         * lib/write.c (rpl_write): Split a write request that failed merely
39871         because the byte count was larger than the pipe buffer's size.
39872         * doc/posix-functions/write.texi: Mention the problem with large byte
39873         counts.
39875 2011-04-14  Bruno Haible  <bruno@clisp.org>
39877         wchar: Ensure that wchar_t gets defined on uClibc.
39878         * lib/wchar.in.h: On uClibc, include <stddef.h>.
39879         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
39881 2011-04-13  Bruno Haible  <bruno@clisp.org>
39883         safe-write, full-read: Avoid unnecessary compilation units.
39884         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
39885         (Depends-on): Remove safe-read. Add ssize_t.
39886         * modules/full-read (Files): Add lib/full-write.c.
39887         (Depends-on): Add full-write.
39889 2011-04-13  Bruno Haible  <bruno@clisp.org>
39891         Support non-blocking pipe I/O and SIGPIPE in pwrite().
39892         * modules/pwrite (Depends-on): Add 'write'.
39894 2011-04-13  Bruno Haible  <bruno@clisp.org>
39896         Support non-blocking pipe I/O in write() on native Windows.
39897         * lib/unistd.in.h (write): Enable replacement also if
39898         GNULIB_UNISTD_H_NONBLOCKING is 1.
39899         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
39900         (rpl_write): When failing to write on a non-blocking pipe, change
39901         errno from ENOSPC to EAGAIN.
39902         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
39903         putchar, puts, vfprintf, vprintf): Enable replacement also if
39904         GNULIB_STDIO_H_NONBLOCKING is 1.
39905         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
39906         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
39907         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
39908         CALL_WITH_SIGPIPE_EMULATION.
39909         (CALL_WITH_SIGPIPE_EMULATION): Use them.
39910         * m4/nonblocking.m4: New file.
39911         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
39912         for non-blocking I/O support.
39913         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
39914         GNULIB_UNISTD_H_NONBLOCKING.
39915         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
39916         required for non-blocking I/O support.
39917         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
39918         * modules/nonblocking (Files): Add m4/nonblocking.m4,
39919         lib/stdio-write.c, m4/asm-underscore.m4.
39920         (Depends-on): Add stdio, unistd.
39921         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
39922         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
39923         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
39924         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
39925         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
39926         problem with non-blocking pipes.
39927         * doc/posix-functions/fputc.texi: Likewise.
39928         * doc/posix-functions/fputs.texi: Likewise.
39929         * doc/posix-functions/fwrite.texi: Likewise.
39930         * doc/posix-functions/printf.texi: Likewise.
39931         * doc/posix-functions/putc.texi: Likewise.
39932         * doc/posix-functions/putchar.texi: Likewise.
39933         * doc/posix-functions/puts.texi: Likewise.
39934         * doc/posix-functions/vfprintf.texi: Likewise.
39935         * doc/posix-functions/vprintf.texi: Likewise.
39936         * doc/posix-functions/write.texi: Likewise.
39938 2011-04-10  Jim Meyering  <meyering@redhat.com>
39940         maint.mk: prohibit doubled words
39941         Detect them also when they're separated by a newline.
39942         There are 3 ways to customize it:
39943           - disable the test on a per file basis, as usual with rules using
39944             $(VC_LIST_EXCEPT)
39945           - replace the default doubled-word-selecting regexp (affects all files)
39946           - ignore a particular file-vs-doubled-word match
39947         I nearly used that last one to ignore the "is is" match in
39948         coreutils' NEWS file, since the text was "ls -is is ..."
39949         To do that, I would have added this line to cfg.mk:
39950           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
39951         but it would have ignored any "is is" match in NEWS.
39952         Low probability, but still...
39953         Instead, I changed the text, slightly:
39954           -  ls -is is now consistent with ls -lis in ignoring values returned
39955           +  "ls -is" is now consistent with ls -lis in ignoring values returned
39956         * top/maint.mk (prohibit_double_word_RE_): Provide default.
39957         (prohibit_doubled_word_): Define.
39958         (sc_prohibit_doubled_word): New rule.
39959         (sc_prohibit_the_the): Remove.  Subsumed by the above.
39961 2011-04-10  Jim Meyering  <meyering@redhat.com>
39963         maint: fix doubled-word typo in comment
39964         * m4/gethostname.m4: s/is is/it is/
39965         * m4/getdomainname.m4: Likewise.
39967 2011-04-10  Jim Meyering  <meyering@redhat.com>
39969         maint: remove doubled word: s/it it/it/
39970         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
39972 2011-04-10  Jim Meyering  <meyering@redhat.com>
39974         maint.mk: remove useless semicolon and backslash
39975         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
39976         semicolon and backslash.
39978 2011-04-10  Bruno Haible  <bruno@clisp.org>
39980         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
39981         * modules/stdint-tests (Depends-on): Add wchar.
39983 2011-04-10  Jim Meyering  <meyering@redhat.com>
39985         maint: remove doubled words in comments, e.g., s/a a/a/
39986         * lib/strptime.c (day_of_the_week): s/the the/the/
39987         * tests/test-chown.h (test_chown): s/a a/a/
39989         test-chown.h: correct a cast
39990         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
39991         when the destination is a stat.st_gid.
39993 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
39995         getaddrinfo: Fix test for sa_len member.
39996         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
39997         include <sys/types.h> before <sys/socket.h>.
39999 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
40001         maint: change "can not" to "cannot"
40002         * doc/posix-functions/iconv.texi (iconv): This one crossed line
40003         boundaries.
40005 2011-04-09  Jim Meyering  <meyering@redhat.com>
40007         maint: change "a a" to "a"
40008         * tests/test-lchown.h (test_lchown): s/a a/a/
40010         maint.mk: prohibit \<the the\>
40011         * top/maint.mk (sc_prohibit_the_the): New rule.
40013         maint: fix "the the" in comment
40014         * lib/count-one-bits.h: s/the the/the/
40016         maint: change "can not" to "cannot"
40017         But do not change the occurrences in maintain.texi or in
40018         build-aux/po/Makefile.in.in, which I presume comes from gettext.
40019         * doc/gnulib-tool.texi: s/can not/cannot/
40020         * doc/posix-functions/accept.texi (accept): Likewise.
40021         * doc/posix-functions/socket.texi (socket): Likewise.
40022         * lib/mbrtowc.c: Likewise.
40024         maint.mk: prohibit use of "can not"
40025         * top/maint.mk (sc_prohibit_can_not): New rule.
40026         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
40028 2011-04-09  Bruno Haible  <bruno@clisp.org>
40030         careadlinkat: Guard against misuse of careadlinkatcwd.
40031         * lib/careadlinkat.c: Include <stdlib.h>.
40032         (careadlinkatcwd): Check that the fd argument is as expected.
40034 2011-04-09  Bruno Haible  <bruno@clisp.org>
40036         careadlinkat: Use common coding style.
40037         * lib/careadlinkat.c: Move gnulib includes after system includes.
40039 2011-04-09  Bruno Haible  <bruno@clisp.org>
40041         careadlinkat: Clarify specification.
40042         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
40043         (careadlinkatcwd): Add comment.
40044         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
40046 2011-04-09  Bruno Haible  <bruno@clisp.org>
40048         areadlinkat: Avoid link error on many platforms.
40049         * modules/areadlinkat (Depends-on): Add areadlink.
40051 2011-04-09  Bruno Haible  <bruno@clisp.org>
40053         allocator, careadlinkat: Fix double-inclusion guard.
40054         * lib/allocator.h: Fix double-inclusion guard.
40055         * lib/careadlinkat.h: Likewise.
40057 2011-04-09  Bruno Haible  <bruno@clisp.org>
40059         relocatable-prog-wrapper: Update after module 'areadlink' changed.
40060         * lib/relocwrapper.c: Update dependencies hierarchy.
40061         * build-aux/install-reloc: Update list of files to be compiled.
40062         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
40063         lib/allocator.[hc].
40065 2011-04-08  Eric Blake  <eblake@redhat.com>
40067         strftime: silence gnulib-tool warning
40068         * modules/strftime-tests (Depends-on): Drop automatic dependency.
40070 2011-04-08  Bruno Haible  <bruno@clisp.org>
40072         verify: Fix syntax error with GCC 4.6 in C++ mode.
40073         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
40074         (HAVE_STATIC_ASSERT): New macro.
40075         (verify_true, verify): Use 'static_assert' if it is supported and
40076         '_Static_assert' is not supported.
40078 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
40080         allocator: New module.
40081         * modules/allocator, lib/allocator.c: New files.
40082         * lib/allocator.h (stdlib_allocator): New decl.
40083         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
40084         Remove.  Do not include <stdlib.h>.
40085         (careadlinkat): Use stdlib_allocator instead of rolling our own.
40086         * modules/careadlinkat (Files): Remove lib/allocator.h.
40087         (Depends-on): Add allocator.
40089         stdlib: let modules use system malloc, realloc
40090         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
40091         if !_GL_USE_STDLIB_ALLOC.
40092         (malloc, realloc): Limit this change to a smaller scope.
40094         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
40095         (malloc, realloc): Don't #undef; no longer needed.
40096         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40097         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40098         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
40099         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40100         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40101         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40102         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40103         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
40105         careadlinkat: rename members to avoid problem
40106         * lib/allocator.h (struct allocator): Rename members from
40107         malloc/realloc to allocate/reallocate, to avoid problems if malloc
40108         and realloc are #define'd.  Reported by Eric Blake in
40109         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00091.html>.
40110         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
40112 2011-04-08  Eric Blake  <eblake@redhat.com>
40114         nonblocking: reduce dependency
40115         * tests/test-nonblocking.c: Only test sockets when in use.
40116         * modules/nonblocking-tests (Depends-on): Drop socket.
40117         (Makefile.am): Link even if sockets are not present.
40118         * modules/pipe2-tests (Makefile.am): Likewise.
40119         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
40121         pipe2: fix O_NONBLOCK support on mingw
40122         * modules/pipe2 (Depends-on): Add nonblocking.
40123         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
40124         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
40125         * tests/test-nonblocking.c (main): Likewise.
40126         * modules/pipe2-tests (Makefile.am): Avoid link failure.
40128         fcntl-h: fix O_ACCMODE on cygwin
40129         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
40130         * lib/fcntl.in.h (O_ACCMODE): Fix it.
40132         pipe-filter: drop O_NONBLOCK workarounds
40133         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
40134         * modules/pipe-filter-ii (Depends-on): Likewise.
40135         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
40137         nonblocking: provide O_NONBLOCK for mingw
40138         * modules/nonblocking (Depends-on): Add open.
40139         (configure.ac): Set new witness macro.
40140         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
40141         * modules/fcntl-h (Makefile.am): Substitute it.
40142         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
40143         nonblocking module is in use.
40144         * lib/nonblocking.c: Adjust portability test.
40145         * lib/open.c (open): Don't let native open see gnulib flag.
40146         * tests/test-fcntl-h.c (main): Enhance test.
40147         * tests/test-open.h (test_open): Likewise.
40148         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
40150         careadlinkat: fix compilation error on mingw
40151         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
40152         within struct allocator.
40154 2011-04-06  Eric Blake  <eblake@redhat.com>
40156         binary-io: relicense under LGPLv2+
40157         * modules/binary-io (License): Relax to LGPLv2+.
40158         Requested for libvirt, and required by pipe2.
40160 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
40162         verify: use _Static_assert if available
40163         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
40164         (verify_true, verify): Use it if available.  This generates better
40165         diagnostics with GCC 4.6.0 and later.
40167 2011-04-05  Bruno Haible  <bruno@clisp.org>
40169         Remove leftover generated .h files after config.status changed.
40171         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
40172         GL_GENERATE_ALLOCA_H.
40173         * modules/alloca-opt (Makefile.am): Remove alloca.h if
40174         GL_GENERATE_ALLOCA_H evaluates to false.
40176         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
40177         GL_GENERATE_ARGZ_H.
40178         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
40179         evaluates to false.
40181         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
40182         GL_GENERATE_BYTESWAP_H.
40183         * modules/byteswap (Makefile.am): Remove byteswap.h if
40184         GL_GENERATE_BYTESWAP_H evaluates to false.
40186         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
40187         GL_GENERATE_ERRNO_H.
40188         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
40189         evaluates to false.
40191         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
40192         GL_GENERATE_FLOAT_H.
40193         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
40194         evaluates to false.
40196         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
40197         GL_GENERATE_FNMATCH_H.
40198         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
40199         GL_GENERATE_FNMATCH_H evaluates to false.
40201         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
40202         GL_GENERATE_GLOB_H.
40203         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
40204         evaluates to false.
40206         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
40207         automake conditional GL_GENERATE_ICONV_H.
40208         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
40209         evaluates to false.
40211         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
40212         GL_GENERATE_NETINET_IN_H.
40213         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
40214         GL_GENERATE_NETINET_IN_H evaluates to false.
40216         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
40217         conditional GL_GENERATE_PTHREAD_H.
40218         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
40219         * modules/pthread (Makefile.am): Remove pthread.h if
40220         GL_GENERATE_PTHREAD_H evaluates to false.
40222         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
40223         GL_GENERATE_SCHED_H.
40224         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
40225         evaluates to false.
40227         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
40228         conditional GL_GENERATE_SELINUX_CONTEXT_H.
40229         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
40230         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
40232         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
40233         GL_GENERATE_STDARG_H.
40234         * modules/stdarg (Makefile.am): Remove stdarg.h if
40235         GL_GENERATE_STDARG_H evaluates to false.
40237         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
40238         GL_GENERATE_STDBOOL_H.
40239         * modules/stdbool (Makefile.am): Remove stdbool.h if
40240         GL_GENERATE_STDBOOL_H evaluates to false.
40242         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
40243         conditional GL_GENERATE_STDDEF_H.
40244         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
40245         * modules/stddef (Makefile.am): Remove stddef.h if
40246         GL_GENERATE_STDDEF_H evaluates to false.
40248         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
40249         GL_GENERATE_STDINT_H.
40250         * modules/stdint (Makefile.am): Remove stdint.h if
40251         GL_GENERATE_STDINT_H evaluates to false.
40253         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
40254         GL_GENERATE_SYSEXITS_H.
40255         * modules/sysexits (Makefile.am): Remove sysexits.h if
40256         GL_GENERATE_SYSEXITS_H evaluates to false.
40258         Reported by Karl Berry and Ralf Wildenhues.
40260 2011-04-05  Bruno Haible  <bruno@clisp.org>
40262         Ensure to rebuild generated .h files when config.status has changed.
40263         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
40264         config.status.
40265         * modules/ctype (Makefile.am): Likewise.
40266         * modules/dirent (Makefile.am): Likewise.
40267         * modules/errno (Makefile.am): Likewise.
40268         * modules/fcntl-h (Makefile.am): Likewise.
40269         * modules/float (Makefile.am): Likewise.
40270         * modules/getopt-posix (Makefile.am): Likewise.
40271         * modules/glob (Makefile.am): Likewise.
40272         * modules/iconv-h (Makefile.am): Likewise.
40273         * modules/inttypes (Makefile.am): Likewise.
40274         * modules/langinfo (Makefile.am): Likewise.
40275         * modules/locale (Makefile.am): Likewise.
40276         * modules/math (Makefile.am): Likewise.
40277         * modules/netdb (Makefile.am): Likewise.
40278         * modules/netinet_in (Makefile.am): Likewise.
40279         * modules/poll-h (Makefile.am): Likewise.
40280         * modules/pthread (Makefile.am): Likewise.
40281         * modules/pty (Makefile.am): Likewise.
40282         * modules/sched (Makefile.am): Likewise.
40283         * modules/search (Makefile.am): Likewise.
40284         * modules/selinux-h (Makefile.am): Likewise.
40285         * modules/signal (Makefile.am): Likewise.
40286         * modules/spawn (Makefile.am): Likewise.
40287         * modules/stdarg (Makefile.am): Likewise.
40288         * modules/stdbool (Makefile.am): Likewise.
40289         * modules/stddef (Makefile.am): Likewise.
40290         * modules/stdint (Makefile.am): Likewise.
40291         * modules/stdio (Makefile.am): Likewise.
40292         * modules/stdlib (Makefile.am): Likewise.
40293         * modules/string (Makefile.am): Likewise.
40294         * modules/strings (Makefile.am): Likewise.
40295         * modules/sys_file (Makefile.am): Likewise.
40296         * modules/sys_ioctl (Makefile.am): Likewise.
40297         * modules/sys_select (Makefile.am): Likewise.
40298         * modules/sys_socket (Makefile.am): Likewise.
40299         * modules/sys_stat (Makefile.am): Likewise.
40300         * modules/sys_time (Makefile.am): Likewise.
40301         * modules/sys_times (Makefile.am): Likewise.
40302         * modules/sys_utsname (Makefile.am): Likewise.
40303         * modules/sys_wait (Makefile.am): Likewise.
40304         * modules/sysexits (Makefile.am): Likewise.
40305         * modules/termios (Makefile.am): Likewise.
40306         * modules/time (Makefile.am): Likewise.
40307         * modules/unistd (Makefile.am): Likewise.
40308         * modules/wchar (Makefile.am): Likewise.
40309         * modules/wctype-h (Makefile.am): Likewise.
40310         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
40312 2011-04-05  Bruno Haible  <bruno@clisp.org>
40314         pipe2: Relicense under LGPLv2+.
40315         * modules/pipe2 (License): Change to LGPLv2+.
40316         Requested by Eric Blake, for libvirt.
40318 2011-04-05  Bruce Korb  <bkorb@gnu.org>
40320         bootstrap: compute gnulib_extra_files after updating build_aux
40321         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
40322         change build_aux or also supply gnulib_extra_files.  Handle correctly.
40324 2011-04-05  Eric Blake  <eblake@redhat.com>
40326         bootstrap: preserve git whitelist item sorting
40327         * build-aux/bootstrap (sort_patterns): New function.
40328         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
40330 2011-04-05  Simon Josefsson  <simon@josefsson.org>
40332         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
40333         sc_space_tab check.
40335 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
40337         areadlink, areadlinkat: rewrite in terms of careadlinkat
40338         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
40339         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
40340         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
40341         (malloc, realloc): Remove #undefs.
40342         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
40343         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
40344         readlink, ssize_t, stdint, unistd.
40345         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
40346         areadlink, stdint.
40348         careadlinkat: new module
40349         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
40350         * modules/careadlinkat: New files, written by me with
40351         a review and feedback from Ben Pfaff in
40352         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00008.html>.
40354 2011-04-01  Bruno Haible  <bruno@clisp.org>
40356         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
40357         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
40358         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
40359         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
40360         Reported by Bruce Korb <bruce.korb@gmail.com>.
40362 2011-04-01  Bruno Haible  <bruno@clisp.org>
40364         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
40365         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
40366         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
40367         * modules/wcpcpy (Depends-on): Add extensions.
40368         * modules/wcpncpy (Depends-on): Likewise.
40369         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
40370         systems.
40371         * doc/posix-functions/wcpncpy.texi: Likewise.
40372         * doc/posix-functions/wcwidth.texi: Likewise.
40374 2011-03-31  Eric Blake  <eblake@redhat.com>
40376         nonblocking: fix mingw test failures
40377         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
40378         non-blocking flag on regular file.
40379         (get_nonblocking_flag): Set errno on invalid fd.
40380         * tests/test-nonblocking.c (main): Avoid test failure on
40381         directories if fchdir is not active.
40382         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
40384 2011-03-31  Bruno Haible  <bruno@clisp.org>
40386         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
40387         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
40388         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
40389         Reported by Simon Josefsson <simon@josefsson.org>.
40391 2011-03-31  Bruno Haible  <bruno@clisp.org>
40392         and Eric Blake  <eblake@redhat.com>
40394         nonblocking: new module
40395         * modules/nonblocking: New module.
40396         * modules/nonblocking-tests: Likewise.
40397         * lib/nonblocking.h: New file.
40398         * lib/nonblocking.c: Likewise.
40399         * tests/test-nonblocking.c: New test.
40400         * lib/ioctl.c (ioctl) [mingw]: Update comment.
40402 2011-03-30  Bruno Haible  <bruno@clisp.org>
40404         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
40405         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
40406         instead of 'printf' format for GCC >= 4.4.
40407         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
40408         (fprintf, printf, vfprintf, vprintf): Declare with
40409         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
40410         the system's vfprintf() function.
40411         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
40413 2011-03-30  Eric Blake  <eblake@redhat.com>
40415         passfd: fix scoping bug
40416         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
40417         before sendmsg/recvmsg.
40419         passfd: standardize coding conventions
40420         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
40421         can be learned at compile time.
40422         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
40423         ifdefs.
40424         (sendfd, recvfd): Follow gnulib code conventions.
40426         passfd: fix incorrect sendmsg arguments
40427         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
40428         incorrect msg_controllen value.
40429         * modules/passfd-tests (Depends-on): Check for alarm.
40430         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
40431         Reported by Bastien ROUCARIES.
40433 2011-03-30  Bruno Haible  <bruno@clisp.org>
40435         c-strcasestr: Relicense under LGPLv2+.
40436         * modules/c-strcasestr (License): Change to LGPLv2+.
40437         Requested by Eric Blake, for libvirt.
40439 2011-03-30  Simon Josefsson  <simon@josefsson.org>
40441         * users.txt: Add libidn2.  Fix libtasn1 link.
40443 2011-03-30  Jim Meyering  <meyering@redhat.com>
40445         tests: readlink* ("",... fails with EINVAL on newer kernels
40446         readlink and readlinkat have typically failed with ENOENT for
40447         the invalid, empty file name,  "".  However, with the advent
40448         of linux-2.6.39, they fail with EINVAL.
40449         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
40450         when operating on the empty file name.
40451         * tests/test-readlink.h (test_readlink): Likewise.
40453 2011-03-29  Bruno Haible  <bruno@clisp.org>
40455         Relicense some modules under LGPLv2+, for libidn2.
40456         * modules/array-mergesort (License): Change to LGPLv2+.
40457         * modules/c-strcaseeq (License): Likewise.
40458         * modules/striconveh (License): Likewise.
40459         * modules/striconveha (License): Likewise.
40460         * modules/uniconv/base (License): Likewise.
40461         * modules/uniconv/u8-conv-from-enc (License): Likewise.
40462         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
40463         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
40464         * modules/unictype/base (License): Likewise.
40465         * modules/unictype/bidiclass-of (License): Likewise.
40466         * modules/unictype/category-M (License): Likewise.
40467         * modules/unictype/category-none (License): Likewise.
40468         * modules/unictype/category-of (License): Likewise.
40469         * modules/unictype/category-test (License): Likewise.
40470         * modules/unictype/category-test-withtable (License): Likewise.
40471         * modules/unictype/combining-class (License): Likewise.
40472         * modules/unictype/joiningtype-of (License): Likewise.
40473         * modules/unictype/scripts (License): Likewise.
40474         * modules/uninorm/base (License): Likewise.
40475         * modules/uninorm/canonical-decomposition (License): Likewise.
40476         * modules/uninorm/composition (License): Likewise.
40477         * modules/uninorm/decompose-internal (License): Likewise.
40478         * modules/uninorm/decomposition-table (License): Likewise.
40479         * modules/uninorm/nfc (License): Likewise.
40480         * modules/uninorm/nfd (License): Likewise.
40481         * modules/uninorm/u32-normalize (License): Likewise.
40482         * modules/unistr/base (License): Likewise.
40483         * modules/unistr/u32-cpy (License): Likewise.
40484         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
40485         * modules/unistr/u32-to-u8 (License): Likewise.
40486         * modules/unistr/u32-uctomb (License): Likewise.
40487         * modules/unistr/u8-check (License): Likewise.
40488         * modules/unistr/u8-mblen (License): Likewise.
40489         * modules/unistr/u8-mbtouc (License): Likewise.
40490         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
40491         * modules/unistr/u8-mbtoucr (License): Likewise.
40492         * modules/unistr/u8-prev (License): Likewise.
40493         * modules/unistr/u8-strlen (License): Likewise.
40494         * modules/unistr/u8-to-u32 (License): Likewise.
40495         * modules/unistr/u8-uctomb (License): Likewise.
40496         * modules/unitypes (License): Likewise.
40497         Requested by Simon Josefsson.
40499 2011-03-29  Simon Josefsson  <simon@josefsson.org>
40501         lib-symbol-visibility: Add a notice.
40502         * modules/lib-symbol-visibility (Notice): New field.
40504 2011-03-29  Bruno Haible  <bruno@clisp.org>
40506         getaddrinfo: Doc fix.
40507         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
40508         section "fixed in Gnulib".
40510 2011-03-28  Simon Josefsson  <simon@josefsson.org>
40512         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
40513         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
40515 2011-03-26  Bruno Haible  <bruno@clisp.org>
40517         unictype/property-byname: Reduce the number of load-time relocations.
40518         * lib/unictype/pr_byname.c: Include <stdlib.h>.
40519         (UC_PROPERTY_INDEX_*): New enumeration values.
40520         (uc_property_byname): Convert an index from the lookup table to an
40521         uc_property_t.
40522         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
40523         values.
40525 2011-03-26  Bruno Haible  <bruno@clisp.org>
40527         unictype/property-byname: Allow omitted word separators and aliases.
40528         * lib/unictype/pr_byname.gperf: Add property names without word
40529         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
40530         for 'space'.
40532 2011-03-26  Bruno Haible  <bruno@clisp.org>
40534         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
40535         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
40536         also hyphens to space.
40537         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
40538         without spaces.
40539         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
40541 2011-03-26  Bruno Haible  <bruno@clisp.org>
40543         unictype/joiningtype-byname: Recognize long names as well.
40544         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
40545         a long name.
40546         * lib/unictype/joiningtype_byname.c: Include <string.h>,
40547         unictype/joiningtype_byname.h.
40548         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
40549         * lib/unictype/joiningtype_byname.gperf: New file.
40550         * modules/unictype/joiningtype-byname (Files): Add
40551         lib/unictype/joiningtype_byname.gperf.
40552         (Depends-on): Add gperf.
40553         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
40554         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
40555         long names.
40557         Tests for module 'unictype/joiningtype-longname'.
40558         * modules/unictype/joiningtype-longname-tests: New file.
40559         * tests/unictype/test-joiningtype_longname.c: New file.
40561         New module 'unictype/joiningtype-longname'.
40562         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
40563         * lib/unictype/joiningtype_longname.c: New file.
40564         * modules/unictype/joiningtype-longname: New file.
40565         * modules/unictype/joiningtype-all (Depends-on): Add
40566         unictype/joiningtype-longname.
40568 2011-03-26  Bruno Haible  <bruno@clisp.org>
40570         unictype/bidiclass-byname: Recognize long names as well.
40571         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
40572         name.
40573         * lib/unictype/bidi_byname.c: Include <string.h>,
40574         unictype/bidi_byname.h.
40575         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
40576         * lib/unictype/bidi_byname.gperf: New file.
40577         * modules/unictype/bidiclass-byname (Files): Add
40578         lib/unictype/bidi_byname.gperf.
40579         (Depends-on): Add gperf.
40580         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
40581         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
40582         long names.
40584         Tests for module 'unictype/bidiclass-longname'.
40585         * modules/unictype/bidiclass-longname-tests: New file.
40586         * tests/unictype/test-bidi_longname.c: New file.
40588         New module 'unictype/bidiclass-longname'.
40589         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
40590         * lib/unictype/bidi_longname.c: New file.
40591         * modules/unictype/bidiclass-longname: New file.
40592         * modules/unictype/bidiclass-all (Depends-on): Add
40593         unictype/bidiclass-longname.
40595 2011-03-26  Bruno Haible  <bruno@clisp.org>
40597         unictype/bidi*: Rename modules.
40598         * modules/unictype/bidiclass-all: Renamed from
40599         modules/unictype/bidicategory-all.
40600         * modules/unictype/bidiclass-name: Renamed from
40601         modules/unictype/bidiclass-name.
40602         (Description): Update.
40603         * modules/unictype/bidiclass-name-tests: Renamed from
40604         modules/unictype/bidicategory-name-tests.
40605         * modules/unictype/bidiclass-byname: Renamed from
40606         modules/unictype/bidicategory-byname.
40607         (Description): Update.
40608         * modules/unictype/bidiclass-byname-tests: Renamed from
40609         modules/unictype/bidicategory-byname-tests.
40610         * modules/unictype/bidiclass-of: Renamed from
40611         modules/unictype/bidicategory-of.
40612         (Description): Update.
40613         * modules/unictype/bidiclass-of-tests: Renamed from
40614         modules/unictype/bidicategory-of-tests.
40615         * modules/unictype/bidiclass-test: Renamed from
40616         modules/unictype/bidicategory-test.
40617         (Description): Update.
40618         * modules/unictype/bidiclass-test-tests: Renamed from
40619         modules/unictype/bidicategory-test-tests.
40620         * modules/unictype/bidicategory-all: New file, a simple redirection.
40621         * modules/unictype/bidicategory-name: Likewise.
40622         * modules/unictype/bidicategory-byname: Likewise.
40623         * modules/unictype/bidicategory-of: Likewise.
40624         * modules/unictype/bidicategory-test: Likewise.
40625         * modules/unictype/property-bidi-* (Dependencies): Update.
40626         * lib/unictype/bidi_*.c: Update comment.
40628 2011-03-26  Bruno Haible  <bruno@clisp.org>
40630         unictype/bidi*: Rename functions, part 2.
40631         * modules/unictype/bidicategory-name (configure.ac): Update required
40632         libunistring version.
40633         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
40635 2011-03-25  Bruno Haible  <bruno@clisp.org>
40637         New module 'unictype/combining-class-all'.
40638         * modules/unictype/combining-class-all: New file.
40640         Tests for module 'unictype/combining-class-byname'.
40641         * modules/unictype/combining-class-byname-tests: New file.
40642         * tests/unictype/test-combiningclass_byname.c: New file.
40644         New module 'unictype/combining-class-byname'.
40645         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
40646         * lib/unictype/combiningclass_byname.c: New file.
40647         * lib/unictype/combiningclass_byname.gperf: New file.
40648         * modules/unictype/combining-class-byname: New file.
40650         Tests for module 'unictype/combining-class-longname'.
40651         * modules/unictype/combining-class-longname-tests: New file.
40652         * tests/unictype/test-combiningclass_longname.c: New file.
40654         New module 'unictype/combining-class-longname'.
40655         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
40656         * lib/unictype/combiningclass_longname.c: New file.
40657         * modules/unictype/combining-class-longname: New file.
40659         Tests for module 'unictype/combining-class-name'.
40660         * modules/unictype/combining-class-name-tests: New file.
40661         * tests/unictype/test-combiningclass_name.c: New file.
40663         New module 'unictype/combining-class-name'.
40664         * lib/unictype.in.h (uc_combining_class_name): New declaration.
40665         * lib/unictype/combiningclass_name.c: New file.
40666         * modules/unictype/combining-class-name: New file.
40668 2011-03-25  Bruno Haible  <bruno@clisp.org>
40670         unictype/combining-class: Rename source files.
40671         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
40672         of unictype/combining.h.
40673         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
40674         Update.
40675         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
40676         * modules/unictype/combining-class (Description): Fix.
40677         (Files, Makefile.am): Update.
40678         * tests/unictype/test-combiningclass.c: Renamed from
40679         tests/unictype/test-combining.c.
40680         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
40682 2011-03-25  Bruno Haible  <bruno@clisp.org>
40684         unictype: Update list of canonical combining classes.
40685         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
40687 2011-03-25  Bruno Haible  <bruno@clisp.org>
40689         unictype/category-byname: Recognize long names as well.
40690         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
40691         a long name.
40692         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
40693         unictype/categ_byname.h.
40694         (UC_CATEGORY_INDEX_*): New enumeration values.
40695         (uc_general_category_byname): Use uc_general_category_lookup and
40696         convert from index to value.
40697         * lib/unictype/categ_byname.gperf: New file.
40698         * modules/unictype/category-byname (Files): Add
40699         lib/unictype/categ_byname.gperf.
40700         (Depends-on): Add gperf.
40701         (Makefile.am): Add rule for generating unictype/categ_byname.h.
40702         * tests/unictype/test-categ_byname.c (main): Test the recognition of
40703         long names.
40705         Tests for module 'unictype/category-longname'.
40706         * modules/unictype/category-longname-tests: New file.
40707         * tests/unictype/test-categ_longname.c: New file.
40709         New module 'unictype/category-longname'.
40710         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
40711         * lib/unictype/categ_longname.c: New file.
40712         * modules/unictype/category-longname: New file.
40713         * modules/unictype/category-all (Depends-on): Add it.
40715 2011-03-25  Bruno Haible  <bruno@clisp.org>
40717         Tests for module 'unictype/category-LC'.
40718         * modules/unictype/category-LC-tests: New file.
40719         * tests/unictype/test-categ_LC.c: New file, automatically generated.
40721         New module 'unictype/category-LC'.
40722         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
40723         (UC_CATEGORY_LC): New declaration.
40724         (UC_CASED_LETTER): New macro.
40725         * lib/gen-uni-tables.c (is_category_LC): New function.
40726         (output_categories): Also handle category LC.
40727         (UC_CATEGORY_MASK_LC): New enumeration value.
40728         (general_category_byname): Also handle category LC.
40729         * lib/unictype/categ_LC.c: New file.
40730         * lib/unictype/categ_LC.h: New file, automatically generated.
40731         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
40732         category LC.
40733         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
40734         * modules/unictype/category-LC: New file.
40735         * modules/unictype/category-byname (Depends-on): Add
40736         unictype/category-LC.
40737         * modules/unictype/category-all (Depends-on): Likewise.
40739 2011-03-25  Eric Blake  <eblake@redhat.com>
40741         xmalloc: revert yesterday's regression
40742         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
40743         realloc's underlying behavior (allowing allocation of zero-size
40744         objects, especially if malloc-gnu is also in use).
40746 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
40748         maint.mk: add missing version to VC-tag
40749         * top/maint.mk: git tag was missing actual tag name; add it.
40751         valgrind: do leak checking, and exit with code 1 on error (not 0)
40752         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
40753         to VALGRIND.
40755 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
40757         posix-modules: say what it does.
40758         * posix-modules: Add a line to the --help output saying what it does.
40760 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
40762         xmalloc: Do not leak if underlying realloc is C99 compatible.
40763         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
40764         This avoids a leak on C99-based systems.  See
40765         <http://lists.gnu.org/r/bug-gnulib/2011-03/msg00243.html>.
40767 2011-03-24  Eric Blake  <eblake@redhat.com>
40769         realloc: document portability problem
40770         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
40771         passing 0 size to realloc.
40773 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
40775         doc: update users.txt
40776         * users.txt: Add cvsps, tmpwatch
40778 2011-03-23  Matt Rice  <ratmice@gmail.com>
40780         doc: update users.txt
40781         * users.txt: Add gdb.
40783 2011-03-23  Jim Meyering  <meyering@redhat.com>
40785         doc: update users.txt
40786         Looking through matches up to the following URL (there are still
40787         several more pages), I found several projects that use gnulib:
40788         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
40789         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
40790         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
40792 2011-03-22  Bruno Haible  <bruno@clisp.org>
40794         unictype/bidi*: Rename functions.
40795         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
40796         uc_bidi_class, uc_is_bidi_class): New declarations.
40797         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
40798         uc_bidi_category_byname.
40799         (uc_bidi_category_byname): New function.
40800         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
40801         u_bidi_category_name.
40802         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
40803         (uc_bidi_category_name): New function.
40804         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
40805         uc_bidi_category.
40806         (uc_bidi_category): New function.
40807         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
40808         uc_is_bidi_category. Invoke uc_bidi_class.
40809         (uc_is_bidi_category): New function.
40810         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
40811         instead of uc_bidi_category_byname.
40812         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
40813         instead of uc_bidi_category_name.
40814         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
40815         uc_bidi_category.
40816         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
40817         instead of uc_is_bidi_category.
40819 2011-03-21  Bruno Haible  <bruno@clisp.org>
40821         New module 'unictype/joininggroup-all'.
40822         * modules/unictype/joininggroup-all: New file.
40824         Tests for module 'unictype/joininggroup-of'.
40825         * modules/unictype/joininggroup-of-tests: New file.
40826         * tests/unictype/test-joininggroup_of.c: New file.
40827         * tests/unictype/test-joininggroup_of.h: New file, automatically
40828         generated by gen-uni-tables.
40830         New module 'unictype/joininggroup-of'.
40831         * modules/unictype/joininggroup-of: New file.
40832         * lib/unictype/joininggroup_of.c: New file.
40833         * lib/unictype/joininggroup_of.h: New file, automatically generated by
40834         gen-uni-tables.
40836         Tests for module 'unictype/joininggroup-byname'.
40837         * modules/unictype/joininggroup-byname-tests: New file.
40838         * tests/unictype/test-joininggroup_byname.c: New file.
40840         New module 'unictype/joininggroup-byname'.
40841         * modules/unictype/joininggroup-byname: New file.
40842         * lib/unictype/joininggroup_byname.c: New file.
40843         * lib/unictype/joininggroup_byname.gperf: New file.
40845         Tests for module 'unictype/joininggroup-name'.
40846         * modules/unictype/joininggroup-name-tests: New file.
40847         * tests/unictype/test-joininggroup_name.c: New file.
40849         New module 'unictype/joininggroup-name'.
40850         * modules/unictype/joininggroup-name: New file.
40851         * lib/unictype/joininggroup_name.c: New file.
40852         * lib/unictype/joininggroup_name.h: New file.
40854         New module 'unictype/joiningtype-all'.
40855         * modules/unictype/joiningtype-all: New file.
40857         Tests for module 'unictype/joiningtype-of'.
40858         * modules/unictype/joiningtype-of-tests: New file.
40859         * tests/unictype/test-joiningtype_of.c: New file.
40860         * tests/unictype/test-joiningtype_of.h: New file, automatically
40861         generated by gen-uni-tables.
40863         New module 'unictype/joiningtype-of'.
40864         * modules/unictype/joiningtype-of: New file.
40865         * lib/unictype/joiningtype_of.c: New file.
40866         * lib/unictype/joiningtype_of.h: New file, automatically generated by
40867         gen-uni-tables.
40869         Tests for module 'unictype/joiningtype-byname'.
40870         * modules/unictype/joiningtype-byname-tests: New file.
40871         * tests/unictype/test-joiningtype_byname.c: New file.
40873         New module 'unictype/joiningtype-byname'.
40874         * modules/unictype/joiningtype-byname: New file.
40875         * lib/unictype/joiningtype_byname.c: New file.
40877         Tests for module 'unictype/joiningtype-name'.
40878         * modules/unictype/joiningtype-name-tests: New file.
40879         * tests/unictype/test-joiningtype_name.c: New file.
40881         New module 'unictype/joiningtype-name'.
40882         * modules/unictype/joiningtype-name: New file.
40883         * lib/unictype/joiningtype_name.c: New file.
40885         unictype: Add support for Arabic shaping properties.
40886         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
40887         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
40888         declarations.
40889         (UC_JOINING_GROUP_*): New enumeration values.
40890         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
40891         declarations.
40892         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
40893         (unicode_joining_type): New variable.
40894         (UC_JOINING_GROUP_*): New enumeration values.
40895         (unicode_joining_group): New variable.
40896         (fill_arabicshaping, joining_type_as_c_identifier,
40897         output_joining_type_test, output_joining_type,
40898         joining_group_as_c_identifier, output_joining_group_test,
40899         output_joining_group): New functions.
40900         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
40901         fill_arabicshaping and output_joining_type_test, output_joining_type,
40902         output_joining_group_test, output_joining_group.
40903         Reported by Simon Josefsson.
40905 2011-03-21  Jim Meyering  <meyering@redhat.com>
40907         strftime: fix a bug in yesterday's change
40908         * lib/strftime.c (add): Accommodate width's initial value of -1.
40909         Otherwise, nstrftime would copy uninitialized data into
40910         the result buffer.
40912 2011-03-21  Jim Meyering  <meyering@redhat.com>
40914         tests: add strftime-tests module
40915         * tests/test-strftime.c: New file.
40916         * modules/strftime-tests: New module.
40918 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
40920         strftime: don't assume a byte count fits in 'int'
40921         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
40922         found this problem by static analysis, using gcc -Wstrict-overflow
40923         (GCC 4.5.2, x86-64).  This reported an optimization that depended
40924         on an integer overflow having undefined behavior, but it turns out
40925         that the argument is a size, which might not fit in 'int' anyway,
40927 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
40929         stdio: don't require ignore_value around fwrite
40931         This patch works around libc bug 11959
40932         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
40933         Without this patch, applications must often write
40934         ignore_value (fwrite (...)) even though the ignore_value is
40935         not helpful here.  It's common to write many objects, using
40936         fwrite/printf/etc., and then use ferror to detect output error.
40938         I considered making this patch optional, but decided against it,
40939         because libc is obviously being inconsistent here: there is no
40940         reason libc should insist that user code must inspect fwrite
40941         return's value without also insisting that it inspect printf's,
40942         putchar's, etc.  If user code wants to have a strict style where
40943         all these functions' values are checked (so that ferror need not
40944         be checked), we could add support for that style in a new gnulib
40945         module, but in the meantime it's better to be consistent and to
40946         support common usage.
40948         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
40949         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
40950         that we are compiling in checking mode, and if not C++, and
40951         if not already wrapping fwrite for some other reason.
40952         (fwrite): #define to rpl_fwrite if the latter is defined.
40954 2011-03-20  Bruno Haible  <bruno@clisp.org>
40956         verror: Fix compilation error introduced on 2011-02-13.
40957         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
40958         instead of __attribute__.
40959         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40961 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
40962             Bruno Haible  <bruno@clisp.org>
40964         socklen: do not depend on sys_socket
40965         While trying to modify Emacs to use gnulib's socklen module,
40966         I discovered a circular dependency: socklen depends on sys_socket
40967         and vice versa.  Emacs can use socklen, but it does not need
40968         sys_socket because it has its own substitute for sys/socket.h.
40969         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
40970         gl_TYPE_SOCKLEN_T.
40971         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
40972         gl_PREREQ_SYS_H_SOCKET.
40973         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
40974         gl_PREREQ_SYS_H_SOCKET.
40975         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
40976         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
40977         * modules/socklen (Depends-on): Do not depend on sys_socket.
40978         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
40980 2011-03-20  Jim Meyering  <meyering@redhat.com>
40982         maint.mk: sort file names *after* new transformation
40983         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
40984         prefix would have led to an unwarranted failure in GNU parted.
40985         Sort after that transformation.
40987 2011-03-19  Jim Meyering  <meyering@redhat.com>
40989         maint.mk: fix po-file syntax-check rule
40990         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
40991         Patch by Bruno Haible.
40993 2011-03-19  Bruno Haible  <bruno@clisp.org>
40995         socklen: Update comment.
40996         * m4/socklen.m4: Update comment about platforms.
40998 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
40999             Bruno Haible  <bruno@clisp.org>
41001         inet_ntop, inet_pton: Simplify.
41002         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
41003         documented to provide socklen_t and we already depend on sys_socket.
41004         * modules/inet_pton (Depends-on): Likewise.
41005         * lib/arpa_inet.in.h: Adjust comment.
41007 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
41008             Bruno Haible  <bruno@clisp.org>
41010         netdb: Simplify.
41011         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
41012         documented to provide socklen_t and we already depend on sys_socket.
41013         * lib/netdb.in.h: Adjust comment.
41015 2011-03-19  Bruno Haible  <bruno@clisp.org>
41017         sys_socket, netdb: Document problem with socklen_t.
41018         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
41019         platforms.
41020         * doc/posix-headers/netdb.texi: Likewise.
41022 2011-03-18  Eric Blake  <eblake@redhat.com>
41024         maint.mk: let po check work in VPATH build
41025         * top/maint.mk (po_file): Allow cfg.mk override.
41026         (sc_po_check): Allow VPATH use.
41027         Reported by Jiri Denemark.
41029 2011-03-16  Jim Meyering  <meyering@redhat.com>
41031         maint.mk: allow fine-grained syntax-check exclusion via Make variables
41032         Before, you would have had to create one .x-sc_ file per rule in order
41033         to exempt offending files.  Now, you may instead use a Make variable --
41034         usually defined in cfg.mk -- whose name identifies the affected rule.
41035         * top/maint.mk (_sc_excl): Define.
41036         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
41037         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
41039 2011-03-13  Bruno Haible  <bruno@clisp.org>
41041         ignore-value tests: Avoid warnings.
41042         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
41043         empty for gcc < 3.4.
41045 2011-03-13  Bruno Haible  <bruno@clisp.org>
41047         passfd: Fix link error on Solaris.
41048         * modules/passfd (Description): Correct.
41049         (Depends-on): Add socketlib.
41050         (Link): New section.
41051         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
41053 2011-03-13  Bruno Haible  <bruno@clisp.org>
41055         passfd: Fix link error on AIX 5.2.
41056         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
41058 2011-03-13  Bruno Haible  <bruno@clisp.org>
41060         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
41061         * lib/sys_socket.in.h: Include <stddef.h>.
41062         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
41063         CMSG_FIRSTHDR. Remove unused variable.
41065 2011-03-13  Bruno Haible  <bruno@clisp.org>
41067         passfd: Fix compilation error on OpenBSD.
41068         * lib/passfd.c: Include <sys/uio.h>.
41070 2011-03-13  Bruno Haible  <bruno@clisp.org>
41072         passfd test: Fix warnings.
41073         * tests/test-passfd.c: Include <sys/wait.h>.
41074         (main): Fix typo.
41076 2011-03-13  Bruno Haible  <bruno@clisp.org>
41078         passfd module, part 4, tweaks.
41079         * tests/test-passfd.c: Reorder includes.
41080         (main): Fix perror and printf calls.
41082 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
41084         passfd module, part 4.
41085         * modules/passfd-tests: New file.
41086         * tests/test-passfd.c: New file.
41088 2011-03-13  Jim Meyering  <meyering@redhat.com>
41090         Makefile: rely on GNU make; derive syntax-check rule names
41091         Rather than requiring that each sc_ rule be listed as a dependent
41092         of "check", use features of GNU make to derive the list.
41093         * Makefile (syntax-check-rules): Define.
41094         (check): Depend on the new variable, not the hard-coded list.
41096 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
41097             Bruno Haible  <bruno@clisp.org>
41099         passfd module, part 3.
41100         * lib/passfd.h (recvfd): Add a flags argument.
41101         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
41102         (recvfd): Add a flags argument.
41103         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
41104         exists.
41105         * modules/passfd (Depends-on): Add cloexec.
41106         Suggested by Eric Blake.
41108 2011-03-13  Bruno Haible  <bruno@clisp.org>
41110         passfd module, part 2, tweaks.
41111         * modules/passfd (Files): Reorder.
41112         (Depends-on): Remove errno.
41113         (Include): Remove <sys/socket.h>, <sys/un.h>.
41114         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
41115         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
41116         specification header. Include <sys/socket.h> always. Don't include
41117         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
41118         (sendfd): Clarify that it sets errno when it fails.
41119         (recvfd): Fix specification.
41121 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
41123         passfd module, part 2.
41124         * modules/passfd: New file.
41125         * lib/passfd.h: New file.
41126         * lib/passfd.c: New file.
41128 2011-03-12  Bruno Haible  <bruno@clisp.org>
41130         wcswidth, mbswidth: Avoid integer overflow.
41131         * lib/wcswidth.c: Include <limits.h>.
41132         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
41133         * lib/mbswidth.c: Include <limits.h>.
41134         (mbsnwidth): Avoid 'int' overflow.
41135         Reported by Jim Meyering.
41137 2011-03-12  Bruno Haible  <bruno@clisp.org>
41139         futimens, utimensat: Avoid endless recursion on Solaris 10.
41140         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
41141         Solaris.
41142         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
41143         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
41145 2011-03-11  Jim Meyering  <meyering@redhat.com>
41147         maint.mk: relax a regexp to accommodate other formatting styles
41148         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
41149         between "ngettext" and the following "(".
41151 2011-03-11  Pádraig Brady  <P@draigBrady.com>
41153         maint.mk: suppress a false positive warning
41154         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
41155         diagnostics are marked with ngettext.
41157 2011-03-10  Eric Blake  <eblake@redhat.com>
41159         wchar: add explicit dependencies, for Tru64
41160         * modules/mbmemcasecoll (Depends-on): Add wchar.
41161         * modules/mbtowc (Depends-on): Likewise.
41162         * modules/vasnprintf (Depends-on): Likewise.
41163         * modules/unistdio/u-printf-args (Depends-on): Likewise.
41164         * modules/wctomb (Depends-on): Likewise.
41165         Reported by Peter O'Gorman.
41167 2011-03-08  Bruno Haible  <bruno@clisp.org>
41169         passfd module, part 1, tweaks.
41170         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
41171         Improve indentation. Improve AC_MSG_CHECKING messages.
41172         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
41173         gl_SOCKET_FAMILIES.
41175 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
41177         passfd module, part 1.
41178         * m4/afunix.m4: New file.
41179         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
41180         sockets.
41182 2011-03-08  Bruno Haible  <bruno@clisp.org>
41184         regex-quote: New API.
41185         * lib/regex-quote.h: Include <stdbool.h>.
41186         (struct regex_quote_spec): New type.
41187         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
41188         New declarations.
41189         (regex_quote_length, regex_quote_copy, regex_quote): Take a
41190         'const struct regex_quote_spec *' argument.
41191         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
41192         (pcre_special): New constant.
41193         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
41194         New functions.
41195         (regex_quote_length, regex_quote_copy, regex_quote): Take a
41196         'const struct regex_quote_spec *' argument.
41197         * modules/regex-quote (Depends-on): Add stdbool.
41198         * tests/test-regex-quote.c (check): Update for new API. Add test for
41199         anchored results.
41200         * NEWS: Mention the API change.
41201         Reported by Reuben Thomas and Eric Blake.
41203 2011-03-06  Bruno Haible  <bruno@clisp.org>
41205         regex-quote: Fix creation of POSIX extended regular expressions.
41206         * lib/regex-quote.c (ere_special): Add grouping and alternation
41207         operators.
41209 2011-03-05  Bruno Haible  <bruno@clisp.org>
41211         doc: Improve doc regarding autopoint vs. gnulib.
41212         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
41213         disable autopoint while running autoreconf.
41214         Suggested by Ralf Wildenhues.
41216 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41218         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
41219         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
41221 2011-03-03  Bruce Korb  <bkorb@gnu.org>
41223         parse-duration: remove xalloc.h dependency
41224         * lib/parse-duration.c (parse_period): handle NULL return from
41225         strdup instead of calling xstrdup().
41226         * modules/parse-duration: remove "xalloc" dependency
41228 2011-03-03  Matthew Booth  <mbooth@redhat.com>
41230         bootstrap: honor m4_base when running aclocal
41231         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
41233 2011-03-02  Jim Meyering  <meyering@redhat.com>
41235         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
41236         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
41237         on request from Matt Booth.
41239 2011-03-01  Eric Blake  <eblake@redhat.com>
41241         test-link: work on Hurd
41242         * tests/test-link.h (test_link): Hurd rejects linking directories
41243         with EISDIR instead of the POSIX-mandated EPERM.
41245 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
41247         stdio: simplify by moving files to printf-posix, sigpipe
41248         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
41249         since this symbol is needed only if printf is replaced.
41250         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
41251         Require gl_ASM_SYMBOL_PREFIX.
41252         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
41253         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
41254         (Depends-on): Add 'raise'.
41255         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
41256         * modules/stdio (Files): Remove lib/stdio-write.c,
41257         m4/asm-underscore.m4.
41258         (Depends-on): Remove 'raise'.
41260         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
41261         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
41262         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
41263         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
41265 2011-02-28  Bruno Haible  <bruno@clisp.org>
41267         localcharset: Assume ANSI C behaviour of free().
41268         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
41269         calling free().
41270         Suggested by Simon Josefsson <simon@josefsson.org>.
41272 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
41273             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
41274             Bruno Haible  <bruno@clisp.org>  (tiny change)
41276         On Cygwin, use /proc file system instead of win32 API.
41277         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
41278         Win32 file names.
41279         (DllMain): Simplify by removing Cygwin specific code.
41280         (find_shared_library_fullname): Use Linux specific implementation also
41281         for Cygwin.
41282         (get_shared_library_fullname): Update accordingly.
41283         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
41284         Win32 file names.
41285         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
41286         Cygwin specific code.
41288 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
41289             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
41291         Fix OpenMP flag detection for various Fortran compilers.
41292         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
41293         OpenMP-conditional compilation construct, to force compile
41294         failure with missing OpenMP flag.
41295         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
41297 2011-02-25  Eric Blake  <eblake@redhat.com>
41299         strstr: expand test coverage
41300         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
41301         compilation.
41302         * tests/test-memmem.c (main): Duplicate tests.
41303         * tests/test-strcasestr.c (main): Likewise.
41304         * tests/test-c-strcasestr.c (main): Likewise.
41306 2011-02-25  Jim Meyering  <meyering@redhat.com>
41308         maint.mk: detect missing-NL-at-EOF, too
41309         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
41310         it also detects when a file lacks a newline at EOF.
41311         (require_exactly_one_NL_at_EOF_): Renamed from
41312         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
41313         since people may well have .x-sc_... file names tied to the
41314         existing name.  Suggested by Eric Blake.
41316 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
41318         dirname: move m4/dos.m4 functionality into lib/dosname.h
41320         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
41321         extracts symbols from it, puts them into config.h; but it's much
41322         easier to use the symbols directly.  filename.h already does this,
41323         but it disagrees with dos.m4 in some respects.  This patch
41324         introduces a different include file dosname.h that packages up
41325         dos.m4, and then later we can work on merging filename.h and
41326         dosname.h.  Applications that need only the easy-to-configure
41327         symbols should consider including dosname.h rather than dirname.h.
41328         * NEWS: Mention incompatible changes.
41329         * m4/dos.m4: Remove.
41330         * lib/dosname.h, modules/dosname: New files.
41331         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
41332         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
41333         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
41334         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
41335         Include dosname.h, not dirname.h.
41336         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
41337         Include dosname.h, for definitions of symbols like ISSLASH
41338         that used to be in config.h.
41339         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
41340         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
41341         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
41342         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
41343         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
41344         * modules/rmdir (Files): Likewise.
41345         * modules/stat (Files): Likewise.
41346         * modules/unlink (Files): Likewise.
41347         * modules/dirname-lgpl (Depends-on): Add dosname.
41348         * modules/lstat (Depends-on): Likewise.
41349         * modules/openat (Depends-on): Likewise.
41350         * modules/rmdir (Depends-on): Likewise.
41351         * modules/savewd (Depends-on): Likewise.
41352         * modules/stat (Depends-on): Likewise.
41353         * modules/unlink (Depends-on): Likewise.
41354         * modules/openat (Depends-on): Remove dirname-lgpl.
41355         * modules/savewd (Depends-on): Likewise.
41356         * tests/test-dirname.c: Do not use removed symbols like
41357         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
41358         the remaining symbols, e.g., ISSLASH ('\\').
41360 2011-02-25  Eric Blake  <eblake@redhat.com>
41362         strstr: revert patches that introduced bug and pessimization
41363         * lib/str-two-way.h: Add another reference.
41364         (two_way_short_needle, two_way_long_needle): Revert changes from
41365         2011-02-24; they pessimize search speed.
41366         (critical_factorization): Partially revert changes from
41367         2010-06-22; they violate the requirement that the left half of the
41368         needle be smaller than the period of the needle.
41370 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
41372         filenamecat: remove unnecessary dependency on dirname-lgpl
41373         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
41374         is no direct dependency, just an indirect one via filenamecat-lgpl.
41376         remove: remove unnecessary use of m4/dos.m4
41377         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
41378         * modules/remove (FILES): Remove m4/dos.m4.
41380         * lib/openat-proc.c: Don't include dirname.h; not needed.
41382         backupfile: remove unnecessary use of m4/dos.m4
41383         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
41384         of its symbols are used by the backupfile code.  backupfile.c does
41385         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
41386         for the rare case of programs that want all their backup file
41387         names to live within 8+3 limits, and dos.m4 doesn't address that.
41388         * modules/backupfile (Files): Remove m4/dos.m4.
41390 2011-02-24  Jim Meyering  <meyering@redhat.com>
41392         strstr: fix a bug whereby strstr would mistakenly return NULL
41393         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
41394         in period calculation.
41395         (two_way_long_needle): Likewise.
41396         The original problem was reported by Mike Stump in
41397         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
41398         Ralf Wildenhues provided the short needle and haystack.
41399         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
41400         Add a more involved test to trigger the bug in two_way_long_needle.
41402 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
41404         gnulib-tool: remove use of bold display in help screen
41405         * gnulib-tool (func_usage): Do not use bold display anymore in the
41406         help screen.  That was just meant to be a temporary emphasis for a
41407         backward-incompatible change.
41409 2011-02-23  Bruno Haible  <bruno@clisp.org>
41411         Fix misindentation of preprocessor directives.
41412         * lib/argp-namefrob.h: Reindent preprocessor directives.
41413         * lib/getopt_int.h (struct _getopt_data): Likewise.
41414         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
41415         * lib/vasnprintf.c (decode_long_double): Likewise.
41416         * tests/test-argmatch.c: Insert blank lines, for clarity.
41417         * tests/test-exclude.c: Likewise.
41419 2011-02-22  Bruno Haible  <bruno@clisp.org>
41421         ioctl: Fix for MacOS X in 64-bit mode.
41422         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
41423         value.
41424         Suggested by Eric Blake.
41425         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
41427 2011-02-22  Jim Meyering  <meyering@redhat.com>
41429         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
41430         * Makefile (sc_cpp_indent_check): Don't limit the check to files
41431         in lib/.
41433 2011-02-22  Eric Blake  <eblake@redhat.com>
41435         maint: avoid any CDPATH issue
41436         * Makefile (sc_cpp_indent_check): Anchor cd argument.
41438         maint: adjust cpp indentation for my modules, as well
41439         * Makefile (sc_cpp_indent_check): Add my name.
41440         * lib/fbufmode.c: Filter through cppi.
41441         * lib/fpurge.c: Likewise.
41442         * lib/freadable.c: Likewise.
41443         * lib/freading.c: Likewise.
41444         * lib/fwritable.c: Likewise.
41445         * lib/fwriting.c: Likewise.
41446         * lib/sigaction.c: Likewise.
41448 2011-02-22  Jim Meyering  <meyering@redhat.com>
41450         maint: adjust cpp indentation to reflect nesting depth
41451         I.e., in a block of code that begins with an unnested "#if",
41452         put one space between the "#" in column 1 and following token.
41453         For example,
41454         -#include <sys/vfs.h>
41455         +# include <sys/vfs.h>
41456         Do this only in .c files that are part of a module I maintain.
41457         * lib/linkat.c: Filter through cppi.
41458         * lib/nanosleep.c: Likewise.
41459         * lib/openat.c: Likewise.
41460         * lib/openat-die.c: Likewise.
41461         * lib/dup3.c: Likewise.
41462         * lib/fchownat.c: Likewise.
41463         * lib/flock.c: Likewise.
41464         * lib/fsync.c: Likewise.
41465         * lib/fts.c: Likewise.
41466         * lib/getpass.c: Likewise.
41467         * lib/gettimeofday.c: Likewise.
41468         * lib/userspec.c: Likewise.
41469         * Makefile (sc_cpp_indent_check): New rule, to check this.
41471 2011-02-22  Bruno Haible  <bruno@clisp.org>
41473         New module 'wctomb'.
41474         * lib/stdlib.in.h (wctomb): New declaration.
41475         * lib/wctomb.c: New file.
41476         * lib/wctomb-impl.h: New file.
41477         * m4/wctomb.m4: New file.
41478         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
41479         REPLACE_WCTOMB.
41480         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
41481         REPLACE_WCTOMB.
41482         * modules/wctomb: New file.
41483         * tests/test-stdlib-c++.cc: Test signature of wctomb.
41484         * doc/posix-functions/wctomb.texi: Mention the new module.
41485         * modules/wctob (Depends-on): Add wctomb.
41487 2011-02-22  Bruno Haible  <bruno@clisp.org>
41489         New module 'mbtowc'.
41490         * lib/stdlib.in.h (mbtowc): New declaration.
41491         * lib/mbtowc.c: New file.
41492         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
41493         * m4/mbtowc.m4: New file.
41494         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
41495         REPLACE_MBTOWC.
41496         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
41497         REPLACE_MBTOWC.
41498         * modules/mbtowc: New file.
41499         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
41500         * doc/posix-functions/mbtowc.texi: Mention the new module.
41501         * modules/btowc (Depends-on): Add mbtowc.
41503 2011-02-22  Bruno Haible  <bruno@clisp.org>
41505         wcrtomb: Add more tests for native Windows platforms.
41506         * tests/test-wcrtomb-w32-1.sh: New file.
41507         * tests/test-wcrtomb-w32-2.sh: New file.
41508         * tests/test-wcrtomb-w32-3.sh: New file.
41509         * tests/test-wcrtomb-w32-4.sh: New file.
41510         * tests/test-wcrtomb-w32-5.sh: New file.
41511         * tests/test-wcrtomb-w32.c: New file.
41512         * modules/wcrtomb-tests (Files): Add them.
41513         (Makefile.am): Arrange to run these tests.
41514         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
41515         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
41517 2011-02-20  Bruno Haible  <bruno@clisp.org>
41519         wcrtomb: Enhance test.
41520         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
41522 2011-02-20  Bruno Haible  <bruno@clisp.org>
41524         mbrtowc: Tiny optimization.
41525         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
41527 2011-02-20  Jim Meyering  <meyering@redhat.com>
41529         test-exclude.c: remove unmatched #endif
41530         * tests/test-exclude.c: Remove stray #endif, left over from
41531         the change of a week ago.
41533 2011-02-19  Jim Meyering  <meyering@redhat.com>
41535         git-version-gen: skip "-dirty" check when appropriate
41536         * build-aux/git-version-gen: Don't run any git commands when the
41537         version string comes from .tarball-version.  Prior to this, we
41538         would run git update-index --refresh even from a just-unpacked
41539         tarball directory, and that could affect a .git/ directory in a
41540         parent of the build directory.  Reported by Mike Frysinger.
41542 2011-02-19  Bruno Haible  <bruno@clisp.org>
41544         unictype/property-byname: Reduce the size of the 'data' segment.
41545         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
41547 2011-02-19  Bruno Haible  <bruno@clisp.org>
41549         unictype/scripts: Reduce the size of the 'data' segment.
41550         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
41551         '%pic'.
41552         * lib/unictype/scripts_byname.gperf: Regenerated.
41554 2011-02-19  Bruno Haible  <bruno@clisp.org>
41556         stdint: Update documentation.
41557         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
41559 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
41561         stdint: omit redundant check for wchar.h
41562         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
41563         always tests whether wchar.h exists, so remove the now-redundant test.
41565 2011-02-18  Bruno Haible  <bruno@clisp.org>
41567         stdint: Cut dependency to module 'wchar'.
41568         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
41569         include the necessary prerequisites.
41570         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
41571         * modules/stdint (Depends-on): Remove wchar.
41572         (Makefile.am): Substitute HAVE_WCHAR_H.
41573         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
41575 2011-02-18  Eric Blake  <eblake@redhat.com>
41577         longlong: skip, rather than fail, on cross-compilation
41578         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
41579         when cross-compiling; regression from 2011-02-16.
41581 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
41583         * NEWS: Mention 2011-02-08 change to stdlib.
41585 2011-02-17  Bruno Haible  <bruno@clisp.org>
41587         getloadavg: Add comments about platforms.
41588         * m4/getloadavg.m4: Add comment.
41589         * lib/getloadavg.c: Likewise.
41591 2011-02-17  Bruno Haible  <bruno@clisp.org>
41593         getloadavg: Fix link error on Solaris 2.6.
41594         * modules/getloadavg (Link): New section.
41595         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
41596         linking test-getloadavg.
41597         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
41598         getloadavg.
41600 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
41602         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
41603         It was 'int', but this doesn't match the IRIX 6.5 manual.
41604         Suggested by Bruno Haible in
41605         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00207.html>.
41607 2011-02-17  Bruno Haible  <bruno@clisp.org>
41609         havelib: Fix comments.
41610         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
41611         change.
41613 2011-02-17  Bruno Haible  <bruno@clisp.org>
41615         havelib: Update config.rpath.
41616         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
41618 2011-02-17  Bruno Haible  <bruno@clisp.org>
41620         getloadavg test: Add some plausibility checks.
41621         * tests/test-getloadavg.c (check_avg): Print a warning when the value
41622         is improbable.
41624 2011-02-16  Eric Blake  <eblake@redhat.com>
41626         maintainer-makefile: make syntax-check a no-op from tarballs
41627         * top/maint.mk (no-vc-detected): New rule.
41628         (local-checks-available): Use it to avoid hanging if someone tries
41629         'make syntax-check' from a tarball.  Also append to any non-syntax
41630         checks already defined in cfg.mk.
41632 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
41634         longlong: tune, particularly for common case of c99
41636         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
41637         or running anything if c99, or if unsigned long long int does not
41638         work.  In either case, we know the answer without further tests.
41639         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
41640         it at most once, and use its results for both long long int and
41641         unsigned long long int.  This is more likely to be efficient in
41642         the common case where the program wants to check for both long
41643         long int and unsigned long long int.
41644         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
41645         since the answer is already known.
41647 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
41649         getloadavg: set errno
41650         * lib/getloadavg.c: Set errno when returning -1.  If no other
41651         error number looks appropriate, set it to ENOSYS if the getloadavg
41652         looks like it can't possibly ever work, ENOTSUP otherwise.
41653         Suggested by Bruno Haible in
41654         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00187.html>.
41656         getloadavg: trim unused parts and speed up 'configure'
41657         * NEWS: Document this.
41658         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
41659         always compiled if getloadavg is absent.
41660         Move test code to ...
41661         * tests/test-getloadavg.c: New file, containing previous
41662         contents of test from lib/getloadavg.c.  It also contains
41663         suggestions by Bruno Haible in
41664         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00186.html>.
41665         * modules/getloadavg-tests: New file.
41666         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
41667         Do tests in the same order as they're needed for getloadavg.c.
41668         Omit setgid-related tests that generate symbols KMEM_GROUP,
41669         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
41670         Do only the tests that are needed to see whether the system has
41671         getloadavg, moving the other tests into ...
41672         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
41673         NLIST_NAME_UNION; nobody should be using it.  Do not define
41674         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
41675         relevant, as the user of this module shouldn't care how getloadavg
41676         is implemented.
41678         getloadavg: omit unused var
41679         * lib/getloadavg.c (getloadavg): Omit unused local variable.
41681 2011-02-15  Jim Meyering  <meyering@redhat.com>
41683         doc: update users.txt
41684         * users.txt: Update iwhd's URL.
41686 2011-02-13  Bruno Haible  <bruno@clisp.org>
41688         Consistent macro naming for macros that use GCC __attribute__.
41689         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
41690         _ATTRIBUTE_NONNULL_.
41691         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
41692         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
41693         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
41694         ATTRIBUTE_DEPRECATED.
41695         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
41696         ATTRIBUTE_NORETURN.
41697         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
41698         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
41699         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
41700         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
41701         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
41702         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
41703         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
41704         ATTRIBUTE_SENTINEL.
41705         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
41706         ATTRIBUTE_RETURN_CHECK.
41707         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
41708         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
41709         ATTRIBUTE_NORETURN.
41710         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
41711         Reported by Paul Eggert.
41713 2011-02-13  Bruno Haible  <bruno@clisp.org>
41715         Don't interfere with a program's definition of __attribute__.
41716         * lib/argp.h (__attribute__): Remove definition.
41717         (_GL_ATTRIBUTE_FORMAT): New macro.
41718         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
41719         * lib/argp-fmtstream.h (__attribute__): Remove definition.
41720         (_GL_ATTRIBUTE_FORMAT): New macro.
41721         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
41722         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
41723         GCC 3 or newer.
41724         * lib/error.h (__attribute__): Remove definition.
41725         (_GL_ATTRIBUTE_FORMAT): New macro.
41726         (error, error_at_line): Use it.
41727         * lib/hash.h (__attribute__): Remove definition.
41728         (ATTRIBUTE_WUR): Update definition. Define always.
41729         * lib/openat.h (__attribute__): Remove definition.
41730         (ATTRIBUTE_NORETURN): Update definition. Define always.
41731         * lib/sigpipe-die.h (__attribute__): Remove definition.
41732         (ATTRIBUTE_NORETURN): Update definition. Define always.
41733         * lib/vasnprintf.h (__attribute__): Remove definition.
41734         (_GL_ATTRIBUTE_FORMAT): New macro.
41735         (asnprintf, vasnprintf): Use it.
41736         * lib/xalloc.h (__attribute__): Remove definition.
41737         (ATTRIBUTE_NORETURN): Update definition. Define always.
41738         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
41739         * lib/xmemdup0.h (__attribute__): Remove definition.
41740         (ATTRIBUTE_NORETURN): Update definition. Define always.
41741         * lib/xprintf.h (__attribute__): Remove definition.
41742         (_GL_ATTRIBUTE_FORMAT): New macro.
41743         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
41744         * lib/xstrtol.h (__attribute__): Remove definition.
41745         (ATTRIBUTE_NORETURN): Update definition. Define always.
41746         * lib/xvasprintf.h (__attribute__): Remove definition.
41747         (_GL_ATTRIBUTE_FORMAT): New macro.
41748         (xasprintf, xvasprintf): Use it.
41749         * tests/test-argmatch.c (__attribute__): Remove definition.
41750         (ATTRIBUTE_NORETURN): Update definition. Define always.
41751         * tests/test-exclude.c (__attribute__): Remove definition.
41752         (ATTRIBUTE_NORETURN): Update definition. Define always.
41753         Reported by Paul Eggert.
41755 2011-02-13  Bruno Haible  <bruno@clisp.org>
41757         mbrtowc: Add more tests for native Windows platforms.
41758         * tests/test-mbrtowc-w32-1.sh: New file.
41759         * tests/test-mbrtowc-w32-2.sh: New file.
41760         * tests/test-mbrtowc-w32-3.sh: New file.
41761         * tests/test-mbrtowc-w32-4.sh: New file.
41762         * tests/test-mbrtowc-w32-5.sh: New file.
41763         * tests/test-mbrtowc-w32.c: New file.
41764         * modules/mbrtowc-tests (Files): Add them.
41765         (Makefile.am): Arrange to run these tests.
41766         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
41767         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
41769 2011-02-13  Bruno Haible  <bruno@clisp.org>
41771         mbrtowc: Work around native Windows bug.
41772         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
41773         guess when no suitable locale for testing was found.
41774         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
41776 2011-02-13  Bruno Haible  <bruno@clisp.org>
41778         mbsinit: Work around mingw bug.
41779         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
41780         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
41781         Windows.
41782         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
41784 2011-02-13  Bruno Haible  <bruno@clisp.org>
41786         mbsinit: Don't crash for a NULL argument.
41787         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
41788         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
41790 2011-02-13  Bruno Haible  <bruno@clisp.org>
41792         Don't interfere with a program's definition of __attribute__.
41793         * lib/stdio.in.h (__attribute__): Remove definition.
41794         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
41795         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
41796         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
41797         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
41798         * lib/string.in.h (__attribute__): Remove definition.
41799         Reported by Paul Eggert.
41801 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
41803         stdlib: don't get in the way of non-GCC __attribute__
41804         See thread starting at
41805         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00161.html>.
41806         Revert previous stdlib change, installing the following instead:
41807         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
41808         to get in the way of a non-GCC compiler that supports __attribute__.
41809         (_GL_ATTRIBUTE_RETURN): New macro.
41810         (_Exit): Use it instead of __attribute__.
41812 2011-02-12  Bruno Haible  <bruno@clisp.org>
41814         quotearg test: Avoid test failure on mingw.
41815         * tests/test-quotearg.sh: Convert the locale identifier from native
41816         Windows syntax to Unix syntax.
41818 2011-02-12  Bruno Haible  <bruno@clisp.org>
41820         setlocale: Prefer gnulib's override over libintl's override.
41821         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
41822         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
41823         GNULIB_defined_setlocale is set.
41825 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
41827         stdlib: support non-GCC __attribute__
41829         Fix a serious and tricky problem encountered when attempting to
41830         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
41831         5.5, but it crashed due to memory corruption on Solaris 10 with
41832         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
41833         bits that are otherwise zero.  This tagging is optional inside
41834         Emacs but is preferred and is used when __attribute__ ((__aligned
41835         (8))) works, as it does with both recent-enough GCC and with Sun C
41836         5.11.  However, Sun C 5.11 is not GCC and does not #define
41837         __GNUC__ and __GNUC_MINOR__.
41839         When I added the getloadavg module to Emacs, it brought in
41840         stdlib.in.h, which contained this fragment:
41842            #ifndef __attribute__
41843            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
41844            #  define __attribute__(Spec)   /* empty */
41845            # endif
41846            #endif
41848         When files that include <stdlib.h> were compiled with Sun C 5.11,
41849         the above code disabled __attribute__ ((__aligned (8))), which
41850         caused variables to not be properly aligned, which eventually led
41851         to the pointer corruption mentioned above.  (This was a bit hard
41852         to diagnose, unfortunately.)
41854         Several "#define __attribute__(X) /* empty */" code snippets need
41855         to be eradicated from Gnulib to work with non-GCC compilers that
41856         support __attribute__.  The Autoconf way to do this is to test for
41857         each kind of attribute that we want support for, and selectively
41858         enable that in source code.
41860         Fix this problem just for stdlib.h, by adding a test for the
41861         __noreturn__ attribute, and change stdlib.in.h to use that test
41862         when needed.  This technique can be easily generalized to the
41863         other *.in.h files and attributes, and a similar technique can be
41864         used for *.h and *.c files.  This patch is enough to solve the
41865         problem for Emacs + getloadavg, and I thought I'd publish it for
41866         feedback before undertaking further, similar fixes in other
41867         modules.
41869         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
41870         because it's not needed for stdlib.h.  It merely substitutes the
41871         value directly into stdlib.h.  We may well need to #define it, or
41872         similar symbols, for other modules, but it's nice to also have an
41873         option to not #define it for applications like Emacs that do not
41874         need it.
41876         * lib/stdlib.in.h (__attribute__): Do not #define.
41877         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
41878         be defined only if the _Exit module is also used.
41879         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
41880         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
41881         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
41882         platforms.
41883         * modules/_Exit (Files): Add m4/attribute.m4.
41884         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
41885         * m4/attribute.m4: New file.
41887 2011-02-12  Bruno Haible  <bruno@clisp.org>
41889         wcsrtombs: Work around bug on native Windows.
41890         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
41891         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
41892         instead of len.
41893         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
41895 2011-02-12  Bruno Haible  <bruno@clisp.org>
41897         mbsrtowcs: Work around bug on native Windows.
41898         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
41899         against mingw bug.
41900         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
41902 2011-02-12  Bruno Haible  <bruno@clisp.org>
41904         Avoid setlocale bugs in tests.
41905         * modules/btowc (Dependencies): Add setlocale.
41906         * modules/c-strcase (Dependencies): Likewise.
41907         * modules/mbmemcasecmp (Dependencies): Likewise.
41908         * modules/mbmemcasecoll (Dependencies): Likewise.
41909         * modules/mbrtowc (Dependencies): Likewise.
41910         * modules/mbscasecmp (Dependencies): Likewise.
41911         * modules/mbscasestr (Dependencies): Likewise.
41912         * modules/mbschr (Dependencies): Likewise.
41913         * modules/mbscspn (Dependencies): Likewise.
41914         * modules/mbsinit (Dependencies): Likewise.
41915         * modules/mbsncasecmp (Dependencies): Likewise.
41916         * modules/mbsnrtowcs (Dependencies): Likewise.
41917         * modules/mbspbrk (Dependencies): Likewise.
41918         * modules/mbspcasecmp (Dependencies): Likewise.
41919         * modules/mbsrchr (Dependencies): Likewise.
41920         * modules/mbsrtowcs (Dependencies): Likewise.
41921         * modules/mbsspn (Dependencies): Likewise.
41922         * modules/mbsstr (Dependencies): Likewise.
41923         * modules/nl_langinfo (Dependencies): Likewise.
41924         * modules/quotearg (Dependencies): Likewise.
41925         * modules/unicase/locale-language (Dependencies): Likewise.
41926         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
41927         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
41928         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
41929         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
41930         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
41931         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
41932         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
41933         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
41934         * modules/vasnprintf-posix (Dependencies): Likewise.
41935         * modules/wcrtomb (Dependencies): Likewise.
41936         * modules/wcsnrtombs (Dependencies): Likewise.
41937         * modules/wcsrtombs (Dependencies): Likewise.
41939 2011-02-12  Bruno Haible  <bruno@clisp.org>
41941         setlocale: Workaround native Windows bug.
41942         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
41943         succeeds but sets LC_CTYPE to "C", report a failure.
41944         * tests/test-setlocale2.sh: New file.
41945         * tests/test-setlocale2.c: New file.
41946         * modules/setlocale-tests (Files): Add the new files.
41947         (Makefile.am): Enable test-setlocale2.sh test.
41948         * doc/posix-functions/setlocale.texi: Mention workaround.
41950 2011-02-11  Bruno Haible  <bruno@clisp.org>
41952         Tests for module 'setlocale'.
41953         * modules/setlocale-tests: New file.
41954         * tests/test-setlocale1.sh: New file.
41955         * tests/test-setlocale1.c: New file.
41957         New module 'setlocale'.
41958         * lib/locale.in.h (setlocale): New declaration.
41959         * lib/setlocale.c: New file, based on
41960         gettext/gettext-runtime/intl/setlocale.c.
41961         * m4/setlocale.m4: New file.
41962         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
41963         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
41964         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
41965         REPLACE_SETLOCALE.
41966         * modules/setlocale: New file.
41967         * tests/test-locale-c++.cc: Test the declaration of setlocale.
41968         * doc/posix-functions/setlocale.texi: Mention the new module.
41970 2011-02-11  Bruno Haible  <bruno@clisp.org>
41972         Prepare for locale dependent tests on mingw.
41973         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
41974         because it has the wrong locale encoding.
41975         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
41976         French_France.1252 instead of "fr".
41977         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
41978         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
41979         because it has the wrong locale encoding.
41980         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
41981         native Windows, try Turkish_Turkey.65001.
41982         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
41983         Chinese_China.54936.
41985         Prepare for locale dependent tests on mingw.
41986         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
41987         differently.
41988         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
41989         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
41990         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
41991         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
41993 2011-02-11  Eric Blake  <eblake@redhat.com>
41995         strptime: avoid compiler warnings
41996         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
41997         compiler warnings about dead code.
41998         Reported by Daniel P. Berrange.
42000 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
42002         doc: update users.txt
42003         * users.txt: Add rcs.
42005 2011-02-10  John W. Eaton  <jwe@gnu.org>
42007         doc: update users.txt
42008         * users.txt: Add octave.
42010 2011-02-10  Jim Meyering  <meyering@redhat.com>
42012         doc: update users.txt
42013         * users.txt: Add iwhd.
42015 2011-02-09  Bruno Haible  <bruno@clisp.org>
42017         gnulib-tool: Make copyright notice adjustment more robust.
42018         * gnulib-tool (func_import): In sed_transform_main_lib_file,
42019         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
42020         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
42021         License".
42022         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
42024 2011-02-06  Bruno Haible  <bruno@clisp.org>
42026         New module 'towctrans'.
42027         * modules/towctrans: New file.
42028         * lib/wctype.in.h (towctrans): New declaration.
42029         * lib/towctrans.c: New file.
42030         * lib/towctrans-impl.h: New file.
42031         * m4/towctrans.m4: New file.
42032         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
42033         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
42034         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
42035         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
42036         * doc/posix-functions/towctrans.texi: Mention the new module.
42038 2011-02-06  Bruno Haible  <bruno@clisp.org>
42040         New module 'wctrans'.
42041         * modules/wctrans: New file.
42042         * lib/wctype.in.h (wctrans): New declaration.
42043         * lib/wctrans.c: New file.
42044         * lib/wctrans-impl.h: New file.
42045         * m4/wctrans.m4: New file.
42046         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
42047         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
42048         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
42049         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
42050         * doc/posix-functions/wctrans.texi: Mention the new module.
42052 2011-02-06  Bruno Haible  <bruno@clisp.org>
42054         New module 'iswctype'.
42055         * modules/iswctype: New file.
42056         * lib/wctype.in.h (iswctype): New declaration.
42057         * lib/iswctype.c: New file.
42058         * lib/iswctype-impl.h: New file.
42059         * m4/iswctype.m4: New file.
42060         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
42061         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
42062         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
42063         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
42064         * doc/posix-functions/iswctype.texi: Mention the new module and the
42065         HP-UX 11.00 problem.
42067 2011-02-06  Bruno Haible  <bruno@clisp.org>
42069         New module 'wctype'.
42070         * modules/wctype: Change to represent the wctype() substitute.
42071         * lib/wctype.in.h (wctype): New declaration.
42072         * lib/wctype.c: New file.
42073         * lib/wctype-impl.h: New file.
42074         * m4/wctype.m4: New file.
42075         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
42076         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
42077         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
42078         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
42079         * doc/posix-functions/wctype.texi: Mention the new module and the
42080         HP-UX 11.00 problem.
42082 2011-02-06  Bruno Haible  <bruno@clisp.org>
42084         wctype-h: Ensure wctype_t and wctrans_t are defined.
42085         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
42086         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
42087         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
42088         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
42089         HAVE_WCTRANS_T.
42090         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
42092 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
42094         flock: fix license typo
42096         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
42097         omitted.
42099 2011-02-08  Bruno Haible  <bruno@clisp.org>
42101         Split large sed scripts, for HP-UX sed.
42102         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
42103         to avoid HP-UX limit of 99 commands, in the near future.
42104         * modules/stdlib (Makefile.am): Likewise.
42105         * modules/unistd (Makefile.am): Likewise.
42106         * modules/wchar (Makefile.am): Likewise.
42107         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
42108         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
42109         <http://lists.gnu.org/r/bug-gnulib/2010-01/msg00216.html>.
42111 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
42112             Bruno Haible  <bruno@clisp.org>
42114         stdlib: improve random_r modularization
42115         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
42116         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
42117         you also need the random_r module to get this material right.
42118         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
42119         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
42120         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
42122 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
42124         stdlib: don't depend on stdint
42125         * lib/stdlib.in.h: Don't include <stdint.h> merely because
42126         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
42127         be independent of whether stdint.h is needed.
42128         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
42129         here, instead of ...
42130         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
42131         struct random_data should be using the random_r module, not just
42132         the stdlib module (which wouldn't make sense: what package needs
42133         just struct random_data without also needing random_r?).
42134         * modules/stdlib (Depends-on): Remove stdint.
42136         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
42137         See the thread rooted at
42138         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00090.html>.
42139         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
42140         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
42141         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
42142         __VMS)); previously it was always included (via fcntl--.h).
42143         (getloadavg): Do not use c_strtod.  Instead, approximate it by
42144         hand; this is good enough for load averages.  Also, do not use
42145         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
42146         flags directly if available and don't bother otherwise.  (Packages
42147         that need the extra reliability should use the modules that define
42148         these flags on older platforms that lack them.)
42149         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
42150         fcntl-safer.
42152 2011-02-08  Jim Meyering  <meyering@redhat.com>
42154         di-set.h, ino-map.h: add multiple-inclusion guard
42155         Technically, the guard is required only for ino-map.h, due to its
42156         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
42157         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
42158         * lib/ino-map.h: Likewise.
42160 2011-02-06  Bruno Haible  <bruno@clisp.org>
42162         iswblank: Ensure declaration on glibc systems.
42163         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
42164         * modules/iswblank (Dependencies): Add 'extensions'.
42165         * doc/posix-functions/iswblank.texi: Document the glibc problem.
42167 2011-02-06  Bruno Haible  <bruno@clisp.org>
42169         New module 'iswblank'.
42170         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
42171         * modules/iswblank: New file.
42172         * modules/wctype-h (Files): Remove lib/iswblank.c.
42173         (Makefile.am): Substitute GNULIB_ISWBLANK.
42174         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
42175         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
42176         (gl_WCTYPE_H_DEFAULTS): New macro.
42177         (gl_WCTYPE_H): Require it. Remove iswblank related code.
42178         * modules/iswblank-tests: New file.
42179         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
42180         * tests/test-wctype-h.c (main): Remove iswblank tests.
42181         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
42182         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
42183         of 'wctype-h'.
42184         * NEWS: Mention the change.
42185         * modules/mbchar (Depends-on): Add iswblank.
42187 2011-02-08  Bruno Haible  <bruno@clisp.org>
42189         di-set tests: Refactor.
42190         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
42191         unnecessary includes.
42192         (ASSERT): Remove macro.
42193         (main): Make C90 compliant by avoiding variable declaration after
42194         statement.
42195         * modules/di-set-tests (Files): Add tests/macros.h.
42197 2011-02-08  Bruno Haible  <bruno@clisp.org>
42199         ino-map tests: Refactor.
42200         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
42201         unnecessary includes.
42202         (ASSERT): Remove macro.
42203         (main): Make C90 compliant by avoiding variable declaration after
42204         statement.
42205         * modules/ino-map-tests (Files): Add tests/macros.h.
42207 2011-02-08  Jim Meyering  <meyering@redhat.com>
42209         di-set: add "const" to a cast
42210         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
42211         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
42213 2011-02-06  Bruno Haible  <bruno@clisp.org>
42215         Rename module 'wctype' to 'wctype-h'.
42216         * modules/wctype-h: Renamed from modules/wctype.
42217         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
42218         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
42219         (Files, Depends-on, Makefile.am): Update.
42220         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
42221         (Files, Makefile.am): Update.
42222         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
42223         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
42224         * doc/posix-headers/wctype.texi: Update.
42225         * doc/posix-functions/iswalnum.texi: Update.
42226         * doc/posix-functions/iswalpha.texi: Update.
42227         * doc/posix-functions/iswblank.texi: Update.
42228         * doc/posix-functions/iswcntrl.texi: Update.
42229         * doc/posix-functions/iswdigit.texi: Update.
42230         * doc/posix-functions/iswgraph.texi: Update.
42231         * doc/posix-functions/iswlower.texi: Update.
42232         * doc/posix-functions/iswprint.texi: Update.
42233         * doc/posix-functions/iswpunct.texi: Update.
42234         * doc/posix-functions/iswspace.texi: Update.
42235         * doc/posix-functions/iswupper.texi: Update.
42236         * doc/posix-functions/iswxdigit.texi: Update.
42237         * doc/posix-functions/towlower.texi: Update.
42238         * doc/posix-functions/towupper.texi: Update.
42239         * NEWS: Mention the change.
42240         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
42241         * modules/mbchar (Dependencies): Likewise.
42242         * modules/mbswidth (Dependencies): Likewise.
42243         * modules/quotearg (Dependencies): Likewise.
42244         * modules/regex (Dependencies): Likewise.
42245         * modules/wcscasecmp (Dependencies): Likewise.
42246         * modules/wcsncasecmp (Dependencies): Likewise.
42247         * modules/wcwidth (Dependencies): Likewise.
42249 2011-02-06  Bruno Haible  <bruno@clisp.org>
42251         New module 'wcswidth'.
42252         * modules/wcswidth: New file.
42253         * lib/wchar.in.h (wcswidth): New declaration.
42254         * lib/wcswidth.c: New file.
42255         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
42256         * m4/wcswidth.m4: New file.
42257         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
42258         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
42259         REPLACE_WCSWIDTH.
42260         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
42261         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
42262         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
42263         * doc/posix-functions/wcswidth.texi: Mention the new module.
42265 2011-02-06  Bruno Haible  <bruno@clisp.org>
42267         New module 'wcstok'.
42268         * modules/wcstok: New file.
42269         * lib/wchar.in.h (wcstok): New declaration.
42270         * lib/wcstok.c: New file.
42271         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
42272         * m4/wcstok.m4: New file.
42273         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
42274         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
42275         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
42276         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
42277         * doc/posix-functions/wcstok.texi: Mention the new module.
42279 2011-02-06  Bruno Haible  <bruno@clisp.org>
42281         New module 'wcsstr'.
42282         * modules/wcsstr: New file.
42283         * lib/wchar.in.h (wcsstr): New declaration.
42284         * lib/wcsstr.c: New file.
42285         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
42286         * m4/wcsstr.m4: New file.
42287         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
42288         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
42289         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
42290         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
42291         * doc/posix-functions/wcsstr.texi: Mention the new module.
42293 2011-02-06  Bruno Haible  <bruno@clisp.org>
42295         New module 'wcspbrk'.
42296         * modules/wcspbrk: New file.
42297         * lib/wchar.in.h (wcspbrk): New declaration.
42298         * lib/wcspbrk.c: New file.
42299         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
42300         * m4/wcspbrk.m4: New file.
42301         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
42302         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
42303         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
42304         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
42305         * doc/posix-functions/wcspbrk.texi: Mention the new module.
42307 2011-02-06  Bruno Haible  <bruno@clisp.org>
42309         New module 'wcsspn'.
42310         * modules/wcsspn: New file.
42311         * lib/wchar.in.h (wcsspn): New declaration.
42312         * lib/wcsspn.c: New file.
42313         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
42314         * m4/wcsspn.m4: New file.
42315         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
42316         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
42317         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
42318         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
42319         * doc/posix-functions/wcsspn.texi: Mention the new module.
42321 2011-02-06  Bruno Haible  <bruno@clisp.org>
42323         New module 'wcscspn'.
42324         * modules/wcscspn: New file.
42325         * lib/wchar.in.h (wcscspn): New declaration.
42326         * lib/wcscspn.c: New file.
42327         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
42328         * m4/wcscspn.m4: New file.
42329         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
42330         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
42331         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
42332         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
42333         * doc/posix-functions/wcscspn.texi: Mention the new module.
42335 2011-02-06  Bruno Haible  <bruno@clisp.org>
42337         New module 'wcsrchr'.
42338         * modules/wcsrchr: New file.
42339         * lib/wchar.in.h (wcsrchr): New declaration.
42340         * lib/wcsrchr.c: New file.
42341         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
42342         * m4/wcsrchr.m4: New file.
42343         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
42344         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
42345         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
42346         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
42347         * doc/posix-functions/wcsrchr.texi: Mention the new module.
42349 2011-02-06  Bruno Haible  <bruno@clisp.org>
42351         New module 'wcschr'.
42352         * modules/wcschr: New file.
42353         * lib/wchar.in.h (wcschr): New declaration.
42354         * lib/wcschr.c: New file.
42355         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
42356         * m4/wcschr.m4: New file.
42357         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
42358         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
42359         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
42360         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
42361         * doc/posix-functions/wcschr.texi: Mention the new module.
42363 2011-02-06  Bruno Haible  <bruno@clisp.org>
42365         New module 'wcsdup'.
42366         * modules/wcsdup: New file.
42367         * lib/wchar.in.h (wcsdup): New declaration.
42368         * lib/wcsdup.c: New file.
42369         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
42370         * m4/wcsdup.m4: New file.
42371         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
42372         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
42373         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
42374         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
42375         * doc/posix-functions/wcsdup.texi: Mention the new module.
42377 2011-02-06  Bruno Haible  <bruno@clisp.org>
42379         New module 'wcsxfrm'.
42380         * modules/wcsxfrm: New file.
42381         * lib/wchar.in.h (wcsxfrm): New declaration.
42382         * lib/wcsxfrm.c: New file.
42383         * lib/wcsxfrm-impl.h: New file.
42384         * m4/wcsxfrm.m4: New file.
42385         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
42386         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
42387         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
42388         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
42389         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
42391 2011-02-06  Bruno Haible  <bruno@clisp.org>
42393         New module 'wcscoll'.
42394         * modules/wcscoll: New file.
42395         * lib/wchar.in.h (wcscoll): New declaration.
42396         * lib/wcscoll.c: New file.
42397         * lib/wcscoll-impl.h: New file.
42398         * m4/wcscoll.m4: New file.
42399         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
42400         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
42401         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
42402         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
42403         * doc/posix-functions/wcscoll.texi: Mention the new module.
42405 2011-02-06  Bruno Haible  <bruno@clisp.org>
42407         New module 'wcsncasecmp'.
42408         * modules/wcsncasecmp: New file.
42409         * lib/wchar.in.h (wcsncasecmp): New declaration.
42410         * lib/wcsncasecmp.c: New file.
42411         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
42412         * m4/wcsncasecmp.m4: New file.
42413         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
42414         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
42415         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
42416         HAVE_WCSNCASECMP.
42417         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
42418         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
42420 2011-02-06  Bruno Haible  <bruno@clisp.org>
42422         New module 'wcscasecmp'.
42423         * modules/wcscasecmp: New file.
42424         * lib/wchar.in.h (wcscasecmp): New declaration.
42425         * lib/wcscasecmp.c: New file.
42426         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
42427         * m4/wcscasecmp.m4: New file.
42428         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
42429         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
42430         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
42431         HAVE_WCSCASECMP.
42432         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
42433         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
42435 2011-02-05  Bruno Haible  <bruno@clisp.org>
42437         New module 'wcsncmp'.
42438         * modules/wcsncmp: New file.
42439         * lib/wchar.in.h (wcsncmp): New declaration.
42440         * lib/wcsncmp.c: New file.
42441         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
42442         * m4/wcsncmp.m4: New file.
42443         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
42444         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
42445         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
42446         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
42447         * doc/posix-functions/wcsncmp.texi: Mention the new module.
42449 2011-02-05  Bruno Haible  <bruno@clisp.org>
42451         New module 'wcscmp'.
42452         * modules/wcscmp: New file.
42453         * lib/wchar.in.h (wcscmp): New declaration.
42454         * lib/wcscmp.c: New file.
42455         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
42456         * m4/wcscmp.m4: New file.
42457         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
42458         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
42459         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
42460         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
42461         * doc/posix-functions/wcscmp.texi: Mention the new module.
42463 2011-02-05  Bruno Haible  <bruno@clisp.org>
42465         New module 'wcsncat'.
42466         * modules/wcsncat: New file.
42467         * lib/wchar.in.h (wcsncat): New declaration.
42468         * lib/wcsncat.c: New file.
42469         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
42470         * m4/wcsncat.m4: New file.
42471         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
42472         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
42473         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
42474         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
42475         * doc/posix-functions/wcsncat.texi: Mention the new module.
42477 2011-02-05  Bruno Haible  <bruno@clisp.org>
42479         New module 'wcscat'.
42480         * modules/wcscat: New file.
42481         * lib/wchar.in.h (wcscat): New declaration.
42482         * lib/wcscat.c: New file.
42483         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
42484         * m4/wcscat.m4: New file.
42485         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
42486         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
42487         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
42488         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
42489         * doc/posix-functions/wcscat.texi: Mention the new module.
42491 2011-02-05  Bruno Haible  <bruno@clisp.org>
42493         New module 'wcpncpy'.
42494         * modules/wcpncpy: New file.
42495         * lib/wchar.in.h (wcpncpy): New declaration.
42496         * lib/wcpncpy.c: New file.
42497         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
42498         * m4/wcpncpy.m4: New file.
42499         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
42500         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
42501         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
42502         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
42503         * doc/posix-functions/wcpncpy.texi: Mention the new module.
42505 2011-02-05  Bruno Haible  <bruno@clisp.org>
42507         New module 'wcsncpy'.
42508         * modules/wcsncpy: New file.
42509         * lib/wchar.in.h (wcsncpy): New declaration.
42510         * lib/wcsncpy.c: New file.
42511         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
42512         * m4/wcsncpy.m4: New file.
42513         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
42514         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
42515         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
42516         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
42517         * doc/posix-functions/wcsncpy.texi: Mention the new module.
42519 2011-02-05  Bruno Haible  <bruno@clisp.org>
42521         New module 'wcpcpy'.
42522         * modules/wcpcpy: New file.
42523         * lib/wchar.in.h (wcpcpy): New declaration.
42524         * lib/wcpcpy.c: New file.
42525         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
42526         * m4/wcpcpy.m4: New file.
42527         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
42528         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
42529         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
42530         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
42531         * doc/posix-functions/wcpcpy.texi: Mention the new module.
42533 2011-02-05  Bruno Haible  <bruno@clisp.org>
42535         New module 'wcscpy'.
42536         * modules/wcscpy: New file.
42537         * lib/wchar.in.h (wcscpy): New declaration.
42538         * lib/wcscpy.c: New file.
42539         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
42540         * m4/wcscpy.m4: New file.
42541         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
42542         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
42543         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
42544         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
42545         * doc/posix-functions/wcscpy.texi: Mention the new module.
42547 2011-02-05  Bruno Haible  <bruno@clisp.org>
42549         New module 'wcsnlen'.
42550         * modules/wcsnlen: New file.
42551         * lib/wchar.in.h (wcsnlen): New declaration.
42552         * lib/wcsnlen.c: New file.
42553         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
42554         * m4/wcsnlen.m4: New file.
42555         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
42556         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
42557         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
42558         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
42559         * doc/posix-functions/wcsnlen.texi: Mention the new module.
42561 2011-02-05  Bruno Haible  <bruno@clisp.org>
42563         New module 'wcslen'.
42564         * modules/wcslen: New file.
42565         * lib/wchar.in.h (wcslen): New declaration.
42566         * lib/wcslen.c: New file.
42567         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
42568         * m4/wcslen.m4: New file.
42569         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
42570         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
42571         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
42572         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
42573         * doc/posix-functions/wcslen.texi: Mention the new module.
42575 2011-02-05  Bruno Haible  <bruno@clisp.org>
42577         New module 'wmemset'.
42578         * modules/wmemset: New file.
42579         * lib/wchar.in.h (wmemset): New declaration.
42580         * lib/wmemset.c: New file.
42581         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
42582         * m4/wmemset.m4: New file.
42583         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
42584         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
42585         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
42586         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
42587         * doc/posix-functions/wmemset.texi: Mention the new module.
42589 2011-02-05  Bruno Haible  <bruno@clisp.org>
42591         New module 'wmemmove'.
42592         * modules/wmemmove: New file.
42593         * lib/wchar.in.h (wmemmove): New declaration.
42594         * lib/wmemmove.c: New file.
42595         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
42596         * m4/wmemmove.m4: New file.
42597         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
42598         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
42599         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
42600         HAVE_WMEMMOVE.
42601         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
42602         * doc/posix-functions/wmemmove.texi: Mention the new module.
42604 2011-02-05  Bruno Haible  <bruno@clisp.org>
42606         New module 'wmemcpy'.
42607         * modules/wmemcpy: New file.
42608         * lib/wchar.in.h (wmemcpy): New declaration.
42609         * lib/wmemcpy.c: New file.
42610         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
42611         * m4/wmemcpy.m4: New file.
42612         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
42613         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
42614         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
42615         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
42616         * doc/posix-functions/wmemcpy.texi: Mention the new module.
42618 2011-02-05  Bruno Haible  <bruno@clisp.org>
42620         New module 'wmemcmp'.
42621         * modules/wmemcmp: New file.
42622         * lib/wchar.in.h (wmemcmp): New declaration.
42623         * lib/wmemcmp.c: New file.
42624         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
42625         * m4/wmemcmp.m4: New file.
42626         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
42627         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
42628         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
42629         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
42630         * doc/posix-functions/wmemcmp.texi: Mention the new module.
42632 2011-02-07  Jim Meyering  <meyering@redhat.com>
42634         di-set, ino-map: new modules, from coreutils
42635         * lib/di-set.c: New file.
42636         * lib/di-set.h: Likewise.
42637         * lib/ino-map.c: Likewise.
42638         * lib/ino-map.h: Likewise.
42639         * modules/di-set: Likewise.
42640         * modules/di-set-tests: Likewise.
42641         * modules/ino-map: Likewise.
42642         * modules/ino-map-tests: Likewise.
42643         * tests/test-di-set.c: Likewise.
42644         * tests/test-ino-map.c: Likewise.
42646 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
42648         getloadavg: merge minor changes from Emacs
42650         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
42651         (getloadavg): Use memset, not bzero.
42653         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
42654         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
42655         clash (bug#86).
42657 2010-11-14  Bruno Haible  <bruno@clisp.org>
42659         Allow multiple gnulib generated replacements to coexist.
42660         * lib/getopt.in.h (struct option): Avoid identical redefinition.
42661         * lib/inttypes.in.h (imaxdiv_t): Likewise.
42662         * lib/langinfo.in.h (nl_item): Likewise.
42663         * lib/math.in.h (_NaN, NAN): Likewise.
42664         * lib/netdb.in.h (struct addrinfo): Likewise.
42665         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
42666         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
42667         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
42668         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
42669         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
42670         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
42671         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
42672         pthread_mutexattr_init, pthread_mutexattr_settype,
42673         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
42674         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
42675         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
42676         pthread_spin_trylock, pthread_spin_unlock): Likewise.
42677         * lib/sched.in.h (struct sched_param): Likewise.
42678         * lib/se-selinux.in.h (security_class_t, security_context_t,
42679         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
42680         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
42681         lsetfilecon, fsetfilecon, security_check_context,
42682         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
42683         Likewise.
42684         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
42685         Likewise.
42686         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
42687         _gl_function_taking_int_returning_void_t, union sigval,
42688         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
42689         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
42690         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
42691         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
42692         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
42693         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
42694         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
42695         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
42696         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
42697         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
42698         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
42699         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
42700         socklen_t, rpl_fd_isset): Likewise.
42701         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
42702         * lib/sys_time.in.h (struct timeval): Likewise.
42703         * lib/sys_times.in.h (struct tms): Likewise.
42704         * lib/sys_utsname.in.h (struct utsname):
42705         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
42706         * lib/unistd.in.h (getpagesize): Likewise.
42707         * lib/wchar.in.h (mbstate_t): Likewise.
42708         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
42709         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
42710         towlower, towupper): Likewise.
42711         Reported by Sam Steingold <sds@gnu.org>.
42713 2011-02-05  Eric Blake  <eblake@redhat.com>
42715         unsetenv: work around Haiku issues
42716         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
42717         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
42719 2010-12-30  Bruce Korb  <bkorb@gnu.org>
42721         libposix: avoid calling error() within libposix
42722         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
42723         is defined.
42725 2011-02-05  Eric Blake  <eblake@redhat.com>
42727         strerror_r-posix: port to cygwin
42728         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
42729         implementation.
42730         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
42731         * tests/test-strerror_r.c (main): Fix test.
42732         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
42733         issue.
42735 2011-02-05  Bruno Haible  <bruno@clisp.org>
42737         New module 'wmemchr'.
42738         * modules/wmemchr: New file.
42739         * lib/wchar.in.h (wmemchr): New declaration.
42740         * lib/wmemchr.c: New file.
42741         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
42742         * m4/wmemchr.m4: New file.
42743         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
42744         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
42745         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
42746         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
42747         * doc/posix-functions/wmemchr.texi: Mention the new module.
42749 2011-02-04  Eric Blake  <eblake@redhat.com>
42751         fdopendir: detect FreeBSD bug
42752         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
42753         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
42755 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
42757         stdbool: do not define HAVE_STDBOOL_H
42758         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
42759         AC_HEADER_STDBOOL.  All uses changed.  Do not define
42760         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
42761         imported from the latest Autoconf git.  It was motivated by Emacs,
42762         which uses gnulib but does not need HAVE_STDBOOL_H.
42764 2011-02-04  Bruno Haible  <bruno@clisp.org>
42766         wcsnrtombs: Prepare for new module wwcsnrtombs.
42767         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
42768         * lib/wcsnrtombs.c: Include it.
42769         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
42771         wcsrtombs: Prepare for new module wwcsrtombs.
42772         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
42773         * lib/wcsrtombs.c: Include it.
42774         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
42776         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
42777         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
42778         * lib/mbsnrtowcs.c: Include it.
42779         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
42781         mbsrtowcs: Prepare for new module mbsrtowwcs.
42782         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
42783         * lib/mbsrtowcs.c: Include it.
42784         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
42786 2011-02-04  Bruno Haible  <bruno@clisp.org>
42788         vasnprintf: Reduce use of malloc for small format strings.
42789         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
42790         (arguments): Add room for the first 7 arguments.
42791         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
42792         (char_directives, u8_directives, u16_directives, u32_directives): Add
42793         room for the first 7 directives.
42794         * lib/printf-parse.c: Include <string.h>.
42795         (PRINTF_PARSE): Change memory handling code so that it uses the first
42796         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
42797         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
42798         Reported by Pádraig Brady <P@draigbrady.com>.
42800 2011-01-31  Eric Blake  <eblake@redhat.com>
42802         dup2: work around Haiku bug
42803         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
42804         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
42805         * doc/posix-functions/dup2.texi (dup2): Document the bug.
42806         * tests/test-dup2.c (main): Enhance test.
42808 2011-01-31  Simon Josefsson  <simon@josefsson.org>
42810         doc: off_t is not available in eglibc 2.11.2 stdio.h.
42811         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
42812         declared by eglibc 2.11.2.
42813         * lib/stdio.in.h: Likewise.
42815 2011-01-31  Eric Blake  <eblake@redhat.com>
42817         ignore-value: add missing test dependency
42818         * tests/test-ignore-value.c: Revert previous change; stdio.h
42819         provides off_t.
42820         * modules/ignore-value-tests (Depends-on): Add missing dependency.
42822 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
42824         mktime: clarify long_int width checking
42825         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
42826         the top level, to make it clearer that the assumption about
42827         long_int width is being checked.  See
42828         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00554.html>.
42830 2011-01-30  Simon Josefsson  <simon@josefsson.org>
42832         ignore-value: Fix self-test.
42833         * tests/test-ignore-value.c: Include sys/types.h for off_t.
42835 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
42837         TYPE_MAXIMUM: avoid theoretically undefined behavior
42838         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
42839         negative number, which the C Standard says has undefined behavior.
42840         In practice this is not a problem, but might as well do it by the book.
42841         Reported by Rich Felker and Eric Blake; see
42842         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00493.html>.
42843         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
42844         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
42845         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
42846         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
42847         * m4/stdint.m4 (gl_STDINT_H): Likewise.
42848         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
42850         mktime: #undef mktime before #defining it
42851         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
42853         mktime: systematically normalize tm_isdst comparisons
42854         * lib/mktime.c (isdst_differ): New function.
42855         (__mktime_internal): Use it systematically for all isdst comparisons.
42856         This completes the fix for libc BZ #6723, and removes the need for
42857         normalizing tm_isdst.  See
42858         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
42859         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
42861         mktime: fix some integer overflow issues and sidestep the rest
42863         This was prompted by a bug report by Benjamin Lindner for MinGW
42864         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00472.html>.
42865         His bug is due to signed integer overflow (0 - INT_MIN), and I
42866         I scanned through mktime.c looking for other integer overflow
42867         problems, fixing all the bugs I found.
42869         Although the C Standard says the resulting code is still not safe
42870         in the presence of integer overflow, in practice it should be good
42871         enough for all real-world two's-complement implementations, except
42872         for debugging environments that deliberately trap on integer
42873         overflow (e.g., gcc -ftrapv).
42875         * lib/mktime.c (WRAPV): New macro.
42876         (SHR): Also check that long_int and time_t shift right in the
42877         usual way, before using the fast-but-unportable method.
42878         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
42879         used.  The code already assumed two's complement, so there's
42880         no need to test for alternatives.  All uses removed.
42881         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
42882         the C standard.  Problem reported by Rich Felker in
42883         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00488.html>.
42884         (twos_complement_arithmetic): Also check long_int and time_t.
42885         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
42886         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
42887         (__mktime_internal): Avoid integer overflow with unary subtraction
42888         in two instances where -1 - X is an adequate replacement for -X,
42889         since the calculations are approximate.
42891 2011-01-29  Eric Blake  <eblake@redhat.com>
42893         mktime: avoid infinite loop
42894         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
42895         type; behavior is still undefined but portable to all known targets.
42896         Reported by Rich Felker.
42898 2011-01-29  Simon Josefsson  <simon@josefsson.org>
42900         rename, unlink, same-inode: Relicense.
42901         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
42902         * modules/unlink (License): Likewise.
42903         * modules/same-inode (License): Likewise.
42905 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
42907         mktime: avoid problems on NetBSD 5 / i386
42908         * lib/mktime.c (long_int): New type.  This works around a problem
42909         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
42910         but time_t is 64 bits, and where I expect the existing code is
42911         wrong in some cases.
42912         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
42913         (ydhms_diff): Bring back the compile-time check for wide-enough
42914         year and yday.
42916         mktime: fix misspelling in comment
42917         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
42918         This merges all recent glibc changes of importance.
42920 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42922         move-if-change: cope with concurrent mv of identical file.
42923         * build-aux/move-if-change (CMPPROG): Accept environment
42924         variable as an override for `cmp'.
42925         (usage): Document CMPPROG.
42926         Adjust comparison to drop stdout.  Cope with failure of mv if
42927         the target file exists and is identical to the source, for
42928         parallel builds.
42929         Report from H.J. Lu against binutils in PR binutils/12283.
42931 2011-01-28  Bruce Korb  <bkorb@gnu.org>
42933         * users.txt: Mention sharutils.
42935 2011-01-28  Simon Josefsson  <simon@josefsson.org>
42937         * users.txt: Mention OATH Toolkit.
42939 2011-01-27  Bruno Haible  <bruno@clisp.org>
42941         Prepare for supporting FreeBSD 10.
42942         * build-aux/config.libpath: Remove handling of freebsd1*.
42944 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
42946         Prepare for supporting FreeBSD 10.
42947         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
42948         match FreeBSD 10.0.
42950 2011-01-27  Bruno Haible  <bruno@clisp.org>
42952         vma-iter, get-rusage-as: Add OpenBSD support.
42953         * modules/vma-iter (configure.ac): Test for mquery.
42954         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
42955         * lib/vma-iter.c: Include <sys/mman.h>.
42956         (vma_iterate): Add an implementation based on mquery().
42957         * lib/resource-ext.h (get_rusage_as): Update comments.
42958         * lib/get-rusage-as.c: Likewise.
42959         * lib/get-rusage-data.c: Likewise.
42961 2011-01-26  Karl Berry  <karl@gnu.org>
42963         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
42964         variables to make it easier to override the makeinfo program used.
42966 2011-01-26  Eric Blake  <eblake@redhat.com>
42968         fcntl: work around Haiku F_DUPFD bugs
42969         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
42970         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
42971         cloexec bit on duplication.
42972         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
42974 2011-01-26  Bruno Haible  <bruno@clisp.org>
42976         Enable memory leak tests on AIX.
42977         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
42978         * tests/test-fprintf-posix3.c (main): Likewise.
42980 2011-01-26  Bruno Haible  <bruno@clisp.org>
42982         Tests for module 'get-rusage-data'.
42983         * modules/get-rusage-data-tests: New file.
42984         * tests/test-get-rusage-data.c: New file.
42986         New module 'get-rusage-data'.
42987         * lib/resource-ext.h (get_rusage_data): New declaration.
42988         * lib/get-rusage-data.c: New file.
42989         * modules/get-rusage-data: New file.
42991 2011-01-25  Bruno Haible  <bruno@clisp.org>
42993         get-rusage-as: Allow for easier testing.
42994         * lib/resource-ext.h (get_rusage_as): Add comment.
42995         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
42996         (main): New function for interactive testing.
42998 2011-01-25  Bruno Haible  <bruno@clisp.org>
43000         vma-iter: Treat Haiku like BeOS.
43001         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
43002         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
43004 2011-01-25  Eric Blake  <eblake@redhat.com>
43006         c-stack: fix regression on cygwin when libsigsegv is present
43007         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
43009 2011-01-24  Bruno Haible  <bruno@clisp.org>
43011         vma-iter: Avoid empty intervals.
43012         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
43013         on an empty interval.
43015 2011-01-24  Jim Meyering  <meyering@redhat.com>
43017         u64: remove unnecessary #include
43018         * lib/u64.h: Don't include <stddef.h>.  It was not used.
43020 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
43022         Allow the user to avoid the HAVE_RAW_DECL_* macros.
43023         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
43025 2011-01-23  Bruno Haible  <bruno@clisp.org>
43027         New module 'vma-iter'.
43028         * lib/vma-iter.h: New file.
43029         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
43030         * modules/vma-iter: New file.
43031         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
43032         for get_rusage_as_via_iterator.
43033         (vma_iterate_callback): New function.
43034         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
43035         * modules/get-rusage-as (Depends-on): Add vma-iter.
43037 2011-01-23  Bruno Haible  <bruno@clisp.org>
43039         uninorm: Tweak includes.
43040         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
43041         Reported by Jim Meyering.
43043 2011-01-23  Bruno Haible  <bruno@clisp.org>
43045         get-rusage-as: Improve on NetBSD.
43046         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
43047         /proc, like on FreeBSD.
43049 2011-01-23  Jim Meyering  <meyering@redhat.com>
43051         xreadlink.h: remove unnecessary #include
43052         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
43054         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
43055         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
43057 2011-01-23  Bruno Haible  <bruno@clisp.org>
43059         get-rusage-as: Fix bug.
43060         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
43061         original limit when aborting the first loop.
43063 2011-01-23  Bruno Haible  <bruno@clisp.org>
43065         wctype: Ensure valid C syntax.
43066         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
43067         unconditionally, instead of gl_NEXT_HEADERS conditionally.
43069 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
43071         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
43072         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
43073         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
43074         as they are needed only for configure's test case.
43075         This removes two unnecessary symbols from config.h.
43077         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
43078         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
43079         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
43080         AC_CHECK_HEADERS_ONCE on a header that we also invoke
43081         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
43082         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
43083         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
43084         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
43085         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
43086         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
43087         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
43088         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
43089         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
43090         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
43091         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
43092         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
43093         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
43094         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
43096 2011-01-21  Eric Blake  <eblake@redhat.com>
43098         maintainer-makefile: work with older git for submodule check
43099         * top/maint.mk (public-submodule-commit): Rewrite to avoid
43100         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
43101         Reported by Matthias Bolte.
43103         bootstrap: minor portability fixes
43104         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
43105         (usage): Omit leading capital and trailing . on help phrases, per
43106         GNU Coding Standards.
43107         (check_versions, top level): Prefix messages with script name.
43109 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
43111         bootstrap: support --no-git option
43112         * build-aux/bootstrap: Add --no-git option, to be used when
43113         --gnulib-srcdir points to the exact desired checkout.
43115 2011-01-21  Eric Blake  <eblake@redhat.com>
43117         strerror_r-posix: work with glibc 2.13
43118         * lib/strerror_r.c (strerror_r): Fix return type.
43120 2011-01-21  Pádraig Brady  <P@draigBrady.com>
43121             Bruno Haible  <bruno@clisp.org>
43123         uN_strstr: New unit tests.
43124         * modules/unistr/u8-strstr-tests: New file.
43125         * modules/unistr/u16-strstr-tests: New file.
43126         * modules/unistr/u32-strstr-tests: New file.
43127         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
43128         * tests/unistr/test-u8-strstr.c: New file.
43129         * tests/unistr/test-u16-strstr.c: New file.
43130         * tests/unistr/test-u32-strstr.c: New file.
43132 2011-01-21  Pádraig Brady  <P@draigBrady.com>
43133             Bruno Haible  <bruno@clisp.org>
43135         Make uN_strstr functions O(n) worst-case.
43136         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
43137         16-bit and 32-bit unit cases, use the unibyte algorithm from
43138         lib/mbsstr.c.
43139         * lib/unistr/u8-strstr.c: Include <string.h>.
43140         (UNIT_IS_UINT8_T): New macro.
43141         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
43142         (U_STRLEN, U_STRNLEN): New macros.
43143         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
43144         (U_STRLEN, U_STRNLEN): New macros.
43145         * modules/unistr/u8-strstr (Depends-on): Add strstr.
43146         (configure.ac): Update required libunistring version.
43147         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
43148         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
43149         malloca.
43150         (configure.ac): Update required libunistring version.
43151         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
43152         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
43153         malloca.
43154         (configure.ac): Update required libunistring version.
43156 2011-01-21  Pádraig Brady  <P@draigBrady.com>
43157             Bruno Haible  <bruno@clisp.org>
43159         Prepare for faster uN_strstr functions.
43160         * lib/str-kmp.h: Support definable UNITs.
43161         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
43162         needle_len argument.
43163         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
43164         * lib/mbscasestr.c (mbscasestr): Likewise.
43166 2011-01-21  Pádraig Brady  <P@draigBrady.com>
43168         malloca-tests: make faster by unsetting MALLOC_PERTURB_
43169         * tests/test-malloca.c (main): Unset the environment variable
43170         to greatly speed up the test.
43171         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
43172         * modules/malloca-tests: Depend on unsetenv.
43174 2011-01-21  Pádraig Brady  <P@draigBrady.com>
43176         ignore-value: remove stdint dependency
43177         * lib/ignore-value.h: Remove <stdint.h>
43178         * modules/ignore-value: Remove stdint dependency.
43180 2011-01-21  Jim Meyering  <meyering@redhat.com>
43182         maint.mk: adjust variable name to be consistent with other gl_ vars
43183         * top/maint.mk (gl_public_submodule_commit): Rename the variable
43184         to be lower case.
43186 2011-01-20  Jim Meyering  <meyering@redhat.com>
43188         maint.mk: make "check" depend on public-submodule-commit by default
43189         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
43191 2011-01-20  Bruno Haible  <bruno@clisp.org>
43193         mbfile, mbiter: Complete change from 2008-12-21.
43194         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
43195         * m4/mbiter.m4 (gl_MBITER): Likewise.
43197 2011-01-20  Jim Meyering  <meyering@redhat.com>
43199         init.sh: insert space between each function name and "()"
43200         * tests/init.sh: Make it a little easier to see that a function's
43201         name is "warn_", and not "warn" when looking at the first part of
43202         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
43204 2011-01-20  Jim Meyering  <meyering@redhat.com>
43206         mountlist: clean up code formatting
43207         * lib/mountlist.c (read_file_system_list): Split a long line,
43208         correct bracing style, use NULL in place of "(struct statfs *)0",
43209         don't parenthesize return value, add spaces around "=" and after
43210         ";-in-for-stmt".
43212 2011-01-14  Markus Duft  <mduft@gentoo.org>
43214         mountlist: add support for Interix
43215         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
43216         Apply statvfs to all entries of /dev/fs.
43217         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
43218         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
43220 2011-01-20  Jim Meyering  <meyering@redhat.com>
43222         maint.mk: improve the public-submodule-commit rule
43223         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
43224         to suppress printing of its commands... unless V=1.
43225         Add git submodule's --quiet option to suppress printing of e.g.,
43226         "Entering gnulib" output.
43227         "cd" into $(srcdir) before running git submodule.
43229 2011-01-20  Bruno Haible  <bruno@clisp.org>
43231         include_next: Fix bug introduced on 2011-01-18.
43232         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
43233         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
43234         ac_cv_header_... variable if the second argument is not 'check'.
43235         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
43236         gl_NEXT_HEADERS_INTERNAL.
43238 2011-01-20  Bruno Haible  <bruno@clisp.org>
43240         Allow the user to avoid the GNULIB_TEST_* macros.
43241         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
43242         Suggested by Paul Eggert.
43244 2011-01-14  Jim Meyering  <meyering@redhat.com>
43246         bootstrap: avoid failure when there is no .gitmodules file
43247         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
43248         has been assigned to, even when its value is the empty string.
43249         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
43250         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
43251         Reported by John W. Eaton <jwe@gnu.org>.
43253 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
43255         assume <ctype.h>, ..., <time.h> exist
43256         For years gnulib has been assuming the existence of the headers
43257         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
43258         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
43259         them, since they don't appear to be needed.
43260         * README (Portability guidelines): Document this.
43261         * lib/flock.c: Assume <fcntl.h> exists.
43262         * lib/regex_internal.h: Assume <locale.h> exists.
43263         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
43264         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
43265         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
43266         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
43267         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
43268         * m4/regex.m4 (gl_REGEX): Likewise.
43269         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
43270         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
43271         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
43272         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
43273         * tests/test-argp.c: Likewise.
43274         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
43276         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
43277         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
43278         AA_APPLE_UNIVERSAL_BUILD.  See
43279         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00247.html>.
43280         * NEWS: Document this.
43282 2011-01-19  Eric Blake  <eblake@redhat.com>
43284         c-stack: assume stack overflow if SA_SIGINFO unsupported
43285         * lib/c-stack.c (SIGACTION_WORKS): Rename...
43286         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
43287         sigaction will work.
43288         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
43289         behavior match Linux.
43290         * tests/test-c-stack.c (main): Prefer NULL for pointers.
43292         stdbool-tests: accommodate Haiku
43293         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
43295         binary-io: fix O_TEXT on Haiku
43296         * modules/binary-io (Depends-on): Add fcntl-h.
43297         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
43298         than blindly undefining O_TEXT.
43299         Reported by Scott McCreary.
43301 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
43303         include_next: do not check for standard headers like stddef.h
43305         I found this problem when modifying Emacs to use gnulib.
43306         I noticed that it added HAVE_STDDEF_H to config.h, even though
43307         gnulib always assumes <stddef.h> exists as per README and this
43308         symbol is unnecessary.
43309         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
43310         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
43311         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
43312         faster for headers like stddef.h that are known to exist.
43313         (gl_CHECK_NEXT_HEADERS): Use it.
43314         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
43315         rather than gl_CHECK_NEXT_HEADERS.
43316         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
43317         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
43319 2011-01-18  Eric Blake  <eblake@redhat.com>
43321         ansi-c++-opt: skip C++ dependency style if C++ is unused
43322         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
43323         tests when we know C++ compilation is not desired.
43324         Reported by Scott McCreary.
43326 2011-01-18  Bruno Haible  <bruno@clisp.org>
43328         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
43329         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
43330         (main): Perform test also when getrlimit and setrlimit don't exist or
43331         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
43332         limiting the address space size using setrlimit, compare the address
43333         space size before and after the test.
43334         * tests/test-dprintf-posix2.c: Likewise.
43335         * tests/test-fprintf-posix3.sh: Update skip messages.
43336         * tests/test-dprintf-posix2.sh: Likewise.
43337         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
43338         * modules/dprintf-posix-tests (Depends-on): Likewise.
43339         Reported by Bruce Korb <bkorb@gnu.org> and
43340         Gary V. Vaughan <gary@gnu.org>.
43342 2011-01-18  Bruno Haible  <bruno@clisp.org>
43344         get-rusage-as: Improvement for Cygwin.
43345         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
43346         areas that are merely reserved.
43348 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
43350         strftime: remove dependencies on multibyte modules
43352         strftime depended on mbrlen, mbsinit, and wchar, but these modules
43353         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
43354         only if __osf__ is defined, and I suspect OSF doesn't need these
43355         other modules.  If my guess is wrong, we'll need to come up with a
43356         variant of strftime that doesn't need the multibyte modules.
43358         I discovered this problem when attempting modify Emacs to use the
43359         strftime module.  With the previous gnulib, this caused Emacs to
43360         need 31 new files, ranging from lib/config.charset to
43361         m4/wint_t.m4.  This was overkill and I expect would be offputting
43362         to the Emacs maintainers.  After this change, only 6 new files are
43363         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
43364         stdbool.m4, and tm_gmtoff.m4.
43366         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
43367         Suggested by Bruno Haible in
43368         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00238.html>.
43369         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
43370         and do not check for wchar.h.
43371         * modules/strftime (Files): Remove m4/mbstate_t.m4.
43372         (Depends-on): Remove mbrlen, mbsinit, wchar.
43374 2011-01-18  Bruno Haible  <bruno@clisp.org>
43376         Tests for module 'get-rusage-as'.
43377         * modules/get-rusage-as-tests: New file.
43378         * tests/test-get-rusage-as.c: New file.
43380         New module 'get-rusage-as'.
43381         * modules/get-rusage-as: New file.
43382         * lib/resource-ext.h: New file.
43383         * lib/get-rusage-as.c: New file.
43385 2011-01-17  Eric Blake  <eblake@redhat.com>
43387         sigaction: relax license from LGPLv3+ to LGPLv2+
43388         * modules/sigaction (License): Relax to LGPLv2+.
43390 2011-01-14  Bruno Haible  <bruno@clisp.org>
43392         filemode: Make function declarations usable in C++ mode.
43393         * lib/filemode.h: Enclose function declarations in extern "C" block.
43394         Reported by John W. Eaton <jwe@gnu.org>.
43396 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
43398         save-cwd: no longer include "xgetcwd.h"
43399         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
43400         This avoids a compilation failure in projects that use save-cwd
43401         without also using the xgetcwd module.
43403 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
43405         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
43406         This is so that a program like Emacs, which needs only dtoastr,
43407         does not have to bother with distributing and compiling ftoastr
43408         and ldtoastr.
43409         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
43410         * modules/dtoastr, modules/ldtoastr: New files.
43411         * modules/ftoastr: Now works just for 'float'.
43412         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
43413         (Makefile.am): Remove ftoastr.h (not needed and no effect),
43414         dtoastr.c, ldtoastr.c.
43416 2011-01-11  Jim Meyering  <meyering@redhat.com>
43418         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
43419         There is no need to work around the lack of the fchdir function,
43420         since gnulib can now provide a replacement when required.
43421         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
43422         * modules/save-cwd (Depends-on): Add fchdir.
43424 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
43426         openat, save-cwd: avoid xmalloc
43428         This removes a direct (but undocumented) dependency of openat on
43429         xalloc, along with an indirect dependency via save-cwd.  It also
43430         removes a dependency of save-cwd on xgetcwd, and thereby
43431         indirectly on xalloc.  This change causes the openat substitute
43432         to fall back on save_cwd when memory is tight, and for save_cwd to
43433         fail instead of dying when memory is tight, but that's good enough.
43434         Problem and initial idea for fix reported by Bastien Roucaries in
43435         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00170.html>.
43437         * lib/openat-proc.c: Include stdlib.h (for malloc), not
43438         xalloc.h (for xmalloc).
43439         (openat_proc_name): Use malloc, not xmalloc.
43440         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
43441         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
43443         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
43444         This avoids heap allocation for file names whose lengths are in
43445         the range 512..1023, with the upper bound increasing to at most
43446         4031 depending on the platform's PATH_MAX.  (We do not want
43447         pathmax.h here as it might supply a non-constant PATH_MAX.)
43448         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
43449         Perhaps they should be moved to malloca.h?
43450         (OPENAT_BUFFER_SIZE): Use them.
43452 2011-01-10  Bruno Haible  <bruno@clisp.org>
43454         doc: Update users.txt.
43455         * users.txt: Add recutils.
43457 2011-01-09  Karl Berry  <karl@gnu.org>
43459         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
43461         * doc/configmake.texi: New file.
43462         * doc/gnulib.texi: Include it.
43463         * modules/configmake: Move documentation from here.
43465 2011-01-09  Bruno Haible  <bruno@clisp.org>
43467         Update to Unicode 6.0.0.
43468         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
43469         (get_lbp): Update for Unicode 6.0.0.
43470         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
43471         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
43472         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
43473         U+11001, U+11038..U+11046. Remove U+06DE.
43474         (uc_width): Fix bounds of planes.
43475         * tests/uniwidth/test-uc_width2.sh: Same updates as in
43476         lib/uniwidth/width.c.
43477         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
43478         trailing whitespace removed.
43479         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
43480         without comments, but with the original copyright notice.
43481         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
43482         * lib/unicase/ignorable.h: Likewise.
43483         * lib/unicase/tocasefold.h: Likewise.
43484         * lib/unicase/tolower.h: Likewise.
43485         * lib/unicase/totitle.h: Likewise.
43486         * lib/unicase/toupper.h: Likewise.
43487         * lib/unictype/bidi_of.h: Likewise.
43488         * lib/unictype/blocks.h: Likewise.
43489         * lib/unictype/categ_C.h: Likewise.
43490         * lib/unictype/categ_Cn.h: Likewise.
43491         * lib/unictype/categ_L.h: Likewise.
43492         * lib/unictype/categ_Ll.h: Likewise.
43493         * lib/unictype/categ_Lm.h: Likewise.
43494         * lib/unictype/categ_Lo.h: Likewise.
43495         * lib/unictype/categ_Lu.h: Likewise.
43496         * lib/unictype/categ_M.h: Likewise.
43497         * lib/unictype/categ_Mc.h: Likewise.
43498         * lib/unictype/categ_Me.h: Likewise.
43499         * lib/unictype/categ_Mn.h: Likewise.
43500         * lib/unictype/categ_N.h: Likewise.
43501         * lib/unictype/categ_Nd.h: Likewise.
43502         * lib/unictype/categ_No.h: Likewise.
43503         * lib/unictype/categ_P.h: Likewise.
43504         * lib/unictype/categ_Po.h: Likewise.
43505         * lib/unictype/categ_S.h: Likewise.
43506         * lib/unictype/categ_Sc.h: Likewise.
43507         * lib/unictype/categ_Sk.h: Likewise.
43508         * lib/unictype/categ_Sm.h: Likewise.
43509         * lib/unictype/categ_So.h: Likewise.
43510         * lib/unictype/categ_of.h: Likewise.
43511         * lib/unictype/combining.h: Likewise.
43512         * lib/unictype/ctype_alnum.h: Likewise.
43513         * lib/unictype/ctype_alpha.h: Likewise.
43514         * lib/unictype/ctype_graph.h: Likewise.
43515         * lib/unictype/ctype_lower.h: Likewise.
43516         * lib/unictype/ctype_print.h: Likewise.
43517         * lib/unictype/ctype_punct.h: Likewise.
43518         * lib/unictype/ctype_upper.h: Likewise.
43519         * lib/unictype/decdigit.h: Likewise.
43520         * lib/unictype/digit.h: Likewise.
43521         * lib/unictype/numeric.h: Likewise.
43522         * lib/unictype/pr_alphabetic.h: Likewise.
43523         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
43524         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
43525         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
43526         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
43527         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
43528         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
43529         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
43530         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
43531         * lib/unictype/pr_case_ignorable.h: Likewise.
43532         * lib/unictype/pr_cased.h: Likewise.
43533         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
43534         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
43535         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
43536         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
43537         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
43538         * lib/unictype/pr_combining.h: Likewise.
43539         * lib/unictype/pr_composite.h: Likewise.
43540         * lib/unictype/pr_currency_symbol.h: Likewise.
43541         * lib/unictype/pr_decimal_digit.h: Likewise.
43542         * lib/unictype/pr_deprecated.h: Likewise.
43543         * lib/unictype/pr_format_control.h: Likewise.
43544         * lib/unictype/pr_grapheme_base.h: Likewise.
43545         * lib/unictype/pr_grapheme_extend.h: Likewise.
43546         * lib/unictype/pr_grapheme_link.h: Likewise.
43547         * lib/unictype/pr_id_continue.h: Likewise.
43548         * lib/unictype/pr_id_start.h: Likewise.
43549         * lib/unictype/pr_ideographic.h: Likewise.
43550         * lib/unictype/pr_lowercase.h: Likewise.
43551         * lib/unictype/pr_math.h: Likewise.
43552         * lib/unictype/pr_numeric.h: Likewise.
43553         * lib/unictype/pr_other_alphabetic.h: Likewise.
43554         * lib/unictype/pr_other_id_continue.h: Likewise.
43555         * lib/unictype/pr_other_math.h: Likewise.
43556         * lib/unictype/pr_punctuation.h: Likewise.
43557         * lib/unictype/pr_sentence_terminal.h: Likewise.
43558         * lib/unictype/pr_terminal_punctuation.h: Likewise.
43559         * lib/unictype/pr_unassigned_code_value.h: Likewise.
43560         * lib/unictype/pr_unified_ideograph.h: Likewise.
43561         * lib/unictype/pr_uppercase.h: Likewise.
43562         * lib/unictype/pr_xid_continue.h: Likewise.
43563         * lib/unictype/pr_xid_start.h: Likewise.
43564         * lib/unictype/scripts.h: Likewise.
43565         * lib/unictype/scripts_byname.gperf: Likewise.
43566         * lib/unictype/sy_java_ident.h: Likewise.
43567         * lib/unigbrk/gbrkprop.h: Likewise.
43568         * lib/unilbrk/lbrkprop1.h: Likewise.
43569         * lib/unilbrk/lbrkprop2.h: Likewise.
43570         * lib/uninorm/decomposition-table2.h: Likewise.
43571         * lib/uniwbrk/wbrkprop.h: Likewise.
43572         * tests/unicase/test-cased.c: Likewise.
43573         * tests/unicase/test-ignorable.c: Likewise.
43574         * tests/unicase/test-uc_tolower.c: Likewise.
43575         * tests/unicase/test-uc_totitle.c: Likewise.
43576         * tests/unicase/test-uc_toupper.c: Likewise.
43577         * tests/unictype/test-categ_C.c: Likewise.
43578         * tests/unictype/test-categ_Cn.c: Likewise.
43579         * tests/unictype/test-categ_L.c: Likewise.
43580         * tests/unictype/test-categ_Ll.c: Likewise.
43581         * tests/unictype/test-categ_Lm.c: Likewise.
43582         * tests/unictype/test-categ_Lo.c: Likewise.
43583         * tests/unictype/test-categ_Lu.c: Likewise.
43584         * tests/unictype/test-categ_M.c: Likewise.
43585         * tests/unictype/test-categ_Mc.c: Likewise.
43586         * tests/unictype/test-categ_Me.c: Likewise.
43587         * tests/unictype/test-categ_Mn.c: Likewise.
43588         * tests/unictype/test-categ_N.c: Likewise.
43589         * tests/unictype/test-categ_Nd.c: Likewise.
43590         * tests/unictype/test-categ_No.c: Likewise.
43591         * tests/unictype/test-categ_P.c: Likewise.
43592         * tests/unictype/test-categ_Po.c: Likewise.
43593         * tests/unictype/test-categ_S.c: Likewise.
43594         * tests/unictype/test-categ_Sc.c: Likewise.
43595         * tests/unictype/test-categ_Sk.c: Likewise.
43596         * tests/unictype/test-categ_Sm.c: Likewise.
43597         * tests/unictype/test-categ_So.c: Likewise.
43598         * tests/unictype/test-ctype_alnum.c: Likewise.
43599         * tests/unictype/test-ctype_alpha.c: Likewise.
43600         * tests/unictype/test-ctype_graph.c: Likewise.
43601         * tests/unictype/test-ctype_lower.c: Likewise.
43602         * tests/unictype/test-ctype_print.c: Likewise.
43603         * tests/unictype/test-ctype_punct.c: Likewise.
43604         * tests/unictype/test-ctype_upper.c: Likewise.
43605         * tests/unictype/test-decdigit.h: Likewise.
43606         * tests/unictype/test-digit.h: Likewise.
43607         * tests/unictype/test-numeric.h: Likewise.
43608         * tests/unictype/test-pr_alphabetic.c: Likewise.
43609         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
43610         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
43611         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
43612         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
43613         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
43614         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
43615         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
43616         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
43617         * tests/unictype/test-pr_case_ignorable.c: Likewise.
43618         * tests/unictype/test-pr_cased.c: Likewise.
43619         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
43620         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
43621         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
43622         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
43623         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
43624         * tests/unictype/test-pr_combining.c: Likewise.
43625         * tests/unictype/test-pr_composite.c: Likewise.
43626         * tests/unictype/test-pr_currency_symbol.c: Likewise.
43627         * tests/unictype/test-pr_decimal_digit.c: Likewise.
43628         * tests/unictype/test-pr_deprecated.c: Likewise.
43629         * tests/unictype/test-pr_format_control.c: Likewise.
43630         * tests/unictype/test-pr_grapheme_base.c: Likewise.
43631         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
43632         * tests/unictype/test-pr_grapheme_link.c: Likewise.
43633         * tests/unictype/test-pr_id_continue.c: Likewise.
43634         * tests/unictype/test-pr_id_start.c: Likewise.
43635         * tests/unictype/test-pr_ideographic.c: Likewise.
43636         * tests/unictype/test-pr_lowercase.c: Likewise.
43637         * tests/unictype/test-pr_math.c: Likewise.
43638         * tests/unictype/test-pr_numeric.c: Likewise.
43639         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
43640         * tests/unictype/test-pr_other_id_continue.c: Likewise.
43641         * tests/unictype/test-pr_other_math.c: Likewise.
43642         * tests/unictype/test-pr_punctuation.c: Likewise.
43643         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
43644         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
43645         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
43646         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
43647         * tests/unictype/test-pr_uppercase.c: Likewise.
43648         * tests/unictype/test-pr_xid_continue.c: Likewise.
43649         * tests/unictype/test-pr_xid_start.c: Likewise.
43650         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
43651         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
43652         changes.
43653         * lib/unictype/categ_Cc.h: Likewise.
43654         * lib/unictype/categ_Cf.h: Likewise.
43655         * lib/unictype/categ_Co.h: Likewise.
43656         * lib/unictype/categ_Cs.h: Likewise.
43657         * lib/unictype/categ_Lt.h: Likewise.
43658         * lib/unictype/categ_Nl.h: Likewise.
43659         * lib/unictype/categ_Pc.h: Likewise.
43660         * lib/unictype/categ_Pd.h: Likewise.
43661         * lib/unictype/categ_Pe.h: Likewise.
43662         * lib/unictype/categ_Pf.h: Likewise.
43663         * lib/unictype/categ_Pi.h: Likewise.
43664         * lib/unictype/categ_Ps.h: Likewise.
43665         * lib/unictype/categ_Z.h: Likewise.
43666         * lib/unictype/categ_Zl.h: Likewise.
43667         * lib/unictype/categ_Zp.h: Likewise.
43668         * lib/unictype/categ_Zs.h: Likewise.
43669         * lib/unictype/ctype_blank.h: Likewise.
43670         * lib/unictype/ctype_cntrl.h: Likewise.
43671         * lib/unictype/ctype_digit.h: Likewise.
43672         * lib/unictype/ctype_space.h: Likewise.
43673         * lib/unictype/ctype_xdigit.h: Likewise.
43674         * lib/unictype/mirror.h: Likewise.
43675         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
43676         * lib/unictype/pr_bidi_block_separator.h: Likewise.
43677         * lib/unictype/pr_bidi_common_separator.h: Likewise.
43678         * lib/unictype/pr_bidi_control.h: Likewise.
43679         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
43680         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
43681         * lib/unictype/pr_bidi_european_digit.h: Likewise.
43682         * lib/unictype/pr_bidi_pdf.h: Likewise.
43683         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
43684         * lib/unictype/pr_bidi_whitespace.h: Likewise.
43685         * lib/unictype/pr_dash.h: Likewise.
43686         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
43687         * lib/unictype/pr_diacritic.h: Likewise.
43688         * lib/unictype/pr_extender.h: Likewise.
43689         * lib/unictype/pr_hex_digit.h: Likewise.
43690         * lib/unictype/pr_hyphen.h: Likewise.
43691         * lib/unictype/pr_ids_binary_operator.h: Likewise.
43692         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
43693         * lib/unictype/pr_ignorable_control.h: Likewise.
43694         * lib/unictype/pr_iso_control.h: Likewise.
43695         * lib/unictype/pr_join_control.h: Likewise.
43696         * lib/unictype/pr_left_of_pair.h: Likewise.
43697         * lib/unictype/pr_line_separator.h: Likewise.
43698         * lib/unictype/pr_logical_order_exception.h: Likewise.
43699         * lib/unictype/pr_non_break.h: Likewise.
43700         * lib/unictype/pr_not_a_character.h: Likewise.
43701         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
43702         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
43703         * lib/unictype/pr_other_id_start.h: Likewise.
43704         * lib/unictype/pr_other_lowercase.h: Likewise.
43705         * lib/unictype/pr_other_uppercase.h: Likewise.
43706         * lib/unictype/pr_paired_punctuation.h: Likewise.
43707         * lib/unictype/pr_paragraph_separator.h: Likewise.
43708         * lib/unictype/pr_pattern_syntax.h: Likewise.
43709         * lib/unictype/pr_pattern_white_space.h: Likewise.
43710         * lib/unictype/pr_private_use.h: Likewise.
43711         * lib/unictype/pr_quotation_mark.h: Likewise.
43712         * lib/unictype/pr_radical.h: Likewise.
43713         * lib/unictype/pr_soft_dotted.h: Likewise.
43714         * lib/unictype/pr_space.h: Likewise.
43715         * lib/unictype/pr_titlecase.h: Likewise.
43716         * lib/unictype/pr_variation_selector.h: Likewise.
43717         * lib/unictype/pr_white_space.h: Likewise.
43718         * lib/unictype/pr_zero_width.h: Likewise.
43719         * lib/unictype/sy_c_ident.h: Likewise.
43720         * lib/unictype/sy_c_whitespace.h: Likewise.
43721         * lib/unictype/sy_java_whitespace.h: Likewise.
43722         * lib/uninorm/composition-table.gperf: Likewise.
43723         * lib/uninorm/decomposition-table1.h: Likewise.
43724         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
43725         LB8.
43726         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
43727         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
43728         * modules/unictype/*: Bump version number of expected libunistring
43729         version.
43731 2011-01-09  Bruno Haible  <bruno@clisp.org>
43733         Update to Unicode 5.2.0.
43734         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
43735         trailing whitespace removed.
43737 2011-01-09  Bruno Haible  <bruno@clisp.org>
43739         New Unicode character properties, from Unicode 5.2.0.
43740         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
43741         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
43742         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
43743         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
43744         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
43745         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
43746         uc_is_property_cased, uc_is_property_case_ignorable,
43747         uc_is_property_changes_when_lowercased,
43748         uc_is_property_changes_when_uppercased,
43749         uc_is_property_changes_when_titlecased,
43750         uc_is_property_changes_when_casefolded,
43751         uc_is_property_changes_when_casemapped): New declarations.
43752         * lib/unictype/pr_byname.gperf: Add the new properties.
43753         * modules/unictype/property-byname (Depends-on): Depend on the new
43754         properties modules.
43755         * modules/unictype/property-all (Depends-on): Likewise.
43756         * MODULES.html.sh (Unicode string functions): Add
43757         unictype/property-case-ignorable, unictype/property-cased,
43758         unictype/property-changes-when-casefolded,
43759         unictype/property-changes-when-casemapped,
43760         unictype/property-changes-when-lowercased,
43761         unictype/property-changes-when-titlecased,
43762         unictype/property-changes-when-uppercased.
43764         New module 'unictype/property-changes-when-casemapped'.
43765         * modules/unictype/property-changes-when-casemapped: New file.
43766         * lib/unictype/pr_changes_when_casemapped.c: New file.
43767         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
43768         generated by gen-uni-tables.
43769         * modules/unictype/property-changes-when-casemapped-tests: New file.
43770         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
43771         automatically generated by gen-uni-tables.
43773         New module 'unictype/property-changes-when-casefolded'.
43774         * modules/unictype/property-changes-when-casefolded: New file.
43775         * lib/unictype/pr_changes_when_casefolded.c: New file.
43776         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
43777         generated by gen-uni-tables.
43778         * modules/unictype/property-changes-when-casefolded-tests: New file.
43779         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
43780         automatically generated by gen-uni-tables.
43782         New module 'unictype/property-changes-when-titlecased'.
43783         * modules/unictype/property-changes-when-titlecased: New file.
43784         * lib/unictype/pr_changes_when_titlecased.c: New file.
43785         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
43786         generated by gen-uni-tables.
43787         * modules/unictype/property-changes-when-titlecased-tests: New file.
43788         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
43789         automatically generated by gen-uni-tables.
43791         New module 'unictype/property-changes-when-uppercased'.
43792         * modules/unictype/property-changes-when-uppercased: New file.
43793         * lib/unictype/pr_changes_when_uppercased.c: New file.
43794         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
43795         generated by gen-uni-tables.
43796         * modules/unictype/property-changes-when-uppercased-tests: New file.
43797         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
43798         automatically generated by gen-uni-tables.
43800         New module 'unictype/property-changes-when-lowercased'.
43801         * modules/unictype/property-changes-when-lowercased: New file.
43802         * lib/unictype/pr_changes_when_lowercased.c: New file.
43803         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
43804         generated by gen-uni-tables.
43805         * modules/unictype/property-changes-when-lowercased-tests: New file.
43806         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
43807         automatically generated by gen-uni-tables.
43809         New module 'unictype/property-case-ignorable'.
43810         * modules/unictype/property-case-ignorable: New file.
43811         * lib/unictype/pr_case_ignorable.c: New file.
43812         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
43813         by gen-uni-tables.
43814         * modules/unictype/property-case-ignorable-tests: New file.
43815         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
43816         generated by gen-uni-tables.
43818         New module 'unictype/property-cased'.
43819         * modules/unictype/property-cased: New file.
43820         * lib/unictype/pr_cased.c: New file.
43821         * lib/unictype/pr_cased.h: New file, automatically generated by
43822         gen-uni-tables.
43823         * modules/unictype/property-cased-tests: New file.
43824         * tests/unictype/test-pr_cased.c: New file, automatically generated by
43825         gen-uni-tables.
43827 2011-01-09  Bruno Haible  <bruno@clisp.org>
43829         Update to Unicode 5.2.0.
43830         * lib/gen-uni-tables.c (output_predicate, output_category,
43831         output_combclass, output_bidi_category, output_decimal_digit_test,
43832         output_decimal_digit, output_digit_test, output_digit,
43833         output_numeric_test, output_numeric, output_mirror, output_scripts,
43834         output_scripts_byname, output_blocks, output_ident_category): Fix
43835         comment header.
43836         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
43837         get_wbp.
43838         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
43839         items.
43840         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
43841         Changes_When_Lowercased, Changes_When_Uppercased,
43842         Changes_When_Titlecased, Changes_When_Casefolded,
43843         Changes_When_Casemapped.
43844         (is_property_alphabetic, is_property_default_ignorable_code_point):
43845         Update for Unicode 5.2.0.
43846         (is_property_cased, is_property_case_ignorable,
43847         is_property_changes_when_lowercased,
43848         is_property_changes_when_uppercased,
43849         is_property_changes_when_titlecased,
43850         is_property_changes_when_casefolded,
43851         is_property_changes_when_casemapped): New functions.
43852         (output_properties): Output also the properties cased, case_ignorable,
43853         changes_when_lowercased, changes_when_uppercased,
43854         changes_when_titlecased, changes_when_casefolded,
43855         changes_when_casemapped.
43856         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
43857         Unicode TR#11 revision 17 -> 19.
43858         (LBP_CP): New enumeration value.
43859         (LBP_*): Adjust values accordingly.
43860         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
43861         TR#14 revision 22 -> 24.
43862         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
43863         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
43864         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
43865         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
43866         is_WBP_MIDLETTER.
43867         (output_composition_tables): Allow for 24 bits instead of 16 bits in
43868         the code1 and code2 of each composition rule.
43869         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
43870         * lib/unicase/ignorable.h: Likewise.
43871         * lib/unicase/tocasefold.h: Likewise.
43872         * lib/unicase/tolower.h: Likewise.
43873         * lib/unicase/totitle.h: Likewise.
43874         * lib/unicase/toupper.h: Likewise.
43875         * lib/unictype/bidi_of.h: Likewise.
43876         * lib/unictype/blocks.h: Likewise.
43877         * lib/unictype/categ_C.h: Likewise.
43878         * lib/unictype/categ_Cf.h: Likewise.
43879         * lib/unictype/categ_Cn.h: Likewise.
43880         * lib/unictype/categ_L.h: Likewise.
43881         * lib/unictype/categ_Ll.h: Likewise.
43882         * lib/unictype/categ_Lm.h: Likewise.
43883         * lib/unictype/categ_Lo.h: Likewise.
43884         * lib/unictype/categ_Lu.h: Likewise.
43885         * lib/unictype/categ_M.h: Likewise.
43886         * lib/unictype/categ_Mc.h: Likewise.
43887         * lib/unictype/categ_Mn.h: Likewise.
43888         * lib/unictype/categ_N.h: Likewise.
43889         * lib/unictype/categ_Nd.h: Likewise.
43890         * lib/unictype/categ_Nl.h: Likewise.
43891         * lib/unictype/categ_No.h: Likewise.
43892         * lib/unictype/categ_P.h: Likewise.
43893         * lib/unictype/categ_Pd.h: Likewise.
43894         * lib/unictype/categ_Po.h: Likewise.
43895         * lib/unictype/categ_S.h: Likewise.
43896         * lib/unictype/categ_Sc.h: Likewise.
43897         * lib/unictype/categ_So.h: Likewise.
43898         * lib/unictype/categ_of.h: Likewise.
43899         * lib/unictype/combining.h: Likewise.
43900         * lib/unictype/ctype_alnum.h: Likewise.
43901         * lib/unictype/ctype_alpha.h: Likewise.
43902         * lib/unictype/ctype_graph.h: Likewise.
43903         * lib/unictype/ctype_lower.h: Likewise.
43904         * lib/unictype/ctype_print.h: Likewise.
43905         * lib/unictype/ctype_punct.h: Likewise.
43906         * lib/unictype/ctype_upper.h: Likewise.
43907         * lib/unictype/decdigit.h: Likewise.
43908         * lib/unictype/digit.h: Likewise.
43909         * lib/unictype/numeric.h: Likewise.
43910         * lib/unictype/pr_alphabetic.h: Likewise.
43911         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
43912         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
43913         * lib/unictype/pr_bidi_european_digit.h: Likewise.
43914         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
43915         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
43916         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
43917         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
43918         * lib/unictype/pr_combining.h: Likewise.
43919         * lib/unictype/pr_composite.h: Likewise.
43920         * lib/unictype/pr_currency_symbol.h: Likewise.
43921         * lib/unictype/pr_dash.h: Likewise.
43922         * lib/unictype/pr_decimal_digit.h: Likewise.
43923         * lib/unictype/pr_deprecated.h: Likewise.
43924         * lib/unictype/pr_diacritic.h: Likewise.
43925         * lib/unictype/pr_extender.h: Likewise.
43926         * lib/unictype/pr_grapheme_base.h: Likewise.
43927         * lib/unictype/pr_grapheme_extend.h: Likewise.
43928         * lib/unictype/pr_grapheme_link.h: Likewise.
43929         * lib/unictype/pr_id_continue.h: Likewise.
43930         * lib/unictype/pr_id_start.h: Likewise.
43931         * lib/unictype/pr_ideographic.h: Likewise.
43932         * lib/unictype/pr_ignorable_control.h: Likewise.
43933         * lib/unictype/pr_logical_order_exception.h: Likewise.
43934         * lib/unictype/pr_lowercase.h: Likewise.
43935         * lib/unictype/pr_numeric.h: Likewise.
43936         * lib/unictype/pr_other_alphabetic.h: Likewise.
43937         * lib/unictype/pr_punctuation.h: Likewise.
43938         * lib/unictype/pr_sentence_terminal.h: Likewise.
43939         * lib/unictype/pr_terminal_punctuation.h: Likewise.
43940         * lib/unictype/pr_unassigned_code_value.h: Likewise.
43941         * lib/unictype/pr_unified_ideograph.h: Likewise.
43942         * lib/unictype/pr_uppercase.h: Likewise.
43943         * lib/unictype/pr_xid_continue.h: Likewise.
43944         * lib/unictype/pr_xid_start.h: Likewise.
43945         * lib/unictype/pr_zero_width.h: Likewise.
43946         * lib/unictype/scripts.h: Likewise.
43947         * lib/unictype/scripts_byname.gperf: Likewise.
43948         * lib/unictype/sy_java_ident.h: Likewise.
43949         * lib/unigbrk/gbrkprop.h: Likewise.
43950         * lib/unilbrk/lbrkprop1.h: Likewise.
43951         * lib/unilbrk/lbrkprop2.h: Likewise.
43952         * lib/unilbrk/lbrktables.h: Likewise.
43953         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
43954         LBP_CP. Implement rule LB30.
43955         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
43956         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
43957         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
43958         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
43959         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
43960         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
43961         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
43962         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
43963         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
43964         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
43965         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
43966         bits instead of 16 bits in the code1 and code2 of each composition
43967         rule.
43968         (uc_composition): Update for Unicode 5.2.0.
43969         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
43970         * lib/uninorm/decomposition-table2.h: Likewise.
43971         * lib/uniwbrk/wbrkprop.h: Likewise.
43972         * tests/unicase/test-cased.c: Likewise.
43973         * tests/unicase/test-ignorable.c: Likewise.
43974         * tests/unicase/test-uc_tolower.c: Likewise.
43975         * tests/unicase/test-uc_totitle.c: Likewise.
43976         * tests/unicase/test-uc_toupper.c: Likewise.
43977         * tests/unictype/test-categ_C.c: Likewise.
43978         * tests/unictype/test-categ_Cf.c: Likewise.
43979         * tests/unictype/test-categ_Cn.c: Likewise.
43980         * tests/unictype/test-categ_L.c: Likewise.
43981         * tests/unictype/test-categ_Ll.c: Likewise.
43982         * tests/unictype/test-categ_Lm.c: Likewise.
43983         * tests/unictype/test-categ_Lo.c: Likewise.
43984         * tests/unictype/test-categ_Lu.c: Likewise.
43985         * tests/unictype/test-categ_M.c: Likewise.
43986         * tests/unictype/test-categ_Mc.c: Likewise.
43987         * tests/unictype/test-categ_Mn.c: Likewise.
43988         * tests/unictype/test-categ_N.c: Likewise.
43989         * tests/unictype/test-categ_Nd.c: Likewise.
43990         * tests/unictype/test-categ_Nl.c: Likewise.
43991         * tests/unictype/test-categ_No.c: Likewise.
43992         * tests/unictype/test-categ_P.c: Likewise.
43993         * tests/unictype/test-categ_Pd.c: Likewise.
43994         * tests/unictype/test-categ_Po.c: Likewise.
43995         * tests/unictype/test-categ_S.c: Likewise.
43996         * tests/unictype/test-categ_Sc.c: Likewise.
43997         * tests/unictype/test-categ_So.c: Likewise.
43998         * tests/unictype/test-ctype_alnum.c: Likewise.
43999         * tests/unictype/test-ctype_alpha.c: Likewise.
44000         * tests/unictype/test-ctype_graph.c: Likewise.
44001         * tests/unictype/test-ctype_lower.c: Likewise.
44002         * tests/unictype/test-ctype_print.c: Likewise.
44003         * tests/unictype/test-ctype_punct.c: Likewise.
44004         * tests/unictype/test-ctype_upper.c: Likewise.
44005         * tests/unictype/test-decdigit.h: Likewise.
44006         * tests/unictype/test-digit.h: Likewise.
44007         * tests/unictype/test-numeric.h: Likewise.
44008         * tests/unictype/test-pr_alphabetic.c: Likewise.
44009         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
44010         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
44011         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
44012         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
44013         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
44014         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
44015         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
44016         * tests/unictype/test-pr_combining.c: Likewise.
44017         * tests/unictype/test-pr_composite.c: Likewise.
44018         * tests/unictype/test-pr_currency_symbol.c: Likewise.
44019         * tests/unictype/test-pr_dash.c: Likewise.
44020         * tests/unictype/test-pr_decimal_digit.c: Likewise.
44021         * tests/unictype/test-pr_deprecated.c: Likewise.
44022         * tests/unictype/test-pr_diacritic.c: Likewise.
44023         * tests/unictype/test-pr_extender.c: Likewise.
44024         * tests/unictype/test-pr_grapheme_base.c: Likewise.
44025         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
44026         * tests/unictype/test-pr_grapheme_link.c: Likewise.
44027         * tests/unictype/test-pr_id_continue.c: Likewise.
44028         * tests/unictype/test-pr_id_start.c: Likewise.
44029         * tests/unictype/test-pr_ideographic.c: Likewise.
44030         * tests/unictype/test-pr_ignorable_control.c: Likewise.
44031         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
44032         * tests/unictype/test-pr_lowercase.c: Likewise.
44033         * tests/unictype/test-pr_numeric.c: Likewise.
44034         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
44035         * tests/unictype/test-pr_punctuation.c: Likewise.
44036         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
44037         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
44038         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
44039         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
44040         * tests/unictype/test-pr_uppercase.c: Likewise.
44041         * tests/unictype/test-pr_xid_continue.c: Likewise.
44042         * tests/unictype/test-pr_xid_start.c: Likewise.
44043         * tests/unictype/test-pr_zero_width.c: Likewise.
44044         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
44045         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
44046         changed behaviour: line breaking is now disallowed between a letter
44047         or '=' and '('.
44048         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
44049         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
44050         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
44051         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
44052         * tests/uniwidth/test-uc_width2.sh: Same updates as in
44053         lib/uniwidth/width.c.
44054         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
44055         without comments, but with the original copyright notice.
44056         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
44057         changes.
44058         * lib/unictype/categ_Cc.h: Likewise.
44059         * lib/unictype/categ_Co.h: Likewise.
44060         * lib/unictype/categ_Cs.h: Likewise.
44061         * lib/unictype/categ_Lt.h: Likewise.
44062         * lib/unictype/categ_Me.h: Likewise.
44063         * lib/unictype/categ_Pc.h: Likewise.
44064         * lib/unictype/categ_Pe.h: Likewise.
44065         * lib/unictype/categ_Pf.h: Likewise.
44066         * lib/unictype/categ_Pi.h: Likewise.
44067         * lib/unictype/categ_Ps.h: Likewise.
44068         * lib/unictype/categ_Sk.h: Likewise.
44069         * lib/unictype/categ_Sm.h: Likewise.
44070         * lib/unictype/categ_Z.h: Likewise.
44071         * lib/unictype/categ_Zl.h: Likewise.
44072         * lib/unictype/categ_Zp.h: Likewise.
44073         * lib/unictype/categ_Zs.h: Likewise.
44074         * lib/unictype/ctype_blank.h: Likewise.
44075         * lib/unictype/ctype_cntrl.h: Likewise.
44076         * lib/unictype/ctype_digit.h: Likewise.
44077         * lib/unictype/ctype_space.h: Likewise.
44078         * lib/unictype/ctype_xdigit.h: Likewise.
44079         * lib/unictype/mirror.h: Likewise.
44080         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
44081         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
44082         * lib/unictype/pr_bidi_block_separator.h: Likewise.
44083         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
44084         * lib/unictype/pr_bidi_common_separator.h: Likewise.
44085         * lib/unictype/pr_bidi_control.h: Likewise.
44086         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
44087         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
44088         * lib/unictype/pr_bidi_pdf.h: Likewise.
44089         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
44090         * lib/unictype/pr_bidi_whitespace.h: Likewise.
44091         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
44092         * lib/unictype/pr_format_control.h: Likewise.
44093         * lib/unictype/pr_hex_digit.h: Likewise.
44094         * lib/unictype/pr_hyphen.h: Likewise.
44095         * lib/unictype/pr_ids_binary_operator.h: Likewise.
44096         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
44097         * lib/unictype/pr_iso_control.h: Likewise.
44098         * lib/unictype/pr_join_control.h: Likewise.
44099         * lib/unictype/pr_left_of_pair.h: Likewise.
44100         * lib/unictype/pr_line_separator.h: Likewise.
44101         * lib/unictype/pr_math.h: Likewise.
44102         * lib/unictype/pr_non_break.h: Likewise.
44103         * lib/unictype/pr_not_a_character.h: Likewise.
44104         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
44105         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
44106         * lib/unictype/pr_other_id_continue.h: Likewise.
44107         * lib/unictype/pr_other_id_start.h: Likewise.
44108         * lib/unictype/pr_other_lowercase.h: Likewise.
44109         * lib/unictype/pr_other_math.h: Likewise.
44110         * lib/unictype/pr_other_uppercase.h: Likewise.
44111         * lib/unictype/pr_paired_punctuation.h: Likewise.
44112         * lib/unictype/pr_paragraph_separator.h: Likewise.
44113         * lib/unictype/pr_pattern_syntax.h: Likewise.
44114         * lib/unictype/pr_pattern_white_space.h: Likewise.
44115         * lib/unictype/pr_private_use.h: Likewise.
44116         * lib/unictype/pr_quotation_mark.h: Likewise.
44117         * lib/unictype/pr_radical.h: Likewise.
44118         * lib/unictype/pr_soft_dotted.h: Likewise.
44119         * lib/unictype/pr_space.h: Likewise.
44120         * lib/unictype/pr_titlecase.h: Likewise.
44121         * lib/unictype/pr_variation_selector.h: Likewise.
44122         * lib/unictype/pr_white_space.h: Likewise.
44123         * lib/unictype/sy_c_ident.h: Likewise.
44124         * lib/unictype/sy_c_whitespace.h: Likewise.
44125         * lib/unictype/sy_java_whitespace.h: Likewise.
44126         * modules/uni*/*: Bump version number of expected libunistring version.
44127         Reported by Simon Josefsson.
44129 2011-01-09  Karl Heuer  <kwzh@gnu.org>
44131         useless-if-before-free: fix typo in --help and make the internal,
44132         automatic version date update process work once again.
44133         --help output contained a NUL character instead of the
44134         backslash-zero that was intended.  Also, the "must lie within
44135         the first 8 lines" line is on line 9, and hence not getting
44136         automatically updated.
44137         * build-aux/useless-if-before-free: Fix the former by adding a
44138         backslash, and the latter by condensing the three lines of what-it-does
44139         to a single line, leaving one line of slack for the future.
44141 2011-01-09  Bruno Haible  <bruno@clisp.org>
44143         uniwidth/width: Fix width of U+1D173..U+1D17A.
44144         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
44145         symbolic_width, output_width_property_test): New functions.
44146         (main): Invoke output_nonspacing_property, output_width_property_test.
44147         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
44148         U+1D173..U+1D17A.
44149         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
44150         1.
44151         * modules/uniwidth/*: Bump version number of expected libunistring
44152         version.
44153         * modules/unilbrk/*: Likewise.
44155 2011-01-08  Bruno Haible  <bruno@clisp.org>
44157         uninorm tests: Preserve copyright of Unicode data file.
44158         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
44159         Mention modifications.
44161 2011-01-08  Bruno Haible  <bruno@clisp.org>
44163         gen-uni-tables: Prepare for Unicode 5.2.0.
44164         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
44165         (debug_output_lbp, output_lbp): Update.
44167 2011-01-08  Bruno Haible  <bruno@clisp.org>
44169         unilbrk: Clarify gen-uni-tables.c code.
44170         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
44171         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
44172         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
44174 2011-01-07  Bruno Haible  <bruno@clisp.org>
44176         strtod: Restore errno when successfully parsing Infinity or NaN.
44177         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
44178         restore the original errno.
44180 2011-01-07  Bruno Haible  <bruno@clisp.org>
44182         remove test: Avoid failure on HP-UX 11.
44183         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
44185 2011-01-07  Bruno Haible  <bruno@clisp.org>
44187         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
44188         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
44189         error code.
44191 2011-01-07  Pádraig Brady  <P@draigBrady.com>
44193         ignore-value: fixup comments, and add Eric Blake
44194         as an author since he rewrote the macros.
44195         * lib/ignore-value.h (ignore_value):  State that
44196         we now support aggregates.  Also specify exactly
44197         when the GCC warn_unused_result feature was added.
44199 2011-01-06  Eric Blake  <eblake@redhat.com>
44201         ignore-value: support aggregate types
44202         * lib/ignore-value.h (ignore_value): Provide separate gcc
44203         definition.
44204         * modules/ignore-value-tests: New test module.
44205         * tests/test-ignore-value.c: New test.
44207         maint.mk: improve sc_prohibit_strcmp regex
44208         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
44209         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
44210         definition of STRNEQ.
44212         signal: work around Haiku issue with SIGBUS
44213         * lib/siglist.h: Add comment.
44214         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
44215         strsignal's favoring of SIGSEGV.
44216         * tests/test-signal.c (main): Avoid test failure.
44217         * doc/posix-headers/signal.texi (signal.h): Document the issue.
44218         Reported by Scott McCreary.
44220         maint.mk: add pre-release check to ensure submodule commits are public
44221         * top/maint.mk (public-submodule-commit): New rule.
44222         (submodule-checks): New variable.
44223         (alpha beta stable): Depend on the variable.
44225 2011-01-05  Pádraig Brady  <P@draigBrady.com>
44226         and Jim Meyering  <meyering@redhat.com>
44228         ignore-value: make ignore_value more generic; deprecate ignore_ptr
44229         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
44230         (ATTRIBUTE_DEPRECATED): Define.
44231         (_ignore_case): New function.
44232         (ignore_value): New macro, to replace the old function.
44233         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
44234         * modules/ignore-value (Depends-on): Add stdint.
44236 2011-01-04  Eric Blake  <eblake@redhat.com>
44238         doc: regenerate INSTALL
44239         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
44240         @firstparagraphindent support, now that autoconf dropped it.
44241         (INSTALL_PRELUDE): Reinstate old macro.
44242         * doc/install.texi: Resync from autoconf.
44243         * doc/INSTALL: Reflect recent autoconf update.
44244         * doc/INSTALL.ISO: Likewise.
44245         * doc/INSTALL.UTF-8: Likewise.
44246         Reported by Karl Berry.
44248 2011-01-04  Bruce Korb  <address@hidden>
44250         git-version-gen: avoid a sub-shell
44251         * build-aux/git-version-gen: Redirect stderr in `...` via
44252         "exec 2>...", rather than via an added sub-shell.
44254 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
44256         git-version-gen: use (...) rather than sh -c '...'
44257         * build-aux/git-version-gen: Rather than hard-coding a shell's name
44258         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
44260 2011-01-03  Jim Meyering  <meyering@redhat.com>
44262         git-version-gen: convert leading TABs to spaces
44263         * build-aux/git-version-gen: Expand leading TABs.
44265         git-version-gen: handle failed "git rev-list"
44266         * build-aux/git-version-gen: Rather than leaking a "fatal" error
44267         from git and proceeding as if it had succeeded but printed no SHA1
44268         checksums, suppress the diagnostic and handle the failure.
44269         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
44271         git-version-gen: include command name in one more diagnostic
44272         * build-aux/git-version-gen: When the required .tarball-version file
44273         was missing or unreadable, you might see the diagnostic from "cat",
44274         but no trace of the name of the invoking script.  Now, you still see
44275         the diagnostic from cat, but also get one from "git-version-gen: ".
44276         Inspired by a patch from Bruce Korb.
44278         update-copyright: adjust test to match changed code
44279         * tests/test-update-copyright.sh: Change test's expected output
44280         to match new actual output.
44282 2011-01-02  Bruno Haible  <bruno@clisp.org>
44284         getlogin_r: Avoid test failure on HP-UX 11.
44285         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
44286         ERANGE when the second argument is zero.
44287         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
44288         portability problem.
44290 2011-01-02  Bruce Korb  <bkorb@gnu.org>
44292         * build-aux/update-copyright: doc Simon's changes
44294 2011-01-02  Simon Josefsson  <simon@josefsson.org>
44296         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
44297         environment variable.
44299 2011-01-02  Bruno Haible  <bruno@clisp.org>
44301         unigbrk: Avoid gcc warnings.
44302         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
44303         unused variable.
44304         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
44305         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
44306         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
44307         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
44308         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
44309         Change type of first argument to 'const char *'.
44310         (main): Remove unused variable.
44311         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
44312         type of first argument to 'const char *'.
44313         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
44314         Likewise.
44315         (main): Change type of variable 's'.
44316         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
44317         to 'int'.
44319 2011-01-02  Bruno Haible  <bruno@clisp.org>
44321         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
44322         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
44323         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
44324         bug.
44325         * lib/pwrite.c: Undo 2010-12-31 patch.
44326         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
44328 2011-01-02  Bruno Haible  <bruno@clisp.org>
44330         pread: Fix test whether it works.
44331         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
44333 2011-01-02  Bruno Haible  <bruno@clisp.org>
44335         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
44336         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
44337         ends in "6". Don't require a specific month name. Try also the locale
44338         names found on HP-UX 11 and Solaris 7.
44340 2011-01-02  Bruno Haible  <bruno@clisp.org>
44342         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
44343         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
44344         C linkage.
44345         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
44347 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
44349         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
44350         for consistency, since the "cluster" term is not used elsewhere.
44351         * lib/unigbrk.in.h: Update name.
44352         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
44353         * lib/unigbrk/u16-grapheme-next.c: Update name.
44354         * lib/unigbrk/u16-grapheme-prev.c: Update name.
44355         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
44356         * lib/unigbrk/u32-grapheme-next.c: Update name.
44357         * lib/unigbrk/u32-grapheme-prev.c: Update name.
44358         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
44359         * lib/unigbrk/u8-grapheme-next.c: Update name.
44360         * lib/unigbrk/u8-grapheme-prev.c: Update name.
44361         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
44362         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
44363         Suggested by Bruno Haible.
44365 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
44367         Remove module 'u8-grapheme-len' as too redundant with
44368         'u8-grapheme-next'.
44369         * modules/unigbrk/u8-grapheme-len: Delete file.
44370         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
44371         * lib/unigbrk.in.h: Remove prototype for deleted function.
44372         * lib/unigbrk/u8-grapheme-len.c: Delete file.
44373         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
44375         Remove module 'u16-grapheme-len' as too redundant with
44376         'u16-grapheme-next'.
44377         * modules/unigbrk/u16-grapheme-len: Delete file.
44378         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
44379         * lib/unigbrk.in.h: Remove prototype for deleted function.
44380         * lib/unigbrk/u16-grapheme-len.c: Delete file.
44381         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
44383         Remove module 'u32-grapheme-len' as too redundant with
44384         'u32-grapheme-next'.
44385         * modules/unigbrk/u32-grapheme-len: Delete file.
44386         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
44387         * lib/unigbrk.in.h: Remove prototype for deleted function.
44388         * lib/unigbrk/u32-grapheme-len.c: Delete file.
44389         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
44391         Suggested by Bruno Haible.
44393 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
44395         * unigbrk.in.h: Fix typo: "ben" => "been".
44396         Reported by Bruno Haible.
44398 2011-01-01  Jim Meyering  <meyering@redhat.com>
44400         maint: update almost all copyright ranges to include 2011
44401         Run the new "make update-copyright" rule.
44403 2011-01-01  Jim Meyering  <meyering@redhat.com>
44405         maint: update-copyright: exempt doc/INSTALL*
44406         * Makefile (update-copyright): Also exclude doc/INSTALL*,
44407         since they are generated.  Suggested by Bruno Haible.
44409 2011-01-01  Jim Meyering  <meyering@redhat.com>
44411         maint: refine the update-copyright rule
44412         * Makefile (update-copyright): Also exclude any file that includes
44413         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
44414         code that merely generates the comment.
44416 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
44418         New module 'u8-grapheme-len'.
44419         * modules/unigbrk/u8-grapheme-len: New file.
44420         * modules/unigbrk/u8-grapheme-len-tests: New file.
44421         * lib/unigbrk.in.h: Add prototype for new function.
44422         * lib/unigbrk/u8-grapheme-len.c: New file.
44423         * tests/unigbrk/test-u8-grapheme-len.c: New file.
44425         New module 'u16-grapheme-len'.
44426         * modules/unigbrk/u16-grapheme-len: New file.
44427         * modules/unigbrk/u16-grapheme-len-tests: New file.
44428         * lib/unigbrk.in.h: Add prototype for new function.
44429         * lib/unigbrk/u16-grapheme-len.c: New file.
44430         * tests/unigbrk/test-u16-grapheme-len.c: New file.
44432         New module 'u32-grapheme-len'.
44433         * modules/unigbrk/u32-grapheme-len: New file.
44434         * modules/unigbrk/u32-grapheme-len-tests: New file.
44435         * lib/unigbrk.in.h: Add prototype for new function.
44436         * lib/unigbrk/u32-grapheme-len.c: New file.
44437         * tests/unigbrk/test-u32-grapheme-len.c: New file.
44439         New module 'u8-grapheme-next'.
44440         * modules/unigbrk/u8-grapheme-next: New file.
44441         * modules/unigbrk/u8-grapheme-next-tests: New file.
44442         * lib/unigbrk.in.h: Add prototype for new function.
44443         * lib/unigbrk/u8-grapheme-next.c: New file.
44444         * tests/unigbrk/test-u8-grapheme-next.c: New file.
44446         New module 'u16-grapheme-next'.
44447         * modules/unigbrk/u16-grapheme-next: New file.
44448         * modules/unigbrk/u16-grapheme-next-tests: New file.
44449         * lib/unigbrk.in.h: Add prototype for new function.
44450         * lib/unigbrk/u16-grapheme-next.c: New file.
44451         * tests/unigbrk/test-u16-grapheme-next.c: New file.
44453         New module 'u32-grapheme-next'.
44454         * modules/unigbrk/u32-grapheme-next: New file.
44455         * modules/unigbrk/u32-grapheme-next-tests: New file.
44456         * lib/unigbrk.in.h: Add prototype for new function.
44457         * lib/unigbrk/u32-grapheme-next.c: New file.
44458         * tests/unigbrk/test-u32-grapheme-next.c: New file.
44460         New module 'u8-grapheme-prev'.
44461         * modules/unigbrk/u8-grapheme-prev: New file.
44462         * modules/unigbrk/u8-grapheme-prev-tests: New file.
44463         * lib/unigbrk.in.h: Add prototype for new function.
44464         * lib/unigbrk/u8-grapheme-prev.c: New file.
44465         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
44467         New module 'u16-grapheme-prev'.
44468         * modules/unigbrk/u16-grapheme-prev: New file.
44469         * modules/unigbrk/u16-grapheme-prev-tests: New file.
44470         * lib/unigbrk.in.h: Add prototype for new function.
44471         * lib/unigbrk/u16-grapheme-prev.c: New file.
44472         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
44474         New module 'u32-grapheme-prev'.
44475         * modules/unigbrk/u32-grapheme-prev: New file.
44476         * modules/unigbrk/u32-grapheme-prev-tests: New file.
44477         * lib/unigbrk.in.h: Add prototype for new function.
44478         * lib/unigbrk/u32-grapheme-prev.c: New file.
44479         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
44481         New module 'u8-grapheme-breaks'.
44482         * modules/unigbrk/u8-grapheme-breaks: New file.
44483         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
44484         * lib/unigbrk.in.h: Add prototype for new function.
44485         * lib/unigbrk/u8-grapheme-breaks.c: New file.
44486         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
44488         New module 'u16-grapheme-breaks'.
44489         * modules/unigbrk/u16-grapheme-breaks: New file.
44490         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
44491         * lib/unigbrk.in.h: Add prototype for new function.
44492         * lib/unigbrk/u16-grapheme-breaks.c: New file.
44493         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
44495         New module 'u32-grapheme-breaks'.
44496         * modules/unigbrk/u32-grapheme-breaks: New file.
44497         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
44498         * lib/unigbrk.in.h: Add prototype for new function.
44499         * lib/unigbrk/u32-grapheme-breaks.c: New file.
44500         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
44502         New module 'ulc-grapheme-breaks'.
44503         * modules/unigbrk/ulc-grapheme-breaks: New file.
44504         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
44505         * m4/locale-ar.m4: New file.
44506         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
44507         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
44508         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
44510 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
44512         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
44513         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
44514         modified how this file was generated before I initially submitted
44515         the module, but failed to regenerate it.  This meant that several
44516         of the level2 entries were wrong.
44517         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
44518         Remove the division-by-2 that is folded into the table now that
44519         gbrkprop.h has been regenerated properly.  Now -1 entries are
44520         handled correctly.
44522         New module 'unigbrk/uc-gbrk-prop-tests'.
44523         * modules/unigbrk/uc-gbrk-prop-tests: New file.
44524         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
44525         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
44526         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
44528 2011-01-01  Bruno Haible  <bruno@clisp.org>
44530         Avoid use of hexadecimal escapes.
44531         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
44532         instead of hexadecimal escapes.
44534 2011-01-01  Jim Meyering  <meyering@redhat.com>
44536         maint: new rule to update copyright year ranges
44537         * Makefile (update-copyright): New rule.
44539         maint: indent with TABs in Makefile
44540         * Makefile: Expand leading sequences of spaces to TABs
44542         version-etc: update the copyright year it reports
44543         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
44545 2010-12-31  Bruno Haible  <bruno@clisp.org>
44547         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
44548         * lib/isfinite.c (zerof, zerod, zerol): New variables.
44549         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
44550         zero.
44552 2010-12-31  Bruno Haible  <bruno@clisp.org>
44554         pwrite: Work around HP-UX 11.11 bug.
44555         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
44556         works and set REPLACE_PWRITE if not.
44557         * lib/pwrite.c (pwrite): Add an implementation that uses the system
44558         function.
44559         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
44561 2010-12-31  Bruno Haible  <bruno@clisp.org>
44563         pread: Work around HP-UX 11 bugs.
44564         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
44565         and set REPLACE_PREAD if not.
44566         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
44568 2010-12-31  Eric Blake  <eblake@redhat.com>
44570         nl_langinfo: fix YESEXPR on Irix 6.5
44571         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
44572         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
44573         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
44574         it.
44576 2010-12-31  Bruno Haible  <bruno@clisp.org>
44578         iconv: Document HP-UX 11 bug.
44579         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
44581 2010-12-31  Bruno Haible  <bruno@clisp.org>
44583         ldexpl: Fix link error on HP-UX 11.
44584         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
44585         LDEXPL_LIBM, using $ISNANL_LIBM.
44587 2010-12-31  Eric Blake  <eblake@redhat.com>
44589         ftello: avoid compilation failure with SunStudio c89
44590         * lib/ftello.c (ftello): Use lseek, not llseek.
44592         tests: avoid failing coreutils tests on cygwin
44593         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
44594         (create_exe_shims_): Return 0 when skipping.
44596 2010-12-31  Bruno Haible  <bruno@clisp.org>
44598         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
44599         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
44601 2010-12-31  Bruno Haible  <bruno@clisp.org>
44603         waitpid: Fix link error in C++ mode.
44604         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
44606 2010-12-31  Bruno Haible  <bruno@clisp.org>
44608         isnan: Use GCC built-ins when possible.
44609         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
44610         __builtin_isnan.
44611         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
44612         (isnan): Define using GCC built-ins for GCC >= 4.0.
44614 2010-12-31  Bruno Haible  <bruno@clisp.org>
44616         isnand: Fix mistake.
44617         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
44618         __builtin_isnand.
44620 2010-12-31  Bruno Haible  <bruno@clisp.org>
44622         open: Avoid C++ error on HP-UX 11.
44623         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
44625 2010-12-31  Bruno Haible  <bruno@clisp.org>
44627         time_r: Add missing declarations on HP-UX 11.
44628         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
44629         instead of HAVE_LOCALTIME_R.
44630         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
44631         HAVE_LOCALTIME_R always.
44632         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
44633         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
44634         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
44635         HAVE_LOCALTIME_R.
44636         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
44637         * doc/posix-functions/localtime_r.texi: Likewise.
44639 2010-12-29  Eric Blake  <eblake@redhat.com>
44641         mountlist: tweak previous commit
44642         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
44643         Reported by Paul Eggert.
44645         mountlist: fix local drive detection on cygwin
44646         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
44647         that works for cygwin.
44649 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
44651         ftoastr, snprintf: ftoastr + snprintf module
44652         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
44653         since the snprintf module now should be good enough here.
44654         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
44655         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
44656         and gl_MODULE_INDICATOR([snprintf]), but the former enables
44657         GNULIB_SNPRINTF only for the test directory, and the latter
44658         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
44659         seems to suffice by itself.
44661 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
44663         alloca: one step towards thread-safety
44664         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
44665         need for a static variable.  All callers changed.  This does not
44666         make the alloca replacement thread-safe, but it's one step.
44668         tests: minor indenting change
44669         * tests/init.sh: Sync from coreutils housekeeping patch
44670         <http://lists.gnu.org/r/coreutils/2010-12/msg00116.html>
44671         to keep lines within 80 columns.
44673 2010-12-28  Jim Meyering  <meyering@redhat.com>
44675         regex: don't infloop on persistent failing calloc
44676         * lib/regexec.c (build_trtable): Return failure indication upon
44677         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
44678         In glibc, this was fixed for version 2.13:
44679         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
44681 2010-12-28  Bruno Haible  <bruno@clisp.org>
44682             Paul Eggert <eggert@cs.ucla.edu>
44684         linkat: Make implementation robust against system behaviour variations.
44685         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
44686         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
44687         way, and to -2 if it needs a generic runtime test.
44688         * lib/linkat.c (solaris_optimized_link_immediate,
44689         solaris_optimized_link_follow): New functions.
44690         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
44691         (check_same_link): Use it.
44693 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
44695         New module 'unigbrk/base'.
44696         * modules/unigbrk/base: New file.
44697         * lib/unigbrk.in.h: New file.
44699         New module 'unigbrk/uc-gbrk-prop'.
44700         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
44701         * modules/unigbrk/uc-gbrk-prop: New file.
44702         * lib/unigbrk/gbrkprop.h: New file.
44703         * lib/unigbrk/uc-gbrk-prop.c: New file.
44705         New module 'unigbrk/uc-is-grapheme-break'.
44706         * modules/unigbrk/uc-is-grapheme-break: New file.
44707         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
44708         * lib/unigbrk/uc-is-grapheme-break.c: New file.
44709         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
44710         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
44711         * tests/unigbrk/GraphemeBreakTest.txt: New file.
44713         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
44715 2010-12-27  Bruno Haible  <bruno@clisp.org>
44717         linkat test: Avoid failure on Solaris 11 2010-11.
44718         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
44720 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
44722         utimens: work around glibc rounding bug on more platforms
44723         * lib/utimens.c (fdutimens): Work around rounding bug even if
44724         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
44725         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00298.html>.
44727 2010-12-27  Bruno Haible  <bruno@clisp.org>
44729         select tests: Improve comments.
44730         * tests/test-select.c (do_select): Add comments.
44732 2010-12-27  Bruno Haible  <bruno@clisp.org>
44734         select tests: Safer way of handling timeout.
44735         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
44736         at every invocation.
44738 2010-12-27  Bruno Haible  <bruno@clisp.org>
44740         select tests: Use 'bool' where appropriate.
44741         * tests/test-select.c (connect_to_socket): Change argument type to
44742         'bool'.
44744 2010-12-27  Bruno Haible  <bruno@clisp.org>
44746         select tests: Use existing modules.
44747         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
44748         (configure.ac): Don't test for unistd.h.
44749         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
44750         declared in <unistd.h>.
44752 2010-12-27  Bruno Haible  <bruno@clisp.org>
44754         mbrtowc: Work around a Solaris 7 bug.
44755         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
44756         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
44757         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
44758         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
44759         MBRTOWC_NULL_ARG1_BUG.
44760         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
44761         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
44762         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
44763         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
44765 2010-12-27  Jim Meyering  <meyering@redhat.com>
44767         read-file.c: tweak syntax
44768         * lib/read-file.c (fread_file): Remove space after "*" in function
44769         definitions.
44771 2010-12-27  Bruno Haible  <bruno@clisp.org>
44773         times test: Avoid gcc warnings on OSF/1.
44774         * tests/test-times.c (main): Cast printf arguments from clock_t to
44775         'long int'.
44777 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
44779         utimens: work around glibc rounding bug on older Linux kernels
44780         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
44781         on Linux with a glibc whose utimes might not work, then work
44782         around a longstanding glibc bug involving rounding rather than
44783         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
44784         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
44786 2010-12-26  Bruno Haible  <bruno@clisp.org>
44788         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
44789         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
44790         _GL_CXXALIAS_SYS.
44791         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
44793 2010-12-26  Bruno Haible  <bruno@clisp.org>
44795         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
44796         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
44797         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
44798         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
44799         looking for the declaration.
44800         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
44801         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
44802         problem.
44803         * doc/posix-functions/inet_pton.texi: Likewise.
44805 2010-12-26  Bruno Haible  <bruno@clisp.org>
44807         arpa_inet: Use the common idioms with C++ support.
44808         * lib/arpa_inet.in.h: Include c++defs.h.
44809         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
44810         support.
44811         * modules/arpa_inet (Depends-on): Add c++defs.
44812         (Makefile.am): Substitute the contents of c++defs.h.
44813         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
44814         * modules/arpa_inet-c++-tests: New file.
44815         * tests/test-arpa_inet-c++.cc: New file.
44817 2010-12-25  Bruno Haible  <bruno@clisp.org>
44819         Fix more C++ link errors on Solaris 8.
44820         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
44821         $(LIB_EACCESS).
44822         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
44823         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
44824         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
44825         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
44826         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
44828 2010-12-25  Bruno Haible  <bruno@clisp.org>
44830         printf-posix: Fix link error when a non-GCC compiler is used.
44831         * lib/stdio.in.h (printf): When not using GCC, override printf
44832         correctly.
44833         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
44835 2010-12-25  Bruno Haible  <bruno@clisp.org>
44837         strerror_r-posix: Update doc.
44838         * doc/posix-functions/strerror_r.texi: Update doc about the return
44839         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
44841 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
44843         utimens: simplify the logic of the previous change
44844         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
44845         This should not affect whether the test succeeds or fails.
44847         utimens: configure better on hosts with NFS clock skew
44848         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
44849         uses the clock of the local host.  It might use the clock of the
44850         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
44851         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
44853 2010-12-25  Bruno Haible  <bruno@clisp.org>
44855         ptsname test: Avoid failure on Solaris.
44856         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
44857         open a pseudo-terminal; don't use BSD-style ptys.
44858         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
44860 2010-12-25  Bruno Haible  <bruno@clisp.org>
44862         ptsname: Avoid ERANGE failure on some systems.
44863         * lib/ptsname.c (buffer): Increase size.
44865 2010-12-25  Bruno Haible  <bruno@clisp.org>
44867         rename, renameat: Avoid test failures at NFS mounted locations.
44868         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
44869         so that subsequent mkdir calls succeed.
44871 2010-12-25  Bruno Haible  <bruno@clisp.org>
44873         iswblank: Fix C++ link error on Solaris 8.
44874         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
44875         _GL_FUNCDECL_SYS.
44877 2010-12-25  Bruno Haible  <bruno@clisp.org>
44879         unistd: Fix C++ link error on Solaris 8.
44880         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
44882 2010-12-25  Bruno Haible  <bruno@clisp.org>
44884         readlink doc: Mention an old glibc bug.
44885         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
44887 2010-12-25  Bruno Haible  <bruno@clisp.org>
44889         fcntl-h: Fix for use of C++ on glibc systems.
44890         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
44891         also on glibc systems in C++ mode.
44892         Reported by Gary V. Vaughan <gary@gnu.org>.
44894 2010-12-25  Bruno Haible  <bruno@clisp.org>
44896         roundl-ieee: Make it work on OSF/1 5.1 with cc.
44897         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
44899 2010-12-25  Bruno Haible  <bruno@clisp.org>
44901         truncl-ieee: Make it work on OSF/1 5.1 with cc.
44902         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
44903         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
44904         test whether truncl works according to ISO C 99 with IEC 60559.
44905         * m4/truncl-ieee.m4: New file.
44906         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
44907         m4/signbit.m4.
44908         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
44910 2010-12-25  Bruno Haible  <bruno@clisp.org>
44912         ceill-ieee: Make it work on OSF/1 5.1 with cc.
44913         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
44914         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
44915         test whether ceill works according to ISO C 99 with IEC 60559.
44916         * m4/ceill-ieee.m4: New file.
44917         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
44918         m4/signbit.m4.
44919         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
44921 2010-12-25  Bruno Haible  <bruno@clisp.org>
44923         Ensure all prerequisites of <wchar.h> are included.
44924         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
44925         before <wchar.h>.
44926         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
44927         gl_MBRLEN_NUL_RETVAL): Likewise.
44928         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
44929         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
44930         AC_FUNC_MBRTOWC): Likewise.
44931         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
44932         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
44933         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
44934         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
44935         Likewise.
44936         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
44937         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
44938         (gl_WCHAR_H): Improve comments.
44939         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
44941 2010-12-25  Bruno Haible  <bruno@clisp.org>
44943         strtok_r: Fix C syntax error in autoconf macro.
44944         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
44945         characters in test program.
44947 2010-12-24  Bruno Haible  <bruno@clisp.org>
44949         ceil, trunc, round: Fix gcc warnings.
44950         * lib/ceil.c (MIN): Undefine before redefining.
44951         * lib/trunc.c (MIN): Likewise.
44952         * lib/round.c (MIN): Likewise.
44953         Include <math.h> first.
44955 2010-12-24  Bruno Haible  <bruno@clisp.org>
44957         select tests: Avoid failures on OSF/1 5.1.
44958         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
44959         failure of closing the last socket; it may fail with ECONNRESET.
44961 2010-12-24  Eric Blake  <eblake@redhat.com>
44963         stdint: avoid HP-UX 10.20 preprocessor bug
44964         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
44965         than #if.
44966         * tests/test-floor2.c (main): Likewise.
44967         Reported by Peter O'Gorman.
44969         pipe: make obsoletion transition easier
44970         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
44971         * modules/pipe (Files): Include revived file.
44972         (Include): Drop reference, to mirror getdate's behavior.
44974 2010-12-24  Bruno Haible  <bruno@clisp.org>
44976         sys_socket: Hide mismatch of declarations on NonStop Kernel.
44977         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
44978         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
44979         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
44981 2010-12-24  Bruno Haible  <bruno@clisp.org>
44983         gethostname: Ensure declaration on NonStop Kernel.
44984         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
44985         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
44987 2010-12-24  Bruno Haible  <bruno@clisp.org>
44989         sys_select: Ensure all necessary types on NonStop Kernel.
44990         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
44991         include <sys/time.h>.
44992         * doc/posix-headers/sys_select.texi: Mention that it's missing on
44993         NonStop Kernel.
44994         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
44996 2010-12-24  Bruno Haible  <bruno@clisp.org>
44998         sys_select: Remove unneeded include.
44999         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
45000         have <sys/select.h>.
45002 2010-12-24  Bruno Haible  <bruno@clisp.org>
45004         gethostname: Provide a fallback for HOST_NAME_MAX.
45005         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
45006         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
45007         instead.
45008         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45010 2010-12-24  Bruno Haible  <bruno@clisp.org>
45012         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
45013         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
45014         (SA_RESTART): Likewise.
45015         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45017 2010-12-24  Bruno Haible  <bruno@clisp.org>
45019         signal: Define NSIG.
45020         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
45021         * tests/test-signal.c (nsig): New variable.
45022         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45024 2010-12-24  Bruno Haible  <bruno@clisp.org>
45026         rename, renameat: Avoid test failures on OSF/1 5.1.
45027         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
45028         alternative error codes.
45029         * tests/test-renameat.c (main): Likewise.
45031 2010-12-24  Bruno Haible  <bruno@clisp.org>
45033         *printf: Detect large precisions bug on Solaris 10/SPARC.
45034         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
45035         by Paul Eggert.
45036         * tests/test-snprintf-posix.h (test_function): Add this test code here
45037         too.
45038         * tests/test-sprintf-posix.h (test_function): Likewise.
45039         * tests/test-vasnprintf-posix.c (test_function): Likewise.
45040         * tests/test-vasprintf-posix.c (test_function): Likewise.
45041         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
45042         around by gnulib.
45043         * doc/posix-functions/printf.texi: Likewise.
45044         * doc/posix-functions/snprintf.texi: Likewise.
45045         * doc/posix-functions/sprintf.texi: Likewise.
45046         * doc/posix-functions/vfprintf.texi: Likewise.
45047         * doc/posix-functions/vprintf.texi: Likewise.
45048         * doc/posix-functions/vsnprintf.texi: Likewise.
45049         * doc/posix-functions/vsprintf.texi: Likewise.
45050         * doc/posix-functions/dprintf.texi: Undo last commit.
45051         * doc/posix-functions/vdprintf.texi: Likewise.
45053 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
45055         tests: port test-fdutimensat.c to Solaris 8
45056         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
45057         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
45058         On Solaris 8, it fails with errno == ENOSYS, because there is no
45059         futimens (so it can't use the fd), and there is no lutimens (so it
45060         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
45062         vsnprintf: make more consistent with snprintf; doc fixes
45064         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
45065         the byte count return problem was promoted from the snprintf-posix
45066         to the snprintf module.
45067         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
45068         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
45069         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
45070         * tests/test-snprintf.c (main): Check the byte count returned.
45071         * tests/test-vsnprintf.c (main): Likewise.
45073 2010-12-23  Eric Blake  <eblake@redhat.com>
45075         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
45076         * modules/sigpipe (License): Relax license.
45078 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
45080         doc: document Solaris printf bug with large float precisions
45081         * doc/posix-functions/dprintf.texi (dprintf):
45082         * doc/posix-functions/fprintf.texi (fprintf):
45083         * doc/posix-functions/printf.texi (printf):
45084         * doc/posix-functions/snprintf.texi (snprintf):
45085         * doc/posix-functions/sprintf.texi (sprintf):
45086         * doc/posix-functions/vdprintf.texi (vdprintf):
45087         * doc/posix-functions/vfprintf.texi (vfprintf):
45088         * doc/posix-functions/vprintf.texi (vprintf):
45089         * doc/posix-functions/vsnprintf.texi (vsnprintf):
45090         * doc/posix-functions/vsprintf.texi (vsprintf):
45091         Mention that these functions mishandle large floating point
45092         precisions on Solaris 10.  The same bug is also present in Solaris
45093         8, and I assume earlier.  This causes "cd gnulib-tests; make
45094         check" to fail on Solaris 8 (and I assume, later) when building
45095         the latest coreutils, in test-vasprintf-posix's call to
45096         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
45097         the wide flavors (e.g., wprintf) so this patch just updates the
45098         documentation for the narrow ones.
45100         test-posixtm.c: add two tests
45101         * tests/test-posixtm.c: Add two tests, to highlight the
45102         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
45103         around this bug; this is merely to document it.
45105 2010-12-22  Bruno Haible  <bruno@clisp.org>
45107         getlogin_r: Work around portability problem on OSF/1.
45108         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
45109         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
45110         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
45111         test for a truncated result.
45112         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
45113         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
45114         * modules/getlogin_r (Depends-on): Add memchr.
45115         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
45117 2010-12-22  Bruno Haible  <bruno@clisp.org>
45119         ptsname: Avoid test failure on OSF/1 5.1.
45120         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
45121         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
45122         (same_slave): New function.
45123         (main): Use it to compare ptsname's result with the expected file name.
45125 2010-12-22  Bruno Haible  <bruno@clisp.org>
45127         Port extended stdio modules to HP NonStop Kernel.
45128         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
45129         macros.
45130         * lib/fbufmode.c: Update comments.
45131         * lib/fflush.c: Likewise.
45132         * lib/fpurge.c: Likewise.
45133         * lib/freadable.c: Likewise.
45134         * lib/freadahead.c: Likewise.
45135         * lib/freading.c: Likewise.
45136         * lib/freadptr.c: Likewise.
45137         * lib/freadseek.c: Likewise.
45138         * lib/fseeko.c: Likewise.
45139         * lib/fseterr.c: Likewise.
45140         * lib/fwritable.c: Likewise.
45141         * lib/fwriting.c: Likewise.
45142         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45144 2010-12-22  Bruno Haible  <bruno@clisp.org>
45146         ttyname_r: Work around bug on OSF/1 5.1.
45147         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
45148         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
45149         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
45150         present.
45151         * lib/ttyname_r.c (ttyname_r): Update comments.
45153 2010-12-22  Bruno Haible  <bruno@clisp.org>
45155         round: Implement result sign according to IEEE 754.
45156         * lib/round.c (MIN, MINUS_ZERO): New macros.
45157         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
45158         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
45159         * tests/test-round-ieee.c (main): Likewise.
45160         * tests/test-roundl-ieee.c (main): Likewise.
45162         trunc: Implement result sign according to IEEE 754.
45163         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
45164         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
45165         * tests/test-trunc2.c: Include minus-zero.h.
45166         (MINUS_ZERO): New macro.
45167         (trunc_reference): Keep in sync with lib/trunc.c.
45168         * tests/test-truncf2.c: Include minus-zero.h.
45169         (MINUS_ZERO): New macro.
45170         (truncf_reference): Keep in sync with lib/trunc.c.
45171         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
45172         * tests/test-trunc-ieee.c (main): Likewise.
45173         * tests/test-truncl-ieee.c (main): Likewise.
45175         ceil: Implement result sign according to IEEE 754.
45176         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
45177         (FUNC): Return -0.0 for -1 < x < 0.
45178         * tests/test-ceil2.c: Include minus-zero.h.
45179         (MINUS_ZERO): New macro.
45180         (ceil_reference): Keep in sync with lib/ceil.c.
45181         * tests/test-ceilf2.c: Include minus-zero.h.
45182         (MINUS_ZERO): New macro.
45183         (ceilf_reference): Keep in sync with lib/ceil.c.
45184         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
45185         * tests/test-ceil-ieee.c (main): Likewise.
45186         * tests/test-ceill-ieee.c (main): Likewise.
45188         floor: Implement result sign according to IEEE 754.
45189         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
45190         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
45191         * tests/test-floorf2.c (floorf_reference): Likewise.
45192         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
45193         * tests/test-floor-ieee.c (main): Likewise.
45194         * tests/test-floorl-ieee.c (main): Likewise.
45196 2010-12-22  Bruno Haible  <bruno@clisp.org>
45198         getaddrinfo: Update doc.
45199         * doc/posix-functions/gai_strerror.texi: Return type is also different
45200         on AIX and HP-UX.
45202 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
45204         getaddrinfo, inet_ntop: Update doc for Solaris.
45205         * doc/posix-functions/gai_strerror.texi: Return type is also an
45206         issue on Solaris 9 and earlier.
45207         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
45208         on Solaris 10 and earlier.
45210 2010-12-21  Bruno Haible  <bruno@clisp.org>
45212         New module 'roundl-ieee'.
45213         * modules/roundl-ieee: New file.
45214         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
45215         test whether roundl works according to ISO C 99 with IEC 60559.
45216         * m4/roundl-ieee.m4: New file.
45217         * modules/roundl-ieee-tests: New file.
45218         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
45219         * tests/test-roundl.c (main): Remove signbit tests.
45220         * modules/roundl-tests (Depends-on): Remove signbit.
45221         * doc/posix-functions/roundl.texi: Mention the new module.
45223 2010-12-21  Bruno Haible  <bruno@clisp.org>
45225         New module 'truncl-ieee'.
45226         * modules/truncl-ieee: New file.
45227         * modules/truncl-ieee-tests: New file.
45228         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
45229         * tests/test-truncl.c (main): Remove signbit tests.
45230         * modules/truncl-tests (Depends-on): Remove signbit.
45231         * doc/posix-functions/truncl.texi: Mention the new module.
45233 2010-12-21  Bruno Haible  <bruno@clisp.org>
45235         New module 'ceill-ieee'.
45236         * modules/ceill-ieee: New file.
45237         * modules/ceill-ieee-tests: New file.
45238         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
45239         * tests/test-ceill.c (main): Remove signbit tests.
45240         * modules/ceill-tests (Depends-on): Remove signbit.
45241         * doc/posix-functions/ceill.texi: Mention the new module.
45243 2010-12-21  Bruno Haible  <bruno@clisp.org>
45245         New module 'floorl-ieee'.
45246         * modules/floorl-ieee: New file.
45247         * modules/floorl-ieee-tests: New file.
45248         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
45249         * tests/test-floorl.c (main): Remove signbit tests.
45250         * modules/floorl-tests (Depends-on): Remove signbit.
45251         * doc/posix-functions/floorl.texi: Mention the new module.
45253 2010-12-21  Bruno Haible  <bruno@clisp.org>
45255         New module 'round-ieee'.
45256         * modules/round-ieee: New file.
45257         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
45258         whether round works according to ISO C 99 with IEC 60559.
45259         * m4/round-ieee.m4: New file.
45260         * modules/round-ieee-tests: New file.
45261         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
45262         * tests/test-round1.c (main): Remove signbit tests.
45263         * modules/round-tests (Depends-on): Remove 'signbit'.
45264         * doc/posix-functions/round.texi: Mention the new module.
45266 2010-12-21  Bruno Haible  <bruno@clisp.org>
45268         New module 'trunc-ieee'.
45269         * modules/trunc-ieee: New file.
45270         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
45271         whether trunc works according to ISO C 99 with IEC 60559.
45272         * m4/trunc-ieee.m4: New file.
45273         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
45274         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
45275         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
45276         * modules/trunc-ieee-tests: New file.
45277         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
45278         * tests/test-trunc1.c (main): Remove signbit tests.
45279         * modules/trunc-tests (Depends-on): Remove 'signbit'.
45280         * doc/posix-functions/trunc.texi: Mention the new module.
45282 2010-12-21  Bruno Haible  <bruno@clisp.org>
45284         New module 'ceil-ieee'.
45285         * modules/ceil-ieee: New file.
45286         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
45287         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
45288         ISO C 99 with IEC 60559.
45289         * m4/ceil-ieee.m4: New file.
45290         * modules/ceil (Files): Add lib/ceil.c.
45291         (Depends-on): Add 'float'.
45292         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
45293         * lib/math.in.h (ceil): New declaration.
45294         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
45295         REPLACE_CEIL.
45296         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
45297         * modules/ceil-ieee-tests: New file.
45298         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
45299         * tests/test-math-c++.cc: Check the signature of 'ceil'.
45300         * doc/posix-functions/ceil.texi: Mention the new module.
45302 2010-12-21  Bruno Haible  <bruno@clisp.org>
45304         New module 'floor-ieee'.
45305         * modules/floor-ieee: New file.
45306         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
45307         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
45308         ISO C 99 with IEC 60559.
45309         * m4/floor-ieee.m4: New file.
45310         * modules/floor (Files): Add lib/floor.c.
45311         (Depends-on): Add 'float'.
45312         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
45313         * lib/math.in.h (floor): New declaration.
45314         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
45315         REPLACE_FLOOR.
45316         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
45317         * modules/floor-ieee-tests: New file.
45318         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
45319         * tests/test-math-c++.cc: Check the signature of 'floor'.
45320         * doc/posix-functions/floor.texi: Mention the new module.
45322 2010-12-21  Bruno Haible  <bruno@clisp.org>
45324         New module 'roundf-ieee'.
45325         * modules/roundf-ieee: New file.
45326         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
45327         test whether roundf works according to ISO C 99 with IEC 60559.
45328         * m4/roundf-ieee.m4: New file.
45329         * modules/roundf-ieee-tests: New file.
45330         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
45331         * tests/test-roundf1.c (main): Remove signbit tests.
45332         * modules/roundf-tests (Depends-on): Remove 'signbit'.
45333         * doc/posix-functions/roundf.texi: Mention the new module.
45335 2010-12-21  Bruno Haible  <bruno@clisp.org>
45337         New module 'truncf-ieee'.
45338         * modules/truncf-ieee: New file.
45339         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
45340         test whether truncf works according to ISO C 99 with IEC 60559.
45341         * m4/truncf-ieee.m4: New file.
45342         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
45343         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
45344         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
45345         * modules/truncf-ieee-tests: New file.
45346         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
45347         * tests/test-truncf1.c (main): Remove signbit tests.
45348         * modules/truncf-tests (Depends-on): Remove 'signbit'.
45349         * doc/posix-functions/truncf.texi: Mention the new module.
45351 2010-12-21  Bruno Haible  <bruno@clisp.org>
45353         New module 'ceilf-ieee'.
45354         * modules/ceilf-ieee: New file.
45355         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
45356         test whether ceilf works according to ISO C 99 with IEC 60559.
45357         * m4/ceilf-ieee.m4: New file.
45358         * modules/ceilf-ieee-tests: New file.
45359         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
45360         * tests/test-ceilf1.c (main): Remove signbit tests.
45361         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
45362         * doc/posix-functions/ceilf.texi: Mention the new module.
45364 2010-12-21  Bruno Haible  <bruno@clisp.org>
45366         New module 'floorf-ieee'.
45367         * modules/floorf-ieee: New file.
45368         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
45369         test whether floorf works according to ISO C 99 with IEC 60559.
45370         * m4/floorf-ieee.m4: New file.
45371         * modules/floorf-ieee-tests: New file.
45372         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
45373         * tests/test-floorf1.c (main): Remove signbit tests.
45374         * modules/floorf-tests (Depends-on): Remove 'signbit'.
45375         * doc/posix-functions/floorf.texi: Mention the new module.
45377 2010-12-21  Bruno Haible  <bruno@clisp.org>
45379         Support for minus zero in autoconf macros.
45380         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
45381         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
45382         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
45383         * tests/minus-zero.h: Update comments.
45385 2010-12-21  Bruno Haible  <bruno@clisp.org>
45387         Tests for module 'ceil'.
45388         * modules/ceil-tests: New file.
45389         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
45390         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
45392 2010-12-21  Bruno Haible  <bruno@clisp.org>
45394         Tests for module 'floor'.
45395         * modules/floor-tests: New file.
45396         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
45397         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
45399 2010-12-21  Bruno Haible  <bruno@clisp.org>
45401         math: Fix indentation.
45402         * lib/math.in.h (floorf): Fix indentation.
45404 2010-12-21  Bruno Haible  <bruno@clisp.org>
45406         Fix cross-compilation guesses on Solaris.
45407         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
45408         not match "solaris2.10".
45409         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
45410         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
45411         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
45413 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
45415         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
45416         This fixes a problem observed with the latest coreutils snapshot
45417         that caused a test to fail on Solaris 8.  src/csplit.c's call
45418         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
45419         earlier, instead of returning the number of bytes that would have
45420         been generated; this causes csplit to incorrectly report memory
45421         exhaustion.
45422         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
45423         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
45424         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
45425         comments to match.
45426         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
45427         Fix typo in matching older versions of Solaris: "solaris2.10"
45428         is matched by the shell pattern "solaris2.[0-9]*".  This matters
45429         only for guessing while cross-compiling.
45430         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
45432 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
45434         ftoastr: fix comment again
45435         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
45436         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00149.html>.
45437         Also, simplify example a bit by using flags = 0.
45439 2010-12-20  Bruno Haible  <bruno@clisp.org>
45441         round*, trunc*: Update documentation regarding glibc.
45442         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
45443         * doc/posix-functions/round.texi: Likewise.
45444         * doc/posix-functions/roundl.texi: Likewise.
45445         * doc/posix-functions/truncf.texi: Likewise.
45446         * doc/posix-functions/trunc.texi: Likewise.
45447         * doc/posix-functions/truncl.texi: Likewise.
45449 2010-12-20  Bruno Haible  <bruno@clisp.org>
45451         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
45452         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
45453         * doc/posix-functions/round.texi: Likewise.
45454         * doc/posix-functions/roundl.texi: Likewise.
45456 2010-12-20  Bruno Haible  <bruno@clisp.org>
45458         ttyname_r: Add missing declaration on HP-UX 11.
45459         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
45460         HAVE_TTYNAME_R.
45461         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
45462         declared. Set HAVE_TTYNAME_R always.
45463         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45464         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
45465         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
45466         HAVE_TTYNAME_R.
45467         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
45469 2010-12-20  Bruno Haible  <bruno@clisp.org>
45471         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
45472         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
45473         * doc/posix-functions/getlogin_r.texi: Likewise.
45474         * tests/test-getlogin.c: Include <errno.h>.
45475         (main): Avoid test failure on HP-UX 11.11.
45476         * tests/test-getlogin_r.c (main): Likewise.
45478 2010-12-20  Bruno Haible  <bruno@clisp.org>
45480         getlogin_r: Add missing declaration on HP-UX 11.
45481         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
45482         declared also when it exists as a function.
45483         * doc/posix-functions/getlogin_r.texi: Document this workaround.
45485 2010-12-20  Bruno Haible  <bruno@clisp.org>
45487         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
45488         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
45489         through wcrtomb.
45491 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
45493         ftoastr: fix comment
45494         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
45495         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00130.html>.
45497 2010-12-19  Bruno Haible  <bruno@clisp.org>
45499         isnan: Ensure it is a macro.
45500         * lib/math.in.h (isnan): Define as a macro if not already a macro.
45501         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
45502         Solaris.
45504 2010-12-19  Bruno Haible  <bruno@clisp.org>
45506         ldexpl test: Fix link error on OSF/1 5.1.
45507         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
45509 2010-12-19  Bruno Haible  <bruno@clisp.org>
45511         wctype: Make it work in C++ mode on OSF/1 5.1.
45512         * lib/wctype.in.h (iswblank): Declare but not define here.
45513         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
45514         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
45515         * modules/wctype (Files): Add lib/iswblank.c.
45517 2010-12-19  Bruno Haible  <bruno@clisp.org>
45519         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
45520         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
45521         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
45523 2010-12-19  Bruno Haible  <bruno@clisp.org>
45525         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
45526         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
45527         _POSIX_PII_SOCKET.
45528         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
45529         * doc/posix-functions/recvfrom.texi: Likewise.
45530         * doc/posix-functions/send.texi: Likewise.
45531         * doc/posix-functions/sendto.texi: Likewise.
45533 2010-12-19  Bruno Haible  <bruno@clisp.org>
45535         tcgetsid: Add missing declaration on OSF/1 5.1.
45536         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
45537         HAVE_TCGETSID.
45538         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
45539         Don't set HAVE_TCGETSID.
45540         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
45541         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
45542         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
45543         HAVE_TCGETSID.
45544         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
45546 2010-12-19  Bruno Haible  <bruno@clisp.org>
45548         stdio: Fix problem with popen() declaration on OSF/1 5.1.
45549         * lib/stdio.in.h: During the include_next statement, let recursive
45550         includes of this file include only the system header file.
45552 2010-12-19  Bruno Haible  <bruno@clisp.org>
45554         iconv_open: Fix regression from 2010-12-04.
45555         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
45556         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
45558 2010-12-19  Bruno Haible  <bruno@clisp.org>
45560         stdbool test: Avoid a gcc warning.
45561         * tests/test-stdbool.c (main): Fail if e1 is false.
45562         Reported by Jim Meyering.
45564 2010-12-19  Jim Meyering  <meyering@redhat.com>
45566         setenv: restore to working order
45567         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
45568         mistakenly removed.
45569         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
45570         HAVE_SETENV.
45571         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
45572         HAVE_SETENV.
45574 2010-12-19  Bruno Haible  <bruno@clisp.org>
45576         Document some different function declarations on OSF/1 5.1.
45577         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
45578         * doc/posix-functions/inet_ntop.texi: Likewise.
45579         * doc/posix-functions/gethostname.texi: Likewise.
45580         * lib/unistd.in.h (gethostname): Update comment.
45582 2010-12-19  Bruno Haible  <bruno@clisp.org>
45584         doc: Mention vasprintf-posix module.
45585         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
45586         the 'vasprintf-posix' module.
45587         * doc/glibc-functions/vasprintf.texi: Likewise.
45589 2010-12-19  Bruno Haible  <bruno@clisp.org>
45591         unsetenv: Add missing declaration on OSF/1 5.1.
45592         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
45593         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
45594         Don't set HAVE_UNSETENV. In the test program, set _BSD.
45595         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
45596         not HAVE_UNSETENV.
45597         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
45598         HAVE_UNSETENV.
45599         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
45601 2010-12-19  Bruno Haible  <bruno@clisp.org>
45603         setenv: Add missing declaration on OSF/1 5.1.
45604         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
45605         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
45606         declared. Don't set HAVE_SETENV.
45607         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
45608         not HAVE_SETENV.
45609         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
45610         HAVE_SETENV.
45611         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
45613 2010-12-19  Bruno Haible  <bruno@clisp.org>
45615         nl_langinfo tests: Avoid gcc warning.
45616         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
45618 2010-12-19  Bruno Haible  <bruno@clisp.org>
45620         mknod: Avoid error in C++ mode on OSF/1 with GCC.
45621         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
45622         _GL_CXXALIAS_SYS.
45624 2010-12-19  Bruno Haible  <bruno@clisp.org>
45626         stdbool: Relax test.
45627         * tests/test-stdbool.c (e): Don't require that casts from a variable's
45628         address to 'bool' work in static initializer, for compilers other than
45629         GCC.
45631 2010-12-19  Bruno Haible  <bruno@clisp.org>
45633         ftello: Add missing declaration on OSF/1 5.1.
45634         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
45635         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
45636         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
45637         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
45638         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
45640 2010-12-19  Bruno Haible  <bruno@clisp.org>
45642         fseeko: Add missing declaration on OSF/1 5.1.
45643         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
45644         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
45645         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
45646         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
45647         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
45649 2010-12-19  Bruno Haible  <bruno@clisp.org>
45651         fchdir: Add missing declaration on OSF/1 5.1.
45652         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
45653         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
45654         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
45655         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
45656         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
45658 2010-12-19  Bruno Haible  <bruno@clisp.org>
45660         relocatable-prog-wrapper: Separate from relocatable-prog.
45661         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
45662         uninstall-relocwrapper rule here.
45663         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
45664         Reported by Ian Beckwith <ianb@erislabs.net>.
45666 2010-12-19  Bruno Haible  <bruno@clisp.org>
45668         unistr/u8-mbsnlen: Add missing dependency.
45669         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
45670         Reported by Ian Beckwith <ianb@erislabs.net>.
45672 2010-12-19  Bruno Haible  <bruno@clisp.org>
45674         iconv: Make it possible again to use this module without 'iconv-h'.
45675         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
45676         if it is not defined.
45677         Reported by Ian Beckwith <ianb@erislabs.net>.
45679 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
45681         acl: port to Solaris 8 when copying from tmpfs to ufs
45682         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
45683         error number.  Problem observed on Solaris 8 with latest
45684         coreutils, with "mv A B", where A is on a tmpfs file system and B
45685         is on a ufs file system.  This caused coreutils' mv/part-symlink
45686         test to fail.
45688         tests: set fail=0 at start
45689         * tests/init.sh (setup_): Move fail=0 initialization here ...
45690         (mktempd_): ... from here, so that tests can rely on fail being
45691         set to 0 initially.  This fixes a problem in coreutils; see:
45692         http://lists.gnu.org/r/coreutils/2010-12/msg00083.html
45694 2010-12-18  Bruno Haible  <bruno@clisp.org>
45696         memmem-simple: Stylistic changes.
45697         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
45698         Fix preprocessor directive indentation.
45700 2010-12-15  Pádraig Brady  <P@draigBrady.com>
45702         memmem, memmem-simple: reorganize and expand empty needle check
45703         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
45704         functional checks to memmem-simple so that one has a fully functional
45705         memmem by using just this module.
45706         Restrict the performance only check to the memmem module.
45707         Also expand the empty needle check to ensure the correct
45708         pointer is returned, not just a non NULL pointer.
45709         * doc/glibc-functions/memmem.texi: Rearrange the portability
45710         documentation to correlate with the rearranged checks.
45711         Clarify exactly how the memmem and memmem-simple modules
45712         relate to each other.
45714 2010-12-15  Pádraig Brady  <P@draigBrady.com>
45715             Bruno Haible  <bruno@clisp.org>
45717         Improve cross-compilation guesses for uClibc.
45718         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
45719         that uClibc does not have the glibc bug.
45720         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
45721         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
45723 2010-12-14  Eric Blake  <eblake@redhat.com>
45725         configmake: provide fallbacks for oldest supported autotools
45726         * m4/configmake.m4: New file.
45727         * modules/configmake (Files): Ship it.
45728         (configure.ac): Use it to guarantee fallbacks.
45730 2010-12-13  Pádraig Brady  <P@draigBrady.com>
45732         read-file: Improve handling of large files
45733         * lib/read-file.c (fread_file): Minimize realloc()s
45734         for regular files, and better manage sizes around SIZE_MAX.
45736 2010-12-13  Eric Blake  <eblake@redhat.com>
45738         cloexec, fcntl: relax license
45739         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
45740         consent from all contributors.
45741         * modules/fcntl (License): Likewise.
45743 2010-12-10  Bruno Haible  <bruno@clisp.org>
45745         Tests for module 'pipe-posix'.
45746         * modules/pipe-posix-tests: New file.
45747         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
45749 2010-12-10  Bruno Haible  <bruno@clisp.org>
45751         pipe-posix: Make it work in C++ mode.
45752         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
45753         (pipe): Use common idiom, not a macro definition.
45754         * lib/pipe.c: New file.
45755         * m4/pipe.m4: New file.
45756         * modules/pipe-posix (Description): Enhance.
45757         (Files): Add lib/pipe.c, m4/pipe.m4.
45758         (configure.ac): Invoke gl_FUNC_PIPE.
45759         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
45760         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
45761         * tests/test-unistd-c++.cc: Check the signature of pipe.
45763 2010-12-10  Bruno Haible  <bruno@clisp.org>
45765         Rename module 'pipe' to 'spawn-pipe'.
45766         * modules/spawn-pipe: New file, renamed from modules/pipe.
45767         (Files, configure.ac, Makefile.am): Update.
45768         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
45769         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
45770         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
45771         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
45772         "spawn-pipe.h" instead of "pipe.h".
45773         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
45774         to gl_SPAWN_PIPE.
45775         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
45776         (Files, Makefile.am): Update.
45777         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
45778         Update.
45779         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
45780         Include "spawn-pipe.h" instead of "pipe.h".
45781         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
45782         * lib/javacomp.c: Likewise.
45783         * lib/javaversion.c: Likewise.
45784         * lib/pipe-filter-gi.c: Likewise.
45785         * lib/pipe-filter-ii.c: Likewise.
45786         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
45787         * modules/javacomp (Depends-on): Likewise.
45788         * modules/javaversion (Depends-on): Likewise.
45789         * modules/pipe-filter-gi (Depends-on): Likewise.
45790         * modules/pipe-filter-ii (Depends-on): Likewise.
45791         * MODULES.html.sh (Executing programs): Update.
45792         * NEWS: Mention the change.
45794 2010-12-10  Eric Blake  <eblake@redhat.com>
45796         pipe-posix: new module
45797         * modules/pipe-posix: New file.
45798         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
45799         (gl_UNISTD_H): Check for declaration.
45800         * modules/unistd (Makefile.am): Substitute it.
45801         * lib/unistd.in.h (pipe): Provide it for mingw.
45802         * doc/posix-functions/pipe.texi (pipe): Update documentation.
45803         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
45805 2010-12-07  Bruno Haible  <bruno@clisp.org>
45807         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
45808         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
45809         u8_strcmp_gnu.
45810         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
45812 2010-12-06  Bruno Haible  <bruno@clisp.org>
45814         Update internal documentation.
45815         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
45817 2010-12-04  Bruno Haible  <bruno@clisp.org>
45819         Put more information about failed tests into the test return codes.
45820         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
45821         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
45822         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
45823         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
45824         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
45825         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
45826         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
45827         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
45828         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
45829         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
45830         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
45831         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
45832         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
45833         * m4/stdint.m4 (gl_STDINT_H): Likewise.
45834         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
45835         returns a bit mask.
45836         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
45837         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
45838         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
45839         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
45840         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
45841         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
45842         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
45843         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
45844         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
45845         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
45846         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
45847         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
45848         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
45849         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
45850         * m4/link.m4 (gl_FUNC_LINK): Likewise.
45851         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
45852         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
45853         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
45854         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
45855         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
45856         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
45857         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
45858         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
45859         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
45860         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
45861         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
45862         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
45863         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
45864         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
45865         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
45866         gl_PRINTF_PRECISION): Likewise.
45867         * m4/regex.m4 (gl_REGEX): Likewise.
45868         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
45869         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
45870         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
45871         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
45872         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
45873         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
45874         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
45875         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
45876         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
45877         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
45878         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
45879         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
45880         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
45881         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
45882         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
45883         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
45884         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
45885         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
45886         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
45887         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
45888         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
45889         enumerated value.
45890         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
45892 2010-12-04  Bruno Haible  <bruno@clisp.org>
45894         Update for Solaris 11 2010-11.
45895         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
45896         Express, released in November 2010.
45898 2010-12-04  Bruno Haible  <bruno@clisp.org>
45900         nproc: Relax license.
45901         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
45902         and Paul Eggert.
45903         Requested by Ludovic Courtès <ludo@gnu.org>.
45905 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
45907         utimecmp: fine-grained src to nearby coarse-grained dest
45909         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
45910         and the source is on a file system with higher-resolution time
45911         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
45912         not work, and the time stamps are close together, the algorithm to
45913         determine the exact resolution from the read-back mtime was buggy:
45914         it had a "!=" where it should have had an "==".  This bug has been
45915         in the code ever since it was introduced to gnulib.
45916         Problem reported by Dan Jacobson in
45917         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
45919 2010-11-30  Bruno Haible  <bruno@clisp.org>
45921         strerror_r-posix: Fix autoconf test.
45922         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
45924 2010-11-28  Bruno Haible  <bruno@clisp.org>
45925             Paul Eggert  <eggert@cs.ucla.edu>
45927         Tests for module 'getdomainname'.
45928         * modules/getdomainname-tests: New file.
45929         * tests/test-getdomainname.c: New file, based on
45930         tests/test-gethostname.c.
45932 2010-11-28  Bruno Haible  <bruno@clisp.org>
45933             Paul Eggert  <eggert@cs.ucla.edu>
45935         getdomainname: Use the system function when possible.
45936         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
45937         (getdomainname): Replace if needed. Provide the declaration if it is
45938         missing. Don't use _GL_CXXALIAS_SYS_CAST.
45939         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
45940         (getdomainname): When the system has getdomainname, call the system
45941         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
45942         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
45943         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
45944         found in libnsl. Look for the declaration also in <netdb.h>. Replace
45945         the function if its second argument is of type 'int' or if it is found
45946         in libnsl.
45947         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
45948         <sys/systeminfo.h> and sysinfo().
45949         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
45950         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45951         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
45952         HAVE_GETDOMAINNAME.
45953         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
45954         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
45955         * doc/glibc-functions/getdomainname.texi: Document the problems with
45956         the getdomainname declaration.
45958 2010-11-28  Bruno Haible  <bruno@clisp.org>
45960         sys_socket: Ensure ss_family field on AIX.
45961         * lib/sys_socket.in.h (ss_family): New macro definition.
45962         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
45963         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
45964         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
45965         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
45966         * modules/sys_socket (Makefile.am): Substitute
45967         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
45968         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
45970 2010-11-27  Bruno Haible  <bruno@clisp.org>
45972         readline: Improve configure output.
45973         * m4/readline.m4 (gl_FUNC_READLINE): Make the
45974         "checking for readline..." result understandable.
45976 2010-11-27  Bruno Haible  <bruno@clisp.org>
45978         *printf-posix: Detect a bug on Solaris 10/x86.
45979         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
45980         for floating-point output.
45981         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
45982         directive.
45983         * tests/test-snprintf-posix.h (test_function): Likewise.
45984         * tests/test-sprintf-posix.h (test_function): Likewise.
45985         * tests/test-vasprintf-posix.c (test_function): Likewise.
45986         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
45987         * doc/posix-functions/printf.texi: Likewise.
45988         * doc/posix-functions/snprintf.texi: Likewise.
45989         * doc/posix-functions/sprintf.texi: Likewise.
45990         * doc/posix-functions/vfprintf.texi: Likewise.
45991         * doc/posix-functions/vprintf.texi: Likewise.
45992         * doc/posix-functions/vsnprintf.texi: Likewise.
45993         * doc/posix-functions/vsprintf.texi: Likewise.
45994         * doc/glibc-functions/obstack_printf.texi: Likewise.
45995         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
45997 2010-11-27  Bruno Haible  <bruno@clisp.org>
45999         Fix link error when module libunistring-optional is in use.
46000         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
46001         * modules/striconveha-tests (Makefile.am): Likewise.
46003 2010-11-27  Bruno Haible  <bruno@clisp.org>
46005         regex: Mention link dependencies.
46006         * modules/regex (Link): New section.
46007         * modules/rpmatch (Link): Likewise.
46008         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
46010 2010-11-27  Bruno Haible  <bruno@clisp.org>
46012         ftoastr: Fix compilation error on Solaris.
46013         * lib/ftoastr.c: Include <config.h>.
46015 2010-11-27  Bruno Haible  <bruno@clisp.org>
46017         getloadavg: Update documentation.
46018         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
46020 2010-11-27  Bruno Haible  <bruno@clisp.org>
46022         sys_socket: Fix test whether the functions are declared.
46023         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
46024         not <sys/select.h>.
46026 2010-11-27  Bruno Haible  <bruno@clisp.org>
46028         getpass: Make sure to get system declaration on some platforms.
46029         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
46030         gl_USE_SYSTEM_EXTENSIONS.
46031         * modules/getpass (Depends-on): Add extensions.
46033 2010-11-26  Bruno Haible  <bruno@clisp.org>
46035         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
46036         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
46037         'iconv' module is present.
46038         (ICONV_CONST): New macro.
46039         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
46040         ICONV_CONST.
46041         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
46042         set ICONV_CONST.
46043         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
46044         here.
46045         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
46046         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
46047         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
46048         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
46049         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
46050         present.
46052 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
46054         ftoastr: comment fix
46055         * lib/ftoastr.c: "little" -> "little or no" in comment
46057 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
46059         stdint: port to GCC 4.3 + OSX + Octave
46060         On this platform, stdint.h is buggy and defines int64_t to long
46061         long int.  The replacement defined it to long int, causing
46062         problems with C++ style name mangling.  Instead, trust the system
46063         definition if INT64_MAX is defined, and likewise for the unsigned
46064         variant.   Problem reported by Jarno Rajahalme in
46065         <http://lists.gnu.org/r/bug-gnulib/2010-04/msg00143.html>.
46066         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
46067         and don't mess with int64_t and INT64_MAX in this case.
46068         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
46070 2010-11-24  Bruno Haible  <bruno@clisp.org>
46072         doc: Corrections regarding MacOS X 10.4 and 10.5.
46073         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
46074         MacOS X.
46075         Reported by Simon Josefsson.
46077 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
46079         Uninstall ".bin" files installed by relocwrapper.
46080         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
46081         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
46082         unless it is already there.
46084 2010-11-21  Bruno Haible  <bruno@clisp.org>
46086         Update for NetBSD 5.0.
46087         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
46088         NetBSD; the test fails on NetBSD 5.0.
46089         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
46090         about NetBSD.
46092 2010-11-21  Bruno Haible  <bruno@clisp.org>
46094         Update for HP-UX 11.23 and HP-UX 11.31.
46095         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
46096         HP-UX.
46098 2010-11-21  Bruno Haible  <bruno@clisp.org>
46100         Update for MacOS X 10.5.
46101         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
46102         MacOS X; the test fails on MacOS X 10.5.8.
46103         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
46104         about MacOS X.
46106 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
46108         bootstrap: add bootstrap_sync option.
46109         See discussion at
46110         <http://lists.gnu.org/r/bug-gnulib/2010-10/msg00369.html>,
46111         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00200.html>.
46112         * build-aux/bootstrap: Accept --bootstrap-sync to update
46113         bootstrap if it is not identical to the local gnulib's
46114         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
46115         enable this by default.  Accept --no-bootstrap-sync to disable
46116         it.
46118 2010-11-20  Bruno Haible  <bruno@clisp.org>
46120         Ensure that <features.h> is included before __GLIBC__ is tested.
46121         * lib/printf-parse.h: Include <features.h>.
46122         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
46123         Reported by Mike Frysinger <vapier@gentoo.org>.
46125         Ensure that <features.h> is included before __GLIBC__ is tested.
46126         * lib/wchar.in.h: Include <features.h>.
46127         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
46128         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
46129         Reported by Mike Frysinger <vapier@gentoo.org>.
46131         Ensure that <features.h> is included before __GLIBC__ is tested.
46132         * lib/arpa_inet.in.h: Include <features.h>.
46133         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
46134         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
46135         Reported by Mike Frysinger <vapier@gentoo.org>.
46137         Ensure that <features.h> is included before __GLIBC__ is tested.
46138         * build-aux/link-warning.h: Include <features.h>.
46139         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
46140         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
46141         Reported by Mike Frysinger <vapier@gentoo.org>.
46143         Ensure that <features.h> is included before __GLIBC__ is tested.
46144         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
46145         Reported by Mike Frysinger <vapier@gentoo.org>.
46147 2010-11-20  Bruno Haible  <bruno@clisp.org>
46149         memmem: Fix autoconf test.
46150         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
46152 2010-11-20  Bruno Haible  <bruno@clisp.org>
46154         Port to uClibc.
46155         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
46156         * lib/fcntl.in.h: Likewise.
46157         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
46158         * lib/mbrtowc.c (mbrtowc): Likewise.
46159         * lib/relocatable.c (find_shared_library_fullname): Likewise.
46160         * lib/strerror_r.c: Likewise.
46161         * lib/unistr/u8-strnlen.c: Likewise.
46162         * lib/vasnprintf.c (decimal_point_char): Likewise.
46163         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
46164         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
46165         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
46166         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
46167         * tests/test-sigaction.c (handler, main): Likewise.
46168         * lib/freading.h: Treat uClibc like a non-glibc platform.
46169         * lib/freading.c: Likewise.
46170         * lib/gettext.h: Likewise.
46171         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
46172         Likewise.
46173         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
46174         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
46175         * lib/propername.c (proper_name_utf8): Likewise.
46176         * lib/spawn.in.h: Likewise.
46177         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
46178         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
46179         mem_cd_iconveh_internal): Likewise.
46180         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
46181         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
46182         strstr, strcasestr): Likewise.
46183         * lib/unicodeio.c (unicode_to_mb): Likewise.
46184         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
46185         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
46186         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
46187         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
46188         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
46189         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
46190         * lib/unistr/u8-stpncpy.c: Likewise.
46191         * lib/vasnprintf.c (VASNPRINTF): Likewise.
46192         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
46193         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
46194         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
46195         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
46196         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
46197         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
46198         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
46199         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
46200         Likewise.
46201         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
46202         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
46203         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
46204         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
46205         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
46206         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
46207         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
46208         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
46209         * tests/test-getopt.h (OPTIND_MIN): Likewise.
46210         * tests/test-striconveha.c (main): Likewise.
46211         * tests/test-vasnprintf-posix.c (test_function): Likewise.
46212         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
46213         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
46214         * doc/posix-functions/getline.texi: Likewise.
46215         Reported by Mike Frysinger <vapier@gentoo.org>.
46217 2010-11-20  Bruno Haible  <bruno@clisp.org>
46219         nproc: Fix condition.
46220         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
46221         HAVE_PTHREAD_AFFINITY_NP.
46223 2010-11-20  Bruno Haible  <bruno@clisp.org>
46225         Fix a comment.
46226         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
46228 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
46230         ftoastr: don't assume snprintf
46231         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
46232         Implement a subset of snprintf here, by using sprintf safely.
46233         * modules/ftoastr (Depends-on): Remove snprintf.
46235 2010-11-19  Jim Meyering  <meyering@redhat.com>
46237         test-rename.h: fix compilation failure
46238         * tests/test-rename.h (test_rename): Add omitted "}".
46240 2010-11-17  Jim Meyering  <meyering@redhat.com>
46242         maint.mk: add a URL discussing the no-@acronym policy
46243         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
46245 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
46247         ftoastr: depend on snprintf, improve comments
46248         * lib/ftoastr.c: Also mention Loitsch's draft.
46249         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
46250         needed in the current implementation, but it might simplify
46251         speeding up the code later.
46252         * modules/ftoastr: Depend on snprintf; this improves portability.
46253         Suggested by Bruno Haible in the same email.
46255         ftoastr: port to hosts lacking strtof and strtold
46256         Problem reported by Bruno Haible in
46257         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00242.html>.
46258         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
46259         environment and strtold (and presumably strtof) are not available.
46260         * modules/ftoastr (Files): Add m4/c-strtod.m4.
46261         (configure.ac): Require gl_C99_STRTOLD.
46263 2010-11-18  Bruno Haible  <bruno@clisp.org>
46265         c-strtold: Avoid link error on AIX 7.
46266         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
46267         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
46268         (gl_C_STRTOLD): Test whether strtold_l exists.
46269         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46271 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
46273         intprops: new macro INT_BITS_STRLEN_BOUND
46274         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
46275         ftoastr.h.  This exposes an internal of intprops.h that was formerly
46276         not exposed.  Also, it uses a slightly tighter bound than before;
46277         though this makes no practical difference, we might as well be as
46278         tight as we easily can.
46280         ftoastr: new module, for lossless conversion of floats to short strings
46281         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
46282         * modules/ftoastr: New files.
46284 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
46286         bootstrap: port to Solaris sed
46287         * build-aux/bootstrap (get_version): Port to Solaris sed.
46288         See Ralf Wildenhues's note in
46289         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00156.html>.
46291 2010-11-14  Jim Meyering  <meyering@redhat.com>
46293         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
46294         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
46295         and move definition closer to sole use.
46297 2010-11-13  Jim Meyering  <meyering@redhat.com>
46299         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
46300         Now we require at least autoconf-2.59, which means the work-around
46301         is no longer needed.
46302         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
46303         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
46304         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
46305         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
46306         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
46308 2010-11-13  Bruno Haible  <bruno@clisp.org>
46310         rename, renameat: Avoid test failures at NFS mounted locations.
46311         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
46312         functions.
46313         (test_rename): Use assert_nonexistent.
46314         * tests/test-rename.c: Include <dirent.h>.
46315         * tests/test-renameat.c: Likewise.
46316         Reported by Gary V. Vaughan <gary@gnu.org>.
46318         rename, renameat: Document Linux bug with NFS
46319         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00154.html>.
46320         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
46321         * doc/posix-functions/renameat.texi: Likewise.
46322         Suggested by Eric Blake.
46324 2010-11-13  Bruno Haible  <bruno@clisp.org>
46326         rename test: Add comments.
46327         * tests/test-rename.h (test_rename): Add structure and comments.
46329 2010-11-13  Eric Blake  <eblake@redhat.com>
46331         maintainer-makefile: cover a few more files
46332         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
46333         scripts generated within C files, for libvirt.
46335 2010-11-13  Bruno Haible  <bruno@clisp.org>
46337         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
46338         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
46339         character, return the number of bytes that belong together, not always
46340         1.
46341         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
46342         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
46343         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
46344         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
46345         number of bytes of an invalid character.
46346         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
46347         (main): Invoke it.
46348         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
46349         results.
46350         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
46351         malformed byte sequences.
46352         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
46353         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
46354         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
46355         Reported by Ben Pfaff and Paolo Bonzini.
46357 2010-11-13  Bruno Haible  <bruno@clisp.org>
46359         openat: Work around glibc bug with fchownat() and empty file names.
46360         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
46361         (gl_FUNC_FCHOWNAT): Invoke it.
46362         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
46363         * doc/posix-functions/fchownat.texi: Document the glibc bug.
46364         Reported by Gary V. Vaughan <gary@gnu.org>.
46366 2010-11-13  Bruno Haible  <bruno@clisp.org>
46368         openat: Ensure autoconf macro ordering.
46369         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
46370         gl_USE_SYSTEM_EXTENSIONS.
46371         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
46373 2010-11-13  Bruno Haible  <bruno@clisp.org>
46375         Update comments.
46376         * lib/unistr/u8-check.c: Update file name in comments.
46377         * lib/unistr/u8-mblen.c: Likewise.
46378         * lib/unistr/u8-prev.c: Likewise.
46379         * lib/unistr/u8-strmblen.c: Likewise.
46380         * lib/unistr/u8-strmbtouc.c: Likewise.
46382 2010-11-13  Jim Meyering  <meyering@redhat.com>
46384         tests: avoid test failure on Solaris 10 due to lack of PATH export
46385         * tests/test-update-copyright.sh: Don't forget to export PATH.
46387         init.sh: ensure that IFS is defined, just in case...
46388         * tests/init.sh (setup_): Ensure that IFS is defined,
46389         so that saving and restoring it works as expected.  This
46390         appears to be useful at least for an old version of dash
46391         from a long time ago (RH 6).  See here for details:
46392         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
46394         maint.mk: tighten "test a == b" check
46395         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
46396         test to files that contain something like #!/bin/sh.
46397         Without this, coreutils would get two false positives in
46398         the comments of C source files.
46400 2010-11-12  Eric Blake  <eblake@redhat.com>
46402         bootstrap: fix typo in previous attempt
46403         * build-aux/bootstrap (buildreq): Correct the grouping.
46404         Reported by Paul Eggert.
46406         maintainer-makefile: prohibit test x == x
46407         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
46408         Based on a report by Matthias Bolte.
46410         bootstrap: allow FreeBSD gzip
46411         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
46412         which has no '.' and goes to stderr.
46413         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
46414         Reported by Matthias Bolte.
46416         maintainer-makefile: check for i18n setup
46417         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
46418         will likely work.
46420 2010-11-12  Bruno Haible  <bruno@clisp.org>
46422         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
46423         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
46424         * lib/nanosleep.c (nanosleep): Likewise.
46426 2010-11-11  Bruno Haible  <bruno@clisp.org>
46428         fcntl-h: Fix for use of C++ on glibc systems.
46429         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
46430         also on glibc systems in C++ mode.
46431         Reported by Gary V. Vaughan <gary@gnu.org>.
46433 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
46435         mknod: avoid false failure with dash
46436         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
46438 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
46440         unlink: Fix "is it should" typo in diagnostic.
46441         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
46442         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00106.html>.
46444 2010-11-11  Bruno Haible  <bruno@clisp.org>
46446         Tests for module 'strerror_r-posix'.
46447         * modules/strerror_r-posix-tests: New file.
46448         * tests/test-strerror_r.c: New file.
46449         * tests/test-string-c++.cc: Check the signature of strerror_r.
46451         New module 'strerror_r-posix'.
46452         * lib/string.in.h (strerror_r): New declaration.
46453         * lib/strerror_r.c: New file.
46454         * m4/strerror_r.m4: New file.
46455         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
46456         of strerror_r.
46457         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
46458         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
46459         * modules/strerror_r-posix: New file.
46460         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
46461         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
46462         * doc/posix-functions/strerror_r.texi: Mention the new module and the
46463         portability problems.
46465 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
46467         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
46468         line is also considered for output. Quoted function name in shell
46469         command, so temporary files for functions like MyClass::operator()
46470         are removed correctly without errors.
46472 2010-11-09  Bruno Haible  <bruno@clisp.org>
46474         * doc/posix-functions/strerror.texi: List more failing platforms.
46476         * doc/posix-functions/strerror.texi: Add a comment.
46478 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
46480         fdopendir: fix bug on MacOS X when low on file descriptors
46482         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
46483         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
46484         All callers changed.
46485         (fdopendir): Invoke save_cwd at the top level, not after using
46486         multiple dup() calls to use up file descriptors.  Then retry
46487         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
46488         less than the maximum number of open file descriptors, because
46489         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
46490         on Mac OS X 10.6.4 for tar 1.24
46491         <http://lists.gnu.org/r/bug-tar/2010-10/msg00084.html>
46492         <http://lists.gnu.org/r/bug-tar/2010-11/msg00000.html>
46493         and for tar 1.25
46494         <http://lists.gnu.org/r/bug-tar/2010-11/msg00038.html>.
46496 2010-11-07  Bruno Haible  <bruno@clisp.org>
46498         vasnprintf: Support I flag on glibc systems.
46499         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
46500         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
46501         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
46502         snprintf function.
46503         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
46504         glibc systems.
46505         * tests/test-vasnprintf-posix3.c: New file.
46506         * modules/vasnprintf-posix-tests (Files): Add it.
46507         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
46509 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
46511         [html] Fix copy/paste bug: Use unique name for compiler warnings.
46512         * MODULES.html.sh: For compiler warnings, use name
46513         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
46515 2010-11-05  Eric Blake  <eblake@redhat.com>
46517         ceil, floor: avoid spurious failure with icc
46518         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
46519         [denormals-as-zero] when optimizing without -mieee-fp option.
46520         * tests/test-floorf2.c (floorf_reference): Likewise.
46521         * tests/test-ceilf1.c (dummy): New function.
46522         (main): Use it to outsmart icc's optimization.
46523         * tests/test-floorf1.c (dummy, main): Likewise.
46525         tests: require working signbit
46526         * modules/ceilf-tests (Depends-on): Add signbit.
46527         * modules/ceill-tests (Depends-on): Likewise.
46528         * modules/floorf-tests (Depends-on): Likewise.
46529         * modules/floorl-tests (Depends-on): Likewise.
46530         * modules/round-tests (Depends-on): Likewise.
46531         * modules/roundf-tests (Depends-on): Likewise.
46532         * modules/roundl-tests (Depends-on): Likewise.
46533         * modules/trunc-tests (Depends-on): Likewise.
46534         * modules/truncf-tests (Depends-on): Likewise.
46535         * modules/truncl-tests (Depends-on): Likewise.
46537         strtod: work around icc bug
46538         * lib/strtod.c (minus_zero): Define to working value.
46539         (strtod): Use it to avoid icc bug.
46541         copysign: enhance tests
46542         * modules/copysign-tests (Files): Add minus-zero.h.
46543         * tests/test-copysign.c (main): Also test zeros.
46545 2010-11-04  Eric Blake  <eblake@redhat.com>
46547         ceil, floor, round, trunc: enhance tests of -0
46548         * tests/test-ceilf1.c (main): Ensure correct sign of result.
46549         * tests/test-ceill.c (main): Likewise.
46550         * tests/test-floorf1.c (main): Likewise.
46551         * tests/test-floorl.c (main): Likewise.
46552         * tests/test-round1.c (main): Likewise.
46553         * tests/test-roundf1.c (main): Likewise.
46554         * tests/test-roundl.c (main): Likewise.
46555         * tests/test-trunc1.c (main): Likewise.
46556         * tests/test-truncf1.c (main): Likewise.
46557         * tests/test-truncl.c (main): Likewise.
46559 2010-11-04  Eric Blake  <eblake@redhat.com>
46561         frexp, tests: work around ICC bug with -zero
46562         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
46563         works with more compilers.
46564         * tests/minus-zero.h: New file.
46565         * modules/ceilf-tests (Files): Include it.
46566         * modules/ceill-tests (Files): Likewise.
46567         * modules/floorf-tests (Files): Likewise.
46568         * modules/floorl-tests (Files): Likewise.
46569         * modules/frexp-nolibm-tests (Files): Likewise.
46570         * modules/frexp-tests (Files): Likewise.
46571         * modules/frexpl-nolibm-tests (Files): Likewise.
46572         * modules/frexpl-tests (Files): Likewise.
46573         * modules/isnan-tests (Files): Likewise.
46574         * modules/isnand-nolibm-tests (Files): Likewise.
46575         * modules/isnand-tests (Files): Likewise.
46576         * modules/isnanf-nolibm-tests (Files): Likewise.
46577         * modules/isnanf-tests (Files): Likewise.
46578         * modules/isnanl-nolibm-tests (Files): Likewise.
46579         * modules/isnanl-tests (Files): Likewise.
46580         * modules/round-tests (Files): Likewise.
46581         * modules/roundf-tests (Files): Likewise.
46582         * modules/roundl-tests (Files): Likewise.
46583         * modules/ldexpl-tests (Files): Likewise.
46584         * modules/signbit-tests (Files): Likewise.
46585         * modules/snprintf-posix-tests (Files): Likewise.
46586         * modules/sprintf-posix-tests (Files): Likewise.
46587         * modules/strtod-tests (Files): Likewise.
46588         * modules/trunc-tests (Files): Likewise.
46589         * modules/truncf-tests (Files): Likewise.
46590         * modules/truncl-tests (Files): Likewise.
46591         * modules/vsnprintf-posix-tests (Files): Likewise.
46592         * modules/vsprintf-posix-tests (Files): Likewise.
46593         * modules/vasnprintf-posix-tests (Files): Likewise.
46594         * modules/vasprintf-posix-tests (Files): Likewise.
46595         * tests/test-ceilf1.c (main): Use it.
46596         * tests/test-ceill.c (main): Likewise.
46597         * tests/test-floorf1.c (main): Likewise.
46598         * tests/test-floorl.c (main): Likewise.
46599         * tests/test-frexp.c (main): Likewise.
46600         * tests/test-frexpl.c (main): Likewise.
46601         * tests/test-isnan.c (main): Likewise.
46602         * tests/test-isnand.h (main): Likewise.
46603         * tests/test-isnanf.h (main): Likewise.
46604         * tests/test-isnanl.h (main): Likewise.
46605         * tests/test-ldexpl.c (main): Likewise.
46606         * tests/test-round.c (main): Likewise.
46607         * tests/test-roundf.c (main): Likewise.
46608         * tests/test-roundl.c (main): Likewise.
46609         * tests/test-signbit.c (test_signbitf, test_signbitd)
46610         (test_signbitl): Likewise.
46611         * tests/test-snprintf-posix.h (test_function): Likewise.
46612         * tests/test-sprintf-posix.h (test_function): Likewise.
46613         * tests/test-strtod.c (main): Likewise.
46614         * tests/test-trunc1.c (main): Likewise.
46615         * tests/test-truncf1.c (main): Likewise.
46616         * tests/test-truncl.c (main): Likewise.
46618         isnanl: work around icc bug
46619         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
46621 2010-11-03  Eric Blake  <eblake@redhat.com>
46623         tests: fix compiler warnings
46624         * tests/test-getopt.h (test_getopt): Fix condition.
46625         * tests/test-getopt_long.h (test_getopt_long): Likewise.
46626         * tests/test-pipe2.c (main): Likewise.
46627         * tests/test-quotearg-simple.c (main): Avoid icc warning.
46629         utimens: fix broken m4 test
46630         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
46632 2010-10-28  Bruno Haible  <bruno@clisp.org>
46634         posix_spawn*, getdtablesize: Relax license.
46635         * modules/posix_spawn (License): Change to LGPLv2+.
46636         * modules/posix_spawnp (License): Likewise.
46637         * modules/posix_spawn-internal (License): Likewise.
46638         * modules/posix_spawnattr_init (License): Likewise.
46639         * modules/posix_spawnattr_getflags (License): Likewise.
46640         * modules/posix_spawnattr_setflags (License): Likewise.
46641         * modules/posix_spawnattr_getpgroup (License): Likewise.
46642         * modules/posix_spawnattr_setpgroup (License): Likewise.
46643         * modules/posix_spawnattr_getschedparam (License): Likewise.
46644         * modules/posix_spawnattr_setschedparam (License): Likewise.
46645         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
46646         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
46647         * modules/posix_spawnattr_getsigdefault (License): Likewise.
46648         * modules/posix_spawnattr_setsigdefault (License): Likewise.
46649         * modules/posix_spawnattr_getsigmask (License): Likewise.
46650         * modules/posix_spawnattr_setsigmask (License): Likewise.
46651         * modules/posix_spawnattr_destroy (License): Likewise.
46652         * modules/posix_spawn_file_actions_init (License): Likewise.
46653         * modules/posix_spawn_file_actions_addclose (License): Likewise.
46654         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
46655         * modules/posix_spawn_file_actions_addopen (License): Likewise.
46656         * modules/posix_spawn_file_actions_destroy (License): Likewise.
46657         * modules/getdtablesize (License): Likewise.
46658         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
46660 2010-10-26  Bruno Haible  <bruno@clisp.org>
46662         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
46663         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
46664         Cygwin and mingw.
46665         Suggested by Eric Blake.
46667 2010-10-26  Bruno Haible  <bruno@clisp.org>
46669         stdio: Work around compilation error due to renameat() on Solaris 10.
46670         * lib/stdio.in.h: Include <unistd.h> on Solaris.
46671         * lib/renameat.c: Don't include <unistd.h> here.
46672         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
46673         Reported by Paul Eggert and Eric Blake.
46675 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
46677         renameat: port to Solaris 10, which declares renameat in unistd.h
46679         * lib/renameat.c: Include unistd.h before stdio.h, because
46680         Solaris 10 declares renameat in unistd.h.  Problem encountered
46681         when building GNU tar 1.24 on Solaris 10.
46683 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
46685         fdopendir: fix C89 compilation
46686         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
46687         compilers.
46689 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
46691         inttostr: simplify by removing unnecessary redundancy
46692         * lib/anytostr.c: Don't include verify.h.
46693         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
46694         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
46695         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
46696         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
46697         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
46698         Likewise.
46699         * modules/inttostr (Depends-on): Remove 'verify'.
46701 2010-10-23  Bruno Haible  <bruno@clisp.org>
46703         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
46704         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
46705         Reported by Eric Blake.
46707 2010-10-23  Bruno Haible  <bruno@clisp.org>
46709         Tests: Fix LOCALE_JA on MirBSD 10.
46710         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
46711         to an UTF-8 locale.
46712         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
46713         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
46714         Reported by Eric Blake.
46716 2010-10-21  Bruno Haible  <bruno@clisp.org>
46718         nl_langinfo test: Avoid test failure on NetBSD 5.
46719         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
46720         Reported by Eric Blake.
46722 2010-10-21  Eric Blake  <eblake@redhat.com>
46724         c-stack: work around libsigsegv 2.8 bug
46725         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
46726         overflow on at least PowerPC64.
46728 2010-10-17  Bruno Haible  <bruno@clisp.org>
46730         userspec: Drop redundant file.
46731         * modules/userspec (Files): Remove lib/inttostr.h.
46733 2010-10-17  Bruno Haible  <bruno@clisp.org>
46735         nl_langinfo tests: Silence some warnings.
46736         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
46737         Reported by Jim Meyering.
46739 2010-10-17  Bruno Haible  <bruno@clisp.org>
46741         Make use of GCC's attribute __alloc_size__.
46742         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
46743         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
46744         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
46745         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
46746         __alloc_size__.
46747         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
46748         Suggested by Jim Meyering.
46750 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
46752         bootstrap: anchor .gitignore entries.
46753         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
46754         with...
46755         (insert_vc_ignore): ... this new function, which prepends `/' to
46756         all .gitignore entries before passing them to
46757         insert_sorted_if_absent.
46759 2010-10-16  Bruno Haible  <bruno@clisp.org>
46761         nextafter: Fix configure check.
46762         * modules/nextafter (configure.ac): Correct expected prototype.
46764 2010-10-16  Bruno Haible  <bruno@clisp.org>
46766         termios: Update documentation.
46767         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
46769 2010-10-16  Bruno Haible  <bruno@clisp.org>
46771         tests: Make them compile with TinyCC.
46772         * tests/test-strstr.c (main): Remove parentheses around array
46773         initializer.
46775 2010-10-15  Eric Blake  <eblake@redhat.com>
46777         ignore-value: make header idempotent
46778         * lib/ignore-value.h: Add double-inclusion guards.
46779         Reported by Stefan Berger.
46781 2010-10-15  Jim Meyering  <meyering@redhat.com>
46783         GNUmakefile: handle "stable" target, not "major"
46784         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
46785         lists in maint.mk and announce-gen.  Without this, "make stable"
46786         would fail to ensure that $(VERSION) is up to date.
46788 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
46790         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
46791         & co.
46793 2010-10-14  Bruno Haible  <bruno@clisp.org>
46795         vasnprintf: Don't set errno to 0.
46796         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
46797         block that sets it to 0.
46798         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
46800 2010-10-14  Bruno Haible  <bruno@clisp.org>
46802         socketlib: Fix.
46803         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
46804         gl_PREREQ_SYS_H_WINSOCK2.
46805         Reported by Ian Beckwith <ianb@erislabs.net>.
46807 2010-10-13  Jim Meyering  <meyering@redhat.com>
46809         test-select-stdin.c: avoid warn_unused_result warnings
46810         * tests/test-select-stdin.c: Include "macros.h".
46811         ASSERT that read and fflush succeed.
46813 2010-10-13  Jim Meyering  <meyering@redhat.com>
46815         git-version-gen: do require git-VC'd files in cwd
46816         * build-aux/git-version-gen: Reject a git version string
46817         if there are no commits associated with the current directory.
46818         This avoids an unlikely false-positive (unrelated dir whose parent
46819         repository also contains a tag matching v*), as pointed out
46820         by Giuseppe Scrivano in
46821         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
46823 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
46825         argv-iter: omit nonconforming declaration
46826         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
46827         enum arg_iter_err declaration, which doesn't conform to C99.
46828         Solaris 10 cc warns about this.
46830 2010-10-13  Eric Blake  <eblake@redhat.com>
46832         termios: fix compilation on mingw
46833         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
46834         (gl_TERMIOS_H): Adjust it on mingw.
46835         * modules/termios (Makefile.am): Substitute new key.
46836         * lib/termios.in.h (includes): Make include_next conditional.
46837         * doc/posix-headers/termios.texi (termios.h): Update
46838         documentation.
46839         Reported by Daniel P. Berrange.
46841 2010-10-13  Jim Meyering  <meyering@redhat.com>
46843         git-version-gen: don't require that .git/ be in the current dir
46844         * build-aux/git-version-gen: Adjust this script so that it works
46845         when run from any working directory beneath the top-level .git/-
46846         containing directory.  Inspired by a patch from Giuseppe Scrivano,
46847         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
46849         test-select: avoid warn_unused_result warnings
46850         * tests/test-select.c: Include "macros.h".
46851         ASSERT that each call to read, write, and pipe succeeds.
46852         While not technically required, also check each "close".
46853         * modules/select-tests (Files): Add tests/macros.h.
46855         test-symlinkat: remove declaration of unused local
46856         * tests/test-symlinkat.c (main): Remove unused local, "buf".
46858         test-inttostr: avoid shadowing warnings
46859         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
46860         and use malloc rather than the stack for the same reason as
46861         mentioned in the comment justifying the other allocation.
46863 2010-10-11  Bruno Haible  <bruno@clisp.org>
46865         stdlib: Allow multiple gnulib generated replacements to coexist.
46866         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
46867         Reported by Sam Steingold <sds@gnu.org>.
46869 2010-10-11  Jim Meyering  <meyering@redhat.com>
46871         fix a documentation typo
46872         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
46874 2010-10-11  Eric Blake  <eblake@redhat.com>
46876         futimens: work around Solaris 11 bug
46877         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
46878         * tests/test-futimens.h (test_futimens): Enhance, rather than
46879         weaken test.
46880         * doc/posix-functions/futimens.texi (futimens): Document the bug.
46882 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
46884         Indentation.
46885         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
46886         higher-level operators more to the left.
46888 2010-10-11  Jim Meyering  <meyering@redhat.com>
46890         test-futimens: avoid unwarranted test failure on Solaris 5.11
46891         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
46892         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
46893         because it tries to dereference the NULL name argument.
46895 2010-10-11  Bruno Haible  <bruno@clisp.org>
46897         Indentation.
46898         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
46899         indentation.
46901 2010-10-11  Jim Meyering  <meyering@redhat.com>
46903         spawn.in.h: make indentation consistent with parentheses
46904         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
46905         Make indentation consistent with parentheses.
46907 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
46909         Fix mismatched parens in previous commit
46910         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
46911         parens.
46913 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
46915         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
46917         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
46918         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
46919         * lib/malloca.c: Include "verify.h".
46920         (verify1): Remove, replacing with a verify call.
46921         * lib/relocwrapper.c (verify1): Likewise.
46922         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
46923         Likewise.
46924         * modules/malloca (Depends-on): Add 'verify'.
46925         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
46926         * modules/vasnprintf (Depends-on): Add 'verify'.
46927         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
46928         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
46929         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
46930         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
46931         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
46932         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
46933         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
46935         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
46937         Formerly the style was sometimes 2*X - 1, because the C standard
46938         was wrongly thought to disallow ?: in integral constant expressions.
46939         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
46940         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
46941         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
46942         * lib/stdint.in.h (_verify_intmax_size): Likewise.
46943         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
46944         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
46945         verify that time_t cannot be floating.
46947 2010-10-08  Eric Blake  <eblake@redhat.com>
46949         time: enforce recent POSIX ruling that time_t is integral
46950         * lib/time.in.h (__time_t_must_be_integral): Detect any
46951         problematic systems, allowing the rest of gnulib to assume POSIX.
46953 2010-10-08  Jim Meyering  <meyering@redhat.com>
46955         fdopendir: fix a bug on systems lacking openat and /proc support
46956         OpenBSD 4.7 is one such system.  The most noticeable effect was
46957         failure of any application making nontrivial use of fts: rm, du,
46958         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
46959           ./rm: traversal failed: `a': Bad file descriptor
46960         Debugging that, you see that even though FD 6 was closed just
46961         prior to the opendir call in fd_clone_opendir, its resulting
46962         dir->dd_fd was 8, rather than the expected value of 6:
46964         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
46965         93                close (fd);
46966         (gdb) n
46967         94                dir = fd_clone_opendir (dupfd);
46968         (gdb) n
46969         95                saved_errno = errno;
46970         (gdb) p dir->dd_fd
46971         $11 = 8
46973         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
46974         The problem is that on OpenBSD, fd_clone_opendir has to resort
46975         to using the old-style save/restore CWD mechanism, due to its
46976         lack of openat/proc support, and *that* would steal the FD (6)
46977         that opendir was supposed to use.
46979         The fix is to squirrel away the desired FD so that save_cwd uses a
46980         different one, and then free the dest FD right before calling opendir.
46981         That guarantees opendir will use the required file descriptor.
46983         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
46985 2010-10-08  Bruno Haible  <bruno@clisp.org>
46987         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
46988         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
46990 2010-10-08  Bruno Haible  <bruno@clisp.org>
46992         nanosleep: Make replacement POSIX compliant.
46993         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
46994         is out of range.
46995         Reported by Jim Meyering.
46997 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
46999         bootstrap: add hook for altering gnulib.mk, for Bison
47000         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
47001         the Bison bootstrapping process can rewrite file names and variables
47002         in this file before later parts of 'bootstrap' use the file.
47003         Bison wants to include lib/gnulib.mk from the top-level makefile,
47004         so it needs the file names in this file to be relative to the top
47005         level, not relative to lib; plus it needs variable names to be
47006         rewritten.
47007         (slurp): Use the new function.
47009         bootstrap: reformat for readability
47010         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
47012 2010-10-08  Eric Blake  <eblake@redhat.com>
47014         docs: update cygwin progress
47015         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
47016         1.7.7.
47017         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
47018         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
47019         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
47020         * doc/posix-functions/carg.texi (carg): Likewise.
47021         * doc/posix-functions/cargf.texi (cargf): Likewise.
47022         * doc/posix-functions/casin.texi (casin): Likewise.
47023         * doc/posix-functions/casinf.texi (casinf): Likewise.
47024         * doc/posix-functions/casinh.texi (casinh): Likewise.
47025         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
47026         * doc/posix-functions/catan.texi (catan): Likewise.
47027         * doc/posix-functions/catanf.texi (catanf): Likewise.
47028         * doc/posix-functions/catanh.texi (catanh): Likewise.
47029         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
47030         * doc/posix-functions/ccos.texi (ccos): Likewise.
47031         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
47032         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
47033         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
47034         * doc/posix-functions/cexp.texi (cexp): Likewise.
47035         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
47036         * doc/posix-functions/cimag.texi (cimag): Likewise.
47037         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
47038         * doc/posix-functions/clog.texi (clog): Likewise.
47039         * doc/posix-functions/clogf.texi (clogf): Likewise.
47040         * doc/posix-functions/conj.texi (conj): Likewise.
47041         * doc/posix-functions/conjf.texi (conjf): Likewise.
47042         * doc/posix-functions/cpow.texi (cpow): Likewise.
47043         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
47044         * doc/posix-functions/cproj.texi (cproj): Likewise.
47045         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
47046         * doc/posix-functions/creal.texi (creal): Likewise.
47047         * doc/posix-functions/crealf.texi (crealf): Likewise.
47048         * doc/posix-functions/csin.texi (csin): Likewise.
47049         * doc/posix-functions/csinf.texi (csinf): Likewise.
47050         * doc/posix-functions/csinh.texi (csinh): Likewise.
47051         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
47052         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
47053         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
47054         * doc/posix-functions/ctan.texi (ctan): Likewise.
47055         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
47056         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
47057         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
47058         * doc/posix-headers/complex.texi (complex.h): Likewise.
47060 2010-10-07  Jim Meyering  <meyering@redhat.com>
47062         parse-datetime: avoid compilation failure on OpenBSD 4.7
47063         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
47064         This works around a compilation failure on OpenBSD 4.7:
47065         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
47067 2010-10-07  Eric Blake  <eblake@redhat.com>
47069         docs: update cygwin progress
47070         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
47071         1.7.6.
47072         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
47073         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
47074         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
47075         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
47076         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
47077         Likewise.
47078         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
47079         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
47080         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
47081         Likewise.
47082         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
47083         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
47084         Likewise.
47085         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
47086         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
47087         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
47088         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
47089         Likewise.
47090         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
47091         Likewise.
47092         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
47094         docs: update parse-datetime history
47095         * doc/parse-datetime.texi (Authors of parse_datetime): Better
47096         documentation of this function's history and alternatives.
47098         cygwin: use more robust version check
47099         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
47100         exclude an eventual cygwin 1.9.1.
47101         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
47102         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
47103         (gl_FUNC_STRCASESTR): Likewise.
47104         Reported by Bruno Haible.
47106 2010-10-06  Bruno Haible  <bruno@clisp.org>
47108         string, sys_select: Avoid #including large headers unless necessary.
47109         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
47110         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
47111         OSF/1, BeOS, Haiku.
47112         Reported by Jim Meyering.
47114 2010-10-05  Eric Blake  <eblake@redhat.com>
47116         memmem, strstr, strcasestr: fix bug with long periodic needle
47117         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
47118         periodic needle having false positive.
47119         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
47120         and cygwin 1.7.7.
47121         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
47122         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
47123         (gl_FUNC_STRCASESTR): Likewise.
47124         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
47125         * tests/test-memmem.c (main): Expose the bug.
47126         * tests/test-strcasestr.c (main): Likewise.
47127         * tests/test-strstr.c (main): Likewise.
47128         * tests/test-c-strcasestr.c (main): Likewise.
47129         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
47130         * doc/posix-functions/strstr.texi (strstr): Likewise.
47131         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
47132         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
47134 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
47136         parse-datetime: do some more renaming
47137         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
47138         parse_datetime, not get_date.  Mention the renaming.
47139         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
47140         in comments.
47141         * m4/bison.m4: Likewise.
47143 2010-10-05  Eric Blake  <eblake@redhat.com>
47145         parse-datetime: better name than get_date
47146         * NEWS: Reword the deprecation notice.
47147         * modules/get_date: Rename to modules/parse-datetime.
47148         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
47149         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
47150         * lib/get_date.y: Rename to lib/parse-datetime.y.
47151         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
47152         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
47153         * doc/getdate.texi: Provide fallback wrapper.
47154         * lib/getdate.h: Move guts, and wrap...
47155         * lib/parse-datetime.h: ...new file.
47156         * lib/parse-datetime.y (get_date): Rename...
47157         (parse_datetime): ...to this.
47158         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
47159         (gl_PARSE_DATETIME): ...to this.
47160         * doc/posix-functions/getdate.texi (get_date): Provide fallback
47161         documentation.
47162         * modules/getdate (Files): Provide fallback docs and header.
47163         (Notice, Depends-on): Update references.
47164         * tests/test-parse-datetime.c: Likewise.
47165         * DEPENDENCIES: Likewise.
47166         * MODULES.html.sh (Date and time <time.h>): Likewise.
47167         * doc/parse-datetime.texi (Date input formats)
47168         (Authors of parse_datetime): Likewise.
47169         * modules/parse-datetime (Files, configure.ac, Makefile.am)
47170         (Include): Likewise.
47171         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
47172         * gnulib-tool: Likewise.
47173         * m4/bison.m4 (gl_BISON): Likewise.
47174         Suggested by Bruno Haible.
47176 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
47178         more ports to Solaris tr, which needs [] around ranges
47179         * gnulib-tool: Solaris tr needs [] around ranges.
47180         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
47181         * tests/test-pipe-filter-gi1.c (main): Likewise.
47182         * tests/test-pipe-filter-ii1.c (main): Likewise.
47184 2010-10-05  Eric Blake  <eblake@redhat.com>
47186         bootstrap: fix Solaris regression
47187         * build-aux/bootstrap (check_versions): Solaris tr still needs []
47188         around ranges.
47189         Reported by Pádraig Brady.
47191         bootstrap: work with pkg-config
47192         * build-aux/bootstrap (check_versions): Also transliterate - in
47193         prerequisite name.
47194         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
47195         prerequisites that were already found, to avoid confusion.
47196         Reported by Justin Clift.
47198         faccessat: remove unused wrappers
47199         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
47200         presence of these wrappers dragged in -lgen on Solaris.
47201         Reported by Clemens Brogi; fix suggested by Paul Eggert.
47203 2010-10-05  Jim Meyering  <meyering@redhat.com>
47205         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
47206         * Makefile (sc_pragma_columns): New syntax-check rule.
47208 2010-10-04  Bruno Haible  <bruno@clisp.org>
47210         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
47211         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
47212         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
47213         Reported by Bruce Korb and Eric Blake.
47215 2010-10-04  Bruno Haible  <bruno@clisp.org>
47217         threadlib: Make option --with-libpth-prefix work.
47218         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
47219         use $LIBPTH, not just -lpth.
47221 2010-10-04  Bruno Haible  <bruno@clisp.org>
47223         Avoid line length limitation from HP NonStop system header files.
47224         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
47225         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
47226         * lib/ctype.in.h: Likewise.
47227         * lib/dirent.in.h: Likewise.
47228         * lib/errno.in.h: Likewise.
47229         * lib/fcntl.in.h: Likewise.
47230         * lib/float.in.h: Likewise.
47231         * lib/getopt.in.h: Likewise.
47232         * lib/iconv.in.h: Likewise.
47233         * lib/inttypes.in.h: Likewise.
47234         * lib/langinfo.in.h: Likewise.
47235         * lib/locale.in.h: Likewise.
47236         * lib/math.in.h: Likewise.
47237         * lib/netdb.in.h: Likewise.
47238         * lib/netinet_in.in.h: Likewise.
47239         * lib/poll.in.h: Likewise.
47240         * lib/pthread.in.h: Likewise.
47241         * lib/pty.in.h: Likewise.
47242         * lib/sched.in.h: Likewise.
47243         * lib/se-selinux.in.h: Likewise.
47244         * lib/search.in.h: Likewise.
47245         * lib/signal.in.h: Likewise.
47246         * lib/spawn.in.h: Likewise.
47247         * lib/stdarg.in.h: Likewise.
47248         * lib/stddef.in.h: Likewise.
47249         * lib/stdint.in.h: Likewise.
47250         * lib/stdio.in.h: Likewise.
47251         * lib/stdlib.in.h: Likewise.
47252         * lib/string.in.h: Likewise.
47253         * lib/strings.in.h: Likewise.
47254         * lib/sys_file.in.h: Likewise.
47255         * lib/sys_ioctl.in.h: Likewise.
47256         * lib/sys_select.in.h: Likewise.
47257         * lib/sys_socket.in.h: Likewise.
47258         * lib/sys_stat.in.h: Likewise.
47259         * lib/sys_time.in.h: Likewise.
47260         * lib/sys_times.in.h: Likewise.
47261         * lib/sys_utsname.in.h: Likewise.
47262         * lib/sys_wait.in.h: Likewise.
47263         * lib/sysexits.in.h: Likewise.
47264         * lib/termios.in.h: Likewise.
47265         * lib/time.in.h: Likewise.
47266         * lib/unistd.in.h: Likewise.
47267         * lib/wchar.in.h: Likewise.
47268         * lib/wctype.in.h: Likewise.
47269         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
47270         * modules/ctype (Makefile.am): Likewise.
47271         * modules/dirent (Makefile.am): Likewise.
47272         * modules/errno (Makefile.am): Likewise.
47273         * modules/fcntl-h (Makefile.am): Likewise.
47274         * modules/float (Makefile.am): Likewise.
47275         * modules/getopt-posix (Makefile.am): Likewise.
47276         * modules/iconv-h (Makefile.am): Likewise.
47277         * modules/inttypes (Makefile.am): Likewise.
47278         * modules/langinfo (Makefile.am): Likewise.
47279         * modules/locale (Makefile.am): Likewise.
47280         * modules/math (Makefile.am): Likewise.
47281         * modules/netdb (Makefile.am): Likewise.
47282         * modules/netinet_in (Makefile.am): Likewise.
47283         * modules/poll-h (Makefile.am): Likewise.
47284         * modules/pthread (Makefile.am): Likewise.
47285         * modules/pty (Makefile.am): Likewise.
47286         * modules/sched (Makefile.am): Likewise.
47287         * modules/search (Makefile.am): Likewise.
47288         * modules/selinux-h (Makefile.am): Likewise.
47289         * modules/signal (Makefile.am): Likewise.
47290         * modules/spawn (Makefile.am): Likewise.
47291         * modules/stdarg (Makefile.am): Likewise.
47292         * modules/stddef (Makefile.am): Likewise.
47293         * modules/stdint (Makefile.am): Likewise.
47294         * modules/stdio (Makefile.am): Likewise.
47295         * modules/stdlib (Makefile.am): Likewise.
47296         * modules/string (Makefile.am): Likewise.
47297         * modules/strings (Makefile.am): Likewise.
47298         * modules/sys_file (Makefile.am): Likewise.
47299         * modules/sys_ioctl (Makefile.am): Likewise.
47300         * modules/sys_select (Makefile.am): Likewise.
47301         * modules/sys_socket (Makefile.am): Likewise.
47302         * modules/sys_stat (Makefile.am): Likewise.
47303         * modules/sys_time (Makefile.am): Likewise.
47304         * modules/sys_times (Makefile.am): Likewise.
47305         * modules/sys_utsname (Makefile.am): Likewise.
47306         * modules/sys_wait (Makefile.am): Likewise.
47307         * modules/sysexits (Makefile.am): Likewise.
47308         * modules/termios (Makefile.am): Likewise.
47309         * modules/time (Makefile.am): Likewise.
47310         * modules/unistd (Makefile.am): Likewise.
47311         * modules/wchar (Makefile.am): Likewise.
47312         * modules/wctype (Makefile.am): Likewise.
47314 2010-10-04  Bruno Haible  <bruno@clisp.org>
47316         read-file tests: Avoid a test failure on NonStop Kernel.
47317         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
47318         a regular file.
47319         Reported by Joachim Schmitz <schmitz@hp.com>.
47321 2010-10-03  Bruno Haible  <bruno@clisp.org>
47323         gnulib-tool: Fixes for --create-testdir with --libtool.
47324         * gnulib-tool (func_get_automake_snippet): Don't augment
47325         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
47326         an executable.
47327         (func_create_testdir): Handle module 'alloca' like func_import.
47328         Reported by Bruce Korb <bruce.korb@gmail.com>.
47330 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
47332         Avoid some lines longer than 80 characters.
47333         * lib/stdint.in.h: Break long comment lines.
47334         * lib/math.in.h: Likewise.
47335         (_GL_NUM_UINT_WORDS): New macro, for readability.
47336         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
47337         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
47338         * lib/stdlib.in.h: Likewise.
47339         * lib/spawn.in.h: Likewise.
47340         * lib/sys_socket.in.h: Update an URL.
47341         * lib/sys_stat.in.h: Break long line.
47343 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
47345         Improve pmccabe2html.
47346         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
47347         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
47348         when the sources change. Remove the line in the HTML about "Used
47349         ranges" (which implied that there might be other unused ranges),
47350         rename "Resume" to "Summary" (easier to understand for more users).
47351         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
47352         styles, and some unnecessary blank lines.
47354 2010-10-03  Bruno Haible  <bruno@clisp.org>
47355             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
47357         acl: Add support for ACLs on NonStop Kernel.
47358         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
47359         Check whether the function aclsort() exists.
47360         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
47361         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
47362         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
47363         (acl_nontrivial [HAVE_ACLSORT]: New function.
47364         (file_has_acl): Implement for NonStop Kernel.
47365         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
47366         (qset_acl): Implement for NonStop Kernel.
47367         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
47368         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
47369         (main): Implement for NonStop Kernel.
47370         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
47371         Kernel. Handle this flavor.
47372         * tests/test-set-mode-acl.sh: Likewise.
47373         * tests/test-copy-acl.sh: Likewise.
47374         * tests/test-copy-file.sh: Likewise.
47376 2010-10-03  Bruno Haible  <bruno@clisp.org>
47378         Info about ACLs on NonStop Kernel.
47379         * doc/acl-resources.txt: Add info about NonStop Kernel.
47380         References by Joachim Schmitz <schmitz@hp.com>.
47382 2010-10-02  Bruno Haible  <bruno@clisp.org>
47384         Define missing EDQUOT on NonStop Kernel.
47385         * lib/errno.in.h (EDQUOT): Assign a value if missing.
47386         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
47387         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
47388         missing.
47389         * doc/posix-headers/errno.texi: Mention the NSK bug.
47390         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
47391         Reported by Joachim Schmitz <schmitz@hp.com>.
47393 2010-10-02  Bruno Haible  <bruno@clisp.org>
47395         Update doc for POSIX:2008.
47396         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
47397         Update URL of POSIX specification.
47399 2010-10-02  Bruno Haible  <bruno@clisp.org>
47401         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
47402         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
47403         from gnulib, not from Automake.
47405 2010-10-02  Bruno Haible  <bruno@clisp.org>
47407         New module 'system-posix'.
47408         * modules/system-posix: New file.
47409         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
47410         module is present.
47411         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
47412         GNULIB_SYSTEM_POSIX.
47413         * modules/stdlib (Depends-on): Remove sys_wait.
47414         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
47415         * doc/posix-functions/system.texi: Mention the new module.
47416         * doc/posix-headers/stdlib.texi: Likewise.
47417         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
47418         define test_sys_wait_macros to a no-op.
47419         Reported by Sam Steingold <sds@gnu.org>.
47421 2010-09-30  Bruno Haible  <bruno@clisp.org>
47423         More renaming from 'getdate' to 'get_date'.
47424         * doc/get_date.texi: Renamed from doc/getdate.texi.
47425         * modules/get_date (Files): Update.
47426         * MODULES.html.sh (Date and time <time.h>): Update.
47427         * DEPENDENCIES: Update.
47428         * gnulib-tool: Update comment.
47429         * m4/bison.m4 (gl_BISON): Likewise.
47430         * m4/get_date.m4 (gl_GET_DATE): Likewise.
47432 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
47434         bootstrap: support ACLOCAL_FLAGS during aclocal
47435         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
47436         can add additional -I dir for third-party .m4 files.
47438 2010-09-30  Eric Blake  <eblake@redhat.com>
47440         bootstrap: use glibtoolize on MacOS
47441         * build-aux/bootstrap (check_versions): Convert libtool into
47442         libtoolize.
47443         (tool search): Move libtool check earlier, and look for
47444         glibtoolize for MacOS.
47445         (gnulib_tool_options): Auto-add --libtool when appropriate.
47446         Reported by Justin Clift.
47448         poll: fix typo that broke test on MacOS
47449         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
47450         Reported by Justin Clift.
47452         getdate: rename to get_date
47453         Note: getdate.h is not renamed, to minimize client impact.
47454         * modules/getdate: Mark obsolete.  Move old contents...
47455         * modules/get_date: ...to new module name.
47456         * modules/getdate-tests: Move...
47457         * modules/get_date-tests: ...here.
47458         * m4/getdate.m4: Move...
47459         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
47460         * lib/getdate.y: Move...
47461         * lib/get_date.y: ...here.
47462         * tests/test-getdate.c: Move...
47463         * tests/test-get_date.c: ...here.
47464         * doc/posix-functions/getdate.texi (getdate): Update name.
47465         * NEWS: Mention the change.
47467 2010-09-29  Bruno Haible  <bruno@clisp.org>
47469         Separate the module 'waitpid' from the module 'sys_wait'.
47470         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
47471         present.
47472         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
47473         gl_MODULE_INDICATOR_FOR_TESTS.
47474         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
47475         * modules/sys_wait (Depends-on): Remove waitpid.
47476         (Makefile.am): Substitute GNULIB_WAITPID.
47477         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
47478         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
47479         signature only if the 'waitpid' module is present.
47480         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
47481         * NEWS: Mention the change.
47482         * modules/grantpt (Depends-on): Add waitpid.
47483         * modules/wait-process (Depends-on): Likewise.
47485 2010-09-29  Bruno Haible  <bruno@clisp.org>
47487         More tests for module 'sys_wait'.
47488         * modules/sys_wait-c++-tests: New file.
47489         * tests/test-sys_wait-c++.cc: New file.
47490         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
47491         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
47493 2010-09-29  Bruno Haible  <bruno@clisp.org>
47495         New module 'waitpid'.
47496         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
47497         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
47498         Don't include <process.h>.
47499         (waitpid): Declare only, using modern idiom.
47500         * m4/waitpid.m4: New file.
47501         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
47502         * modules/waitpid: New file.
47503         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
47504         (Makefile.am): Update.
47505         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
47507 2010-09-28  Bruno Haible  <bruno@clisp.org>
47509         poll: Assume ANSI C.
47510         * lib/poll.c (poll): Use an ANSI C declaration.
47512 2010-09-28  Bruno Haible  <bruno@clisp.org>
47514         poll-h: Create poll.h on all platforms.
47515         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
47516         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
47517         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
47518         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
47519         (gl_REPLACE_POLL_H): Don't set POLL_H.
47520         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
47521         * modules/poll-h (Depends-on): Add include_next.
47522         (Makefile.am): Create poll.h unconditionally. Substitute also
47523         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
47525 2010-09-28  Bruno Haible  <bruno@clisp.org>
47527         Tests for module 'poll-h'.
47528         * modules/poll-h-c++-tests: New file.
47529         * tests/test-poll-h-c++.cc: New file.
47531         Tests for module 'poll-h'.
47532         * modules/poll-h-tests: New file.
47533         * tests/test-poll-h.c: New file.
47535 2010-09-28  Bruno Haible  <bruno@clisp.org>
47537         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
47538         * modules/poll-h (Depends-on): Add 'extensions'.
47540 2010-09-28  Bruno Haible  <bruno@clisp.org>
47542         New module 'poll-h'.
47543         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
47544         (poll): Use modern idiom.
47545         * modules/poll-h: New file.
47546         * modules/poll (Files): Remove lib/poll.in.h.
47547         (Depends-on): Add poll-h.
47548         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
47549         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
47550         * m4/poll_h.m4: New file.
47551         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
47552         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
47553         and invoke gl_REPLACE_POLL_H.
47554         * lib/poll.c: Use common idiom.
47555         * tests/test-poll.c: Likewise.
47556         * doc/posix-headers/poll.texi: Mention the poll-h module.
47557         Suggested by Eric Blake.
47559 2010-09-26  Bruno Haible  <bruno@clisp.org>
47561         sys_wait: Implement WSTOPSIG.
47562         * lib/sys_wait.in.h (WSTOPSIG): New macro.
47563         Reported by Simon Josefsson.
47565 2010-09-26  Simon Josefsson  <simon@josefsson.org>
47567         stdlib, sys_wait: Avoid compilation error on mingw.
47568         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
47570 2010-09-26  Bruno Haible  <bruno@clisp.org>
47572         stdlib tests: Avoid code duplication.
47573         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
47574         * modules/sys_wait-tests (Files): Likewise.
47575         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
47576         * tests/test-stdlib.c: Include test-sys_wait.h.
47577         (main): Invoke test_sys_wait_macros.
47578         * tests/test-sys_wait.c: Include test-sys_wait.h.
47579         (main): Invoke test_sys_wait_macros.
47581 2010-09-25  Simon Josefsson  <simon@josefsson.org>
47583         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
47584         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
47585         sure Windows sockets are working before calling getaddrinfo.
47586         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
47587         * doc/gnulib.texi (Windows sockets): Fix typo.
47589 2010-09-25  Bruno Haible  <bruno@clisp.org>
47591         Tests for module 'regex-quote'.
47592         * modules/regex-quote-tests: New file.
47593         * tests/test-regex-quote.c: New file.
47595         New module 'regex-quote'.
47596         * lib/regex-quote.h: New file.
47597         * lib/regex-quote.c: New file.
47598         * modules/regex-quote: New file.
47599         Suggested by Reuben Thomas <rrt@sc3d.org>.
47601 2010-09-24  Bruno Haible  <bruno@clisp.org>
47603         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
47604         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
47606 2010-09-23  Bruno Haible  <bruno@clisp.org>
47608         setenv: Relax license.
47609         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
47610         Blake.
47611         Requested by Eric Blake.
47613 2010-09-22  Bruno Haible  <bruno@clisp.org>
47615         termios: Relax license.
47616         * modules/termios (License): Change to LGPLv2+.
47617         Requested by Eric Blake.
47619 2010-09-22  Bruno Haible  <bruno@clisp.org>
47621         threadlib: Allow the package to change the default to 'no'.
47622         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
47623         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
47624         Reported by Paul Eggert.
47626 2010-09-22  Pádraig Brady  <P@draigbrady.com>
47627             Bruno Haible  <bruno@clisp.org>
47629         Fix endless loop in mbmemcasecoll.
47630         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
47631         byte.
47632         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
47634 2010-09-22  Bruno Haible  <bruno@clisp.org>
47636         Tests for module 'memcoll'.
47637         * modules/memcoll-tests: New file.
47638         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
47640         memcoll, xmemcoll: Clarify size vs. length.
47641         * modules/memcoll.c (memcoll0): Clarify specification.
47642         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
47643         passed to collate_error.
47645 2010-09-22  Bruno Haible  <bruno@clisp.org>
47647         Tests for module 'memcasecmp'.
47648         * modules/memcasecmp-tests: New file.
47649         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
47651 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
47653         * lib/pthread.in.h: Add split double-inclusion guard, and include
47654         system <pthread.h> if there is one.  Use @@-style as in other
47655         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
47656         pthread.h doesn't.
47657         (pthread_mutexattr_destroy, pthread_mutexattr_init):
47658         (pthread_mutexattr_settype, pthread_mutex_trylock):
47659         New static inline functions, if there's no system <pthread.h>.
47660         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
47661         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
47662         Approximate with mutexes if the system lacks spinlocks, as in
47663         MacOS.
47664         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
47665         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
47666         @@-style.  Check for spinlocks separately.
47667         (gl_PTHREAD_DEFAULTS): New macro.
47668         * modules/pthread: Redo to use a more typical style for in.h files.
47670 2010-09-21  Eric Blake  <eblake@redhat.com>
47672         net_if: enhance tests
47673         * tests/test-net_if.c (main): Move signature checks earlier.
47674         Print failures to stderr.
47675         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
47676         Document the bug that we do not yet fix.
47678 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
47680         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
47681         about gnulib, not GSS.
47683 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
47685         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
47686         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
47687         for Emacs.
47688         * build-aux/pmccabe2html: Make Makefile.am example code more
47689         cut-and-paste friendly.
47691 2010-09-21  Simon Josefsson  <simon@josefsson.org>
47693         * tests/test-net_if.c: New file.
47694         * modules/net_if-tests: New file.
47696 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
47698         pthread: add pthread_spin_destroy
47699         * lib/pthread.in.h (pthread_spin_destroy): New function.
47701 2010-09-19  Bruno Haible  <bruno@clisp.org>
47703         gnulib-tool: Fix --help output.
47704         * gnulib-tool (func_usage): Fix help message.
47705         Reported by Reuben Thomas <rrt@sc3d.org>.
47707 2010-09-18  Jim Meyering  <meyering@redhat.com>
47709         maint.mk: avoid unexpanded \n in two diagnostics
47710         * top/maint.mk (sc_prohibit_always_true_header_tests):
47711         Don't use a literal \n in a halt=... assignment.  It would not be
47712         expanded, and the two \n bytes would appear in the diagnostic output
47713         rather than the desired newline.  Use halt=$$(printf ... instead.
47714         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
47716 2010-09-18  Bruno Haible  <bruno@clisp.org>
47718         netinet_in: Doc tweak.
47719         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
47720         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
47722 2010-09-18  Jim Meyering  <meyering@redhat.com>
47724         init.sh: correct an outdated comment
47725         * tests/init.sh (create_exe_shims_):  s/function/alias/
47727         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
47728         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
47729         a file named "*.exe" is removed between the glob expansion and the
47730         processing of that oddly named file.
47732 2010-09-17  Eric Blake  <eblake@redhat.com>
47734         mirbsd: add some more support
47735         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
47736         in BSD family.
47737         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
47738         devices as OpenBSD.
47739         * m4/host-os.m4 (mirbsd): Add MirBSD.
47741         tests: fix unportable assumption on sys/wait.h
47742         * tests/test-sys_wait.c (main): Relax test.
47743         * tests/test-stdlib.c (main): Likewise.
47745         init.sh: accommodate directory with no .exes
47746         * tests/init.sh: Accomodate directory containing only scripts.
47748         tests: avoid compiler warning
47749         * tests/test-stdlib.c (main): Use the variable.
47751         fdutimens, fdutimensat: update signature, again
47752         * lib/utimens.h (gl_futimens): Delete, and move signature...
47753         (fdutimens): ...here.
47754         (fdutimensat): Rearrange signature.
47755         (lutimensat): Rename variable for clarity.
47756         * lib/fdutimensat.c (fdutimensat): Update signature.
47757         * lib/utimens.c (fdutimens): Likewise.
47758         (gl_futimens): Delete.
47759         (utimens, lutimens): Update callers.
47760         * lib/futimens.c (futimens): Likewise.
47761         * tests/test-fdutimensat.c: Likewise.
47762         * tests/test-utimens.c: Likewise.
47763         * tests/test-futimens.h: Update comment.
47764         * NEWS: Mention this.
47765         Suggested by Paul Eggert.
47767 2010-09-17  Bruno Haible  <bruno@clisp.org>
47769         Take over the maintenance of some older macros from Autoconf.
47770         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
47771         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
47772         GNU Autoconf.
47773         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
47774         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
47776 2010-09-17  Eric Blake  <eblake@redhat.com>
47778         fdutimensat: drop atflag validation
47779         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
47780         with valid fd, to close a race scenario where futimens is
47781         unsupported and FILE was replaced by a symlink.
47782         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
47783         accordingly.
47784         Suggested by Paul Eggert.
47786 2010-09-16  Bruno Haible  <bruno@clisp.org>
47788         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
47789         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
47791 2010-09-16  Bruno Haible  <bruno@clisp.org>
47793         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
47794         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
47795         login_tty exists.
47796         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
47798 2010-09-16  Bruno Haible  <bruno@clisp.org>
47800         login_tty: Make the replacement code work on BSD systems.
47801         * lib/login_tty.c: Include <sys/ioctl.h>.
47802         (login_tty): Use ioctl TIOCSCTTY when available.
47803         * modules/login_tty (Depends-on): Add sys_ioctl.
47804         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
47806 2010-09-16  Bruno Haible  <bruno@clisp.org>
47808         login_tty: Stricter unit test.
47809         * modules/login_tty-tests (Depends-on): Add tcgetsid.
47810         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
47811         and tcgetsid() after login_tty.
47812         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
47814 2010-09-16  Bruno Haible  <bruno@clisp.org>
47816         New module 'tcgetsid'.
47817         * lib/tcgetsid.c: New file.
47818         * m4/tcgetsid.m4: New file.
47819         * modules/tcgetsid: New file.
47820         * modules/termios (Depends-on): Add c++defs, warn-on-use.
47821         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
47822         GNULIB_TCGETSID, HAVE_TCGETSID.
47823         * lib/termios.in.h: Include <sys/types.h>.
47824         (tcgetsid): New declaration.
47825         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
47826         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
47827         * doc/posix-functions/tcgetsid.texi: Mention the new module.
47828         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
47830 2010-09-16  Bruno Haible  <bruno@clisp.org>
47832         Tests for module 'termios'.
47833         * modules/termios-c++-tests: New file.
47834         * modules/termios-tests: New file.
47835         * tests/test-termios-c++.cc: New file.
47836         * tests/test-termios.c: New file.
47838         New module 'termios'.
47839         * modules/termios: New file.
47840         * lib/termios.in.h: New file.
47841         * m4/termios_h.m4: New file.
47842         * doc/posix-headers/termios.texi: Mention the new module.
47844 2010-09-16  Eric Blake  <eblake@redhat.com>
47846         fdutimensat: add an atflag parameter
47847         * lib/fdutimensat.c (fdutimensat): Add new parameter.
47848         * lib/utimens.h (fdutimensat): Update prototype.
47849         * tests/test-fdutimensat.c: Adjust test to match.
47850         * NEWS: Document the change.
47851         Suggested by Paul Eggert.
47853 2010-09-16  Bruno Haible  <bruno@clisp.org>
47855         Fix typos in comments.
47856         * lib/striconveh.h: Fix typo in comment.
47857         * lib/login_tty.c (login_tty): Likewise.
47859 2010-09-15  Bruno Haible  <bruno@clisp.org>
47861         stdlib: clarify MirBSD WEXITSTATUS bug
47862         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
47863         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
47865 2010-09-15  Eric Blake  <eblake@redhat.com>
47867         stdlib: work around MirBSD WEXITSTATUS bug
47868         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
47869         * modules/stdlib (Depends-on): Add sys_wait.
47870         * tests/test-sys_wait.c (main): Enhance test.
47871         * tests/test-stdlib.c (main): Likewise.
47872         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
47874         docs: mention MacOS issue with WEXITSTATUS(constant)
47875         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
47876         issue.
47877         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
47879         strnlen: add tests
47880         * modules/strnlen-tests: New file.
47881         * tests/test-strnlen.c: Likewise.
47883 2010-09-14  Bruno Haible  <bruno@clisp.org>
47885         unistr/base: Avoid link errors when module 'libunistring' is also used.
47886         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
47887         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
47888         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
47889         Declare also when HAVE_LIBUNISTRING is set.
47890         Reported by Pádraig Brady <P@draigbrady.com>.
47892 2010-09-14  Eric Blake  <eblake@redhat.com>
47894         test-rawmemchr: make more robust
47895         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
47896         (Depends-on, configure.ac): Add needed prerequisites to use it.
47897         * modules/memchr-tests (Files, Depends-on, configure.ac):
47898         Likewise, to avoid implicit reliance on memchr module prereqs.
47899         * tests/test-memchr.c (main): Ensure proper masking.
47900         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
47901         reads.
47903         memchr: detect glibc Alpha bug
47904         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
47905         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
47906         Alpha.
47907         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
47908         * tests/test-memchr.c (main): Enhance test.
47909         Reported by Nelson H. F. Beebe.
47911 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
47913         fts, getcwd, glob: audit for dirfd returning -1
47914         * lib/fts.c (opendir): Remove #define; no longer used.
47915         (opendirat): New arg PDIR_FD.  All callers changed.
47916         (fts_build, _opendir2): Use new opendirat to avoid the need for
47917         dirfd, or for checking whether dirfd returns a negative value.
47918         Don't use opendir; always use openat followed by fdopendir.
47919         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
47920         it.
47921         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
47922         returns -1 here.
47923         * modules/fts (Depends-on): Remove dirfd.
47924         * modules/getcwd (Depends-on): Likewise.
47926 2010-09-13  Eric Blake  <eblake@redhat.com>
47928         float: fix broken MirBSD header
47929         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
47930         * doc/posix-headers/float.texi (float.h): Document it.
47932 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
47934         fts: use O_NOFOLLOW to avoid race condition when opening a directory
47935         * lib/fts.c (opendirat): New arg extra_flags.
47936         (__opendir2): Use it to avoid following symlinks when opening
47937         a directory, if symlinks are not supposed to be followed.  See
47938         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00213.html>.
47940         fdopendir: preserve argument fd before returning
47941         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
47942         (fdopendir_with_dup, fd_clone_opendir): New static functions.
47943         (fdopendir): Use them, arranging for FD to be open to the same
47944         directory that it was when it started.  (It might be temporarily
47945         closed while fdopendir is running, so this not thread- or
47946         signal-safe.)  Be careful to do the right thing even when file
47947         descriptors are scarce and dup fails with errno == EMFILE.  See
47948         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00208.html>.
47950 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
47952         regex: Pass the system regex if its only problem is 32-bit regoff_t.
47953         * NEWS: Document change.
47954         * m4/regex.m4: Disable test for regoff_t size.
47956 2010-09-13  Jim Meyering  <meyering@redhat.com>
47958         fts: don't operate on an invalid file descriptor after failed dup
47959         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
47960         negative file descriptor.
47962 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
47964         savedir: add streamsavedir, deprecate fdsavedir
47965         * NEWS: Mention deprecation of fdsavedir.
47966         * lib/savedir.c (streamsavedir): New extern function, whose name
47967         ends in "savedir" to be consistent with the others.  This differs
47968         from savedirstream in that it doesn't close its argument.  The
47969         next version of GNU tar will use this instead of fdsavedir, to
47970         avoid some race conditions and conserve file descriptors.
47971         (savedirstream): Reimplement as a wrapper around streamsavedir.
47972         (fdsavedir): Add a comment deprecating this function.  As far as
47973         I know, only GNU tar used it, and GNU tar doesn't need it any more.
47974         * lib/savedir.h (streamsavedir): New decl.
47975         (fdsavedir): Add a comment deprecating this.
47977 2010-09-10  Bruno Haible  <bruno@clisp.org>
47979         langinfo: Fix last commit.
47980         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
47981         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
47982         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47984 2010-09-10  Bruno Haible  <bruno@clisp.org>
47986         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
47987         * lib/progreloc.c (O_EXEC): Define fallback.
47989 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
47991         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
47992         * NEWS: Document recent changes to fcntl-h.
47993         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
47994         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
47995         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
47996         Similarly for O_SEARCH; this last was already true, but not documented.
47997         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
47998         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
47999         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
48000         Likewise.
48001         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
48002         is zero, not whether it is defined.
48003         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
48004         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
48005         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
48007 2010-09-10  Bruno Haible  <bruno@clisp.org>
48009         langinfo, nl_langinfo: Fix for IRIX 5.3.
48010         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
48011         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
48012         HAVE_LANGINFO_YESEXPR.
48013         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
48014         HAVE_LANGINFO_YESEXPR.
48015         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
48016         HAVE_LANGINFO_T_FMT_AMPM is 0.
48017         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
48018         HAVE_LANGINFO_YESEXPR is 0.
48019         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
48020         NOEXPR.
48021         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
48022         * doc/posix-functions/nl_langinfo.texi: Likewise.
48023         Reported by Eric Blake.
48025 2010-09-10  Bruno Haible  <bruno@clisp.org>
48027         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
48028         * doc/glibc-functions/login_tty.texi: Mention the include file problem
48029         on FreeBSD 8.0 and OpenBSD 4.6.
48030         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
48031         * m4/pty_h.m4 (gl_PTY_H): Likewise.
48032         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
48033         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
48034         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
48035         ac_includes_default.
48036         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
48038 2010-09-09  Eric Blake  <eblake@redhat.com>
48040         strsignal: work around NetBSD bug
48041         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
48042         * lib/string.in.h (includes): Likewise.
48043         * doc/posix-functions/strsignal.texi (strsignal): Document the
48044         bug.
48045         Reported by Nelson H. F. Beebe.
48047         gnulib-tool: work with NetBSD /bin/sh
48048         * gnulib-tool (func_cache_var, func_cache_lookup_module)
48049         (func_get_description, func_get_comment, func_get_status)
48050         (func_get_notice, func_get_applicability, func_get_filelist)
48051         (func_get_dependencies, func_get_autoconf_early_snippet)
48052         (func_get_autoconf_snippet, func_get_automake_snippet)
48053         (func_get_include_directive, func_get_link_directive)
48054         (func_get_license, func_get_maintainer, func_import): Avoid
48055         shell syntax errors from parsing syntax extensions.
48057 2010-09-09  Bruno Haible  <bruno@clisp.org>
48059         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
48060         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
48061         a reliable way to determine whether the 'alias' command works.
48063 2010-09-08  Jim Meyering  <meyering@redhat.com>
48065         init.sh: penalize a set-x-impaired shell; don't disqualify it
48066         * tests/init.sh: Too many shells corrupt application stderr when
48067         you set -x, so we can't afford to disqualify them, since at least
48068         on Irix-6.5, that would disqualify all bourne shells.
48069         Instead, use a two-pass approach.
48070         On the first pass, try to find a shell that meets the stricter
48071         condition that set -x does not corrupt stderr.
48072         If no shell meets the stricter condition, retest each candidate
48073         shell, but without that extra condition.  Finally, when
48074         VERBOSE=yes is requested and set -x might cause trouble, simply
48075         issue a warning and refrain from enabling debug output.
48077 2010-09-08  Eric Blake  <eblake@redhat.com>
48079         unsetenv: fix OpenBSD bug
48080         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
48081         * doc/posix-functions/unsetenv.texi (unsetenv): Update
48082         documentation.
48083         Reported by Jim Meyering.
48085         strtod: work around IRIX 6.5 bug
48086         * lib/strtod.c (strtod): Reparse number on shorter string if
48087         exponent parse was invalid.
48088         * tests/test-strtod.c (main): Add check for "0x1p 2".
48089         Reported by Tom G. Christensen.
48091         getopt: optimize previous patch
48092         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
48093         empty variable.  Speed up awk script.
48094         Reported by Paolo Bonzini.
48096 2010-09-08  Jim Meyering  <meyering@redhat.com>
48098         test.sh: disqualify shells for which set -x corrupts stderr
48099         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
48100         and OpenBSD 4.7.  They make it so with "set -x", environment settings
48101         appear in stderr output.  For example, this command:
48102             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
48103         prints "P=1" on those two systems:
48105 2010-09-08  Bruno Haible  <bruno@clisp.org>
48107         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
48108         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
48109         commands, because some shells ignore redirections when there is an
48110         error in the command lookup.
48111         Reported by Eric Blake.
48113 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
48115         * lib/regex.h: Fix a mention of `regex_compile' (should be
48116         `re_compile_pattern').
48117         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
48118         (re_set_registers): Correct name of parameter in comment.
48120         * doc/regex.texi: Add documentation for missing syntax flags.
48121         Remove commented-out documentation of defunct syntax option
48122         RE_NO_EMPTY_ALTS.
48123         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
48124         Add documentation of re_set_registers.
48125         Document trick to re-use a pattern buffer by setting fastmap manually.
48126         Update documentation of struct re_pattern_buffer per public members.
48127         Uncomment documentation of equivalence class operators and
48128         collating symbol operators, since they are now implemented,
48129         Explain leftmost-longest matching in relation to alternatives.
48130         Tidy documentation of substring matching.
48131         Remove POSIX documentation, which is done better in
48132         glibc, and refer the reader there. Keep BSD API documentation, as
48133         that is not readily available elsewhere.
48135 2010-09-07  Eric Blake  <eblake@redhat.com>
48137         getopt: handle POSIXLY_CORRECT set but not exported
48138         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
48139         export state of POSIXLY_CORRECT, due to bash set -o posix.
48140         Reported by Dustin J. Mitchell.
48142 2010-09-05  Bruno Haible  <bruno@clisp.org>
48144         gnulib-tool: Highlight the changed options.
48145         * gnulib-tool (func_usage): Display the --import, --add-import,
48146         --remove-import explanations in bold font.
48148 2010-09-06  Karl Berry  <karl@gnu.org>
48150         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
48152 2010-09-05  Bruno Haible  <bruno@clisp.org>
48154         uniwidth/width: Update comment.
48155         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
48156         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
48158 2010-09-05  Bruno Haible  <bruno@clisp.org>
48160         isinf, isnan: Relax license.
48161         * modules/isinf (License): Change from GPL to LGPL, with consent from
48162         Ben Pfaff.
48163         * modules/isnan (License): Likewise.
48164         Requested by Ludovic Courtès.
48166 2010-09-04  Bruno Haible  <bruno@clisp.org>
48168         gnulib-tool: Help migration from --import to --add-import or --update.
48169         * gnulib-tool: Emit a verbose error message when --import is used
48170         without any module name.
48172 2010-09-04  Bruno Haible  <bruno@clisp.org>
48174         Update doc about gnulib-tool.
48175         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
48176         'gnulib-tool --update' in more detail.
48177         Reported by Eric Blake.
48179 2010-09-04  Bruno Haible  <bruno@clisp.org>
48181         gnulib-tool: Change --import. New options --add/remove-import.
48182         * gnulib-tool: New options --add-import, --remove-import.
48183         (func_usage): Document them.
48184         (have_associative): Define always.
48185         (func_import): In import mode, don't merge the specified settings with
48186         the cached settings. Implement remove-import mode.
48187         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
48188         Explain when to use them versus --import.
48189         (Simple update): Use --add-import instead of --import.
48190         * NEWS: Mention the change.
48192 2010-09-04  Bruno Haible  <bruno@clisp.org>
48194         * doc/gnulib-tool.texi (Initial import): Update paragraph about
48195         separate gnulib.mk.
48197 2010-09-04  Bruno Haible  <bruno@clisp.org>
48199         gnulib-tool: Don't talk about CVS any more.
48200         * gnulib-tool (func_usage, func_import): Write "version control"
48201         instead of CVS.
48203 2010-09-04  Jim Meyering  <meyering@redhat.com>
48205         maint.mk: avoid obscure sc_copyright_check failure in coreutils
48206         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
48207         false positives (whose names may be ill-chosen) when searching
48208         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
48209         would cause a false-positive.
48211         avoid coreutils "make distcheck" failure
48212         Coreutils tests with an absolute build directory name that contains
48213         a space.  Not quoting this directory name caused a failure.
48214         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
48215         * tests/test-vc-list-files-cvs.sh: Likewise.
48217 2010-09-04  Bruno Haible  <bruno@clisp.org>
48219         gnulib-tool: Avoid error when run in a package without Makefile.am.
48220         * gnulib-tool: When collecting the m4dirs in a package that does not
48221         have a Makefile.am, eliminate those directories that contain no
48222         gnulib-cache.m4. Fix expression that counts these directories.
48224 2010-09-04  Bruno Haible  <bruno@clisp.org>
48226         update-copyright test: Improve output when perl is missing or too old.
48227         * tests/test-update-copyright.sh: Move test of Perl version down after
48228         the test whether Perl exists. Provide an explanation relating Perl's
48229         error message to Automake's SKIP: message.
48231 2010-09-04  Bruno Haible  <bruno@clisp.org>
48233         Don't augment PATH in TESTS_ENVIRONMENT.
48234         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
48235         set abs_aux_dir instead of augmenting PATH.
48236         * modules/vc-list-files-tests (Makefile.am): Likewise.
48237         * tests/test-update-copyright.sh: Augment PATH here.
48238         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
48239         path_prepend_.
48240         * tests/test-vc-list-files-git.sh: Likewise.
48242 2010-09-04  Jim Meyering  <meyering@redhat.com>
48244         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
48245         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
48247 2010-09-04  Bruno Haible  <bruno@clisp.org>
48249         strdup: Fix compilation error in C++ mode.
48250         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
48251         the macro.
48253 2010-09-04  Bruno Haible  <bruno@clisp.org>
48255         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
48256         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
48257         macro into a function.
48258         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
48260 2010-09-04  Bruno Haible  <bruno@clisp.org>
48262         Set PATH_SEPARATOR the same way autoconf does.
48263         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
48264         the value of PATH_SEPARATOR the same way autoconf-generated configure
48265         scripts do.
48266         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
48267         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
48269 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
48271         Set PATH_SEPARATOR the same way autoconf does.
48272         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
48273         the same way autoconf-generated configure scripts do.
48274         * posix-modules: Likewise.
48276 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
48278         hash: fix safe_hasher const typo
48279         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
48280         const; otherwise, there is a type error later.
48282 2010-09-02  Jim Meyering  <meyering@redhat.com>
48284         test-update-copyright.sh: require perl 5.8.0
48285         * tests/test-update-copyright.sh: Require 5.8.0,
48286         which Tom G. Christensen has confirmed is adequate,
48287         while 5.6.1 is not.
48289 2010-09-02  Eric Blake  <eblake@redhat.com>
48291         tests: init.sh improvements for re-exec'ing with zsh
48292         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
48293         -vx through shell re-exec.
48294         Reported by Tom G. Christensen.
48296         wctype: fix typo in previous commit
48297         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
48298         Reported by Ludovic Courtès.
48300 2010-09-02  Jim Meyering  <meyering@redhat.com>
48302         test-update-copyright.sh: skip test if Perl is too old
48303         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
48304         Reported by Tom G. Christensen.
48306 2010-09-02  Bruno Haible  <bruno@clisp.org>
48308         wctype: Avoid compilation error on IRIX 6.5.30.
48309         * lib/wctype.in.h (iswblank): Declare with a replacement if
48310         REPLACE_ISWBLANK is set.
48311         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
48312         declared. Set REPLACE_ISWBLANK.
48313         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
48314         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
48315         * doc/posix-headers/wctype.texi: Likewise.
48316         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48318 2010-09-01  Bruno Haible  <bruno@clisp.org>
48320         New module 'socketlib'.
48321         * modules/socketlib: New file.
48322         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
48323         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
48324         * modules/sockets (Depends-on): Add socketlib.
48325         Suggested by Sam Steingold <sds@gnu.org>.
48327 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
48329         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
48331         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
48332         when one needs search access to a directory but not read access.
48333         On systems where it is available, it works in some cases where
48334         O_RDONLY does not, namely on directories that are searchable but
48335         not readable, and which need only to be searchable.  If O_SEARCH
48336         is not available, fall back to the traditional method of using
48337         O_RDONLY.
48339         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
48340         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
48341         when opening a directory that needs only to be searchable.
48342         * lib/chdir-safer.c (chdir_no_follow): Likewise.
48343         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
48344         * lib/openat-proc.c (openat_proc_name): Likewise.
48345         * lib/openat.c (openat_needs_fchdir): Likewise.
48346         * lib/save-cwd.c (save_cwd): Likewise.
48347         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
48349 2010-08-28  Bruno Haible  <bruno@clisp.org>
48351         New module 'host-cpu-c-abi'.
48352         * modules/host-cpu-c-abi: New file.
48353         * m4/host-cpu-c-abi.m4: New file, based on part of
48354         clisp/src/m4/general.m4.
48355         Requested by Sam Steingold <sds@gnu.org>.
48357 2010-08-31  Eric Blake  <eblake@redhat.com>
48358         and Jim Meyering  <meyering@redhat.com>
48360         hash: factor, and guard against misbehaving hasher function
48361         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
48362         of table->hasher's return value.  Also protect against a hash value
48363         so large that adding it to table->bucket results in a NULL pointer.
48364         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
48365         Use it in place of open-coded check-and-abort.
48367 2010-08-30  Bruno Haible  <bruno@clisp.org>
48369         hash: silence spurious clang warning
48370         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
48371         Reported by Eric Blake.
48373 2010-08-30  Eric Blake  <eblake@redhat.com>
48375         strstr, memmem, strcasestr: avoid leaked shell message
48376         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
48377         FreeBSD.
48378         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
48379         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
48381         tests: silence clang warning
48382         * tests/test-malloca.c (do_allocation): Avoid dead store.
48384 2010-08-29  Bruno Haible  <bruno@clisp.org>
48386         gettext: Fix recent mistake.
48387         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
48389 2010-08-29  Bruno Haible  <bruno@clisp.org>
48391         selinux-h: Offer a --without-selinux option.
48392         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
48393         --without-selinux was specified, skip all tests and define
48394         HAVE_SELINUX_SELINUX_H to 0.
48395         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
48396         set LIB_SELINUX to empty.
48397         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
48398         gl_LIBSELINUX. If --without-selinux was specified, replace
48399         selinux/context.h.
48400         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
48402 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48403             Bruno Haible  <bruno@clisp.org>
48405         Make the module 'realloc-gnu' work again on AIX and OSF/1.
48406         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
48407         of HAVE_REALLOC.
48408         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
48409         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
48410         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
48411         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
48413 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48414             Bruno Haible  <bruno@clisp.org>
48416         Make the module 'calloc-gnu' work again on AIX and OSF/1.
48417         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
48418         HAVE_CALLOC.
48419         * lib/xmalloc.c: Update accordingly.
48420         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
48421         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
48422         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
48424 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48425             Bruno Haible  <bruno@clisp.org>
48427         Make the module 'malloc-gnu' work again on AIX and OSF/1.
48428         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
48429         HAVE_MALLOC.
48430         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
48431         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
48432         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
48434 2010-08-29  Bruno Haible  <bruno@clisp.org>
48436         Update modules list.
48437         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
48438         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
48439         (String handling <string.h>): Add astrxfrm.
48440         (File system functions): Add readlinkat.
48442 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48444         Tests for module 'realloc-gnu'.
48445         * modules/realloc-gnu-tests: New file.
48446         * tests/test-realloc-gnu.c: New file.
48448         Tests for module 'calloc-gnu'.
48449         * modules/calloc-gnu-tests: New file.
48450         * tests/test-calloc-gnu.c: New file.
48452         Tests for module 'malloc-gnu'.
48453         * modules/malloc-gnu-tests: New file.
48454         * tests/test-malloc-gnu.c: New file.
48456 2010-08-28  Bruno Haible  <bruno@clisp.org>
48458         Rename module 'realloc' -> 'realloc-gnu'.
48459         * modules/realloc-gnu: New file, copied from modules/realloc.
48460         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
48461         obsolete.
48462         * modules/mgetgroups (Depends-on): Update.
48463         * doc/posix-functions/realloc.texi: Update.
48464         * NEWS: Mention the change.
48466         Rename module 'calloc' -> 'calloc-gnu'.
48467         * modules/calloc-gnu: New file, copied from modules/calloc.
48468         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
48469         obsolete.
48470         * doc/posix-functions/calloc.texi: Update.
48471         * NEWS: Mention the change.
48473         Rename module 'malloc' -> 'malloc-gnu'.
48474         * modules/malloc-gnu: New file, copied from modules/malloc.
48475         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
48476         obsolete.
48477         * modules/argp (Depends-on): Update.
48478         * modules/regex (Depends-on): Update.
48479         * doc/posix-functions/malloc.texi: Update.
48480         * NEWS: Mention the change.
48482 2010-08-28  Eric Blake  <eblake@redhat.com>
48484         pread, pwrite: add missing dependency
48485         * modules/pread (Depends-on): Add extensions.
48486         * modules/pwrite (Depends-on): Likewise.
48488 2010-08-28  Bruno Haible  <bruno@clisp.org>
48490         unistr/u*-strchr: Fix tests dependencies.
48491         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
48492         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
48493         Reported by Ian Beckwith <ianb@erislabs.net>.
48495 2010-08-28  Bruno Haible  <bruno@clisp.org>
48497         read-file: Don't occupy too much unused memory.
48498         * lib/read-file.c (fread_file): Shrink the buffer at the end.
48500 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
48501             Eric Blake  <eblake@redhat.com>
48502             Bruno Haible  <bruno@clisp.org>
48504         read-file: Avoid memory reallocations with regular files.
48505         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
48506         (fread_file): With regular files, use the remaining length as the
48507         initial buffer size.  Check against overflow.
48508         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
48509         sys_stat.
48511 2010-08-28  Bruno Haible  <bruno@clisp.org>
48513         ftello: Relax license.
48514         * modules/ftello (License): Relax to LGPLv2+.
48515         Reported by Eric Blake.
48517 2010-08-28  Bruno Haible  <bruno@clisp.org>
48519         Avoid relocwrapper link errors due to gnulib replacement functions.
48520         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
48521         function.
48522         Reported by Ben Pfaff <blp@cs.stanford.edu>.
48524 2010-08-28  Bruno Haible  <bruno@clisp.org>
48526         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
48527         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
48528         defined.
48529         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
48530         Suggested by Eric Blake.
48532 2010-08-28  Bruno Haible  <bruno@clisp.org>
48534         sys_socket, netdb: Ensure socklen_t gets defined.
48535         * modules/sys_socket (Depends-on): Add socklen.
48536         * modules/netdb (Depends-on): Likewise.
48537         * modules/getaddrinfo (Depends-on): Remove socklen.
48538         * modules/getsockopt (Depends-on): Likewise.
48539         * modules/setsockopt (Depends-on): Likewise.
48540         * tests/test-sys_socket.c: Check that socklen_t is defined.
48541         * tests/test-netdb.c: Likewise.
48542         * m4/socklen.m4: Update comments.
48543         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48545 2010-08-27  Eric Blake  <eblake@redhat.com>
48547         login_tty: add missing dependency
48548         * modules/login_tty (Depends-on): Add pty.
48550 2010-08-26  Eric Blake  <eblake@redhat.com>
48552         lib-symbol-versions: fix m4 quoting
48553         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
48554         format for AC_LINK_IFELSE.
48556         glob: fix compile test
48557         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
48559         btowc: fix missing file
48560         * modules/btowc (Files): Also ship locale-fr.m4.
48562         lseek: fix link test
48563         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
48564         AC_LINK_IFELSE.
48566         include_next: silence autoconf 2.68 warning
48567         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
48568         AC_COMPILE_IFELSE as special.
48569         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
48570         autoconf < 2.68.
48572         acl: fix compilation test
48573         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
48574         AC_COMPILE_IFELSE.
48576 2010-08-26  Bruno Haible  <bruno@clisp.org>
48578         Modernize AC_TRY_RUN invocations.
48579         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
48580         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
48581         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
48582         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
48583         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
48584         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
48585         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
48586         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
48587         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
48588         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
48589         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
48590         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
48591         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
48592         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
48593         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
48594         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
48595         gl_MBRLEN_NUL_RETVAL): Likewise.
48596         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
48597         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
48598         Likewise.
48599         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
48600         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
48601         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
48602         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
48603         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
48604         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
48605         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
48606         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
48607         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
48608         Likewise.
48609         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
48610         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
48611         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
48612         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
48613         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
48614         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
48615         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
48616         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
48617         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
48618         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
48620 2010-08-26  Bruno Haible  <bruno@clisp.org>
48622         Modernize AC_TRY_LINK invocations.
48623         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
48624         AC_TRY_LINK.
48625         * m4/argp.m4 (gl_ARGP): Likewise.
48626         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
48627         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
48628         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
48629         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
48630         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
48631         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
48632         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
48633         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
48634         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
48635         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
48636         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
48637         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
48638         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
48639         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
48640         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
48641         * m4/hostent.m4 (gl_HOSTENT): Likewise.
48642         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
48643         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
48644         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
48645         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
48646         Likewise.
48647         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
48648         Likewise.
48649         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
48650         Likewise.
48651         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
48652         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
48653         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
48654         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
48655         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
48656         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
48657         * m4/servent.m4 (gl_SERVENT): Likewise.
48658         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
48659         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
48660         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
48661         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
48662         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
48663         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
48664         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
48665         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
48666         * modules/tsearch-tests (configure.ac): Likewise.
48668 2010-08-26  Bruno Haible  <bruno@clisp.org>
48670         Modernize AC_TRY_COMPILE invocations.
48671         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
48672         AC_TRY_COMPILE.
48673         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
48674         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
48675         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
48676         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
48677         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
48678         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
48679         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
48680         * m4/lock.m4 (gl_LOCK): Likewise.
48681         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
48682         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
48683         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
48684         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
48685         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
48686         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
48687         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
48688         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
48689         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
48690         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
48691         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
48692         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
48693         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
48694         extraneous semicolon.
48696 2010-08-26  Jim Meyering  <meyering@redhat.com>
48698         stat-time: relax license LGPL
48699         * modules/stat-time (License): Change from GPL to LGPL,
48700         with consent from all contributors, for use in libguile.
48701         Requested by Ludovic Courtès.
48703 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
48705         poll: return immediately on POLLHUP.
48706         * lib/poll.c (poll): Always set timeout before wait_timeout is
48707         computed.
48709 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48711         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
48712         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
48713         rmdir ("dir/.//"), unlinkat.
48715 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
48717         stdbool: avoid spurious failure with modern xlc
48718         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
48720 2010-08-24  Bruno Haible  <bruno@clisp.org>
48722         getloadavg: simplify code
48723         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
48724         gl_have_func. Update comments.
48726 2010-08-24  Eric Blake  <eblake@redhat.com>
48728         getloadavg: don't define SVR4 on cygwin
48729         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
48730         only define SVR4 when -lkvm is required.
48731         Reported by Yaakov Selkowitz.
48733 2010-08-24  Bruno Haible  <bruno@clisp.org>
48735         priv-set: fix comment
48736         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
48738 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
48740         priv-set: fix comments
48741         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
48742         to match code, as suggested by David Bartley in:
48743         http://lists.gnu.org/r/bug-tar/2010-08/msg00018.html
48745 2010-08-23  Eric Blake  <eblake@redhat.com>
48747         stdbool: avoid rejecting clang
48748         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
48749         * tests/test-stdbool.c: Enable more tests if using the system
48750         <stdbool.h> instead of the gnulib replacement.
48751         (main): Move xlc bug test to a runtime test for all compilers.
48752         Reported by Anders Kaseorg.
48754         argz: fix shell quoting issue
48755         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
48756         Reported by Charles Wilson.
48758 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
48759             Erik Faye-Lund <kusmabite@gmail.com>
48761         poll, select: handle ERROR_BROKEN_PIPE.
48762         * lib/poll.c (win32_compute_revents): Return POLLHUP when
48763         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
48764         * lib/select.c (win32_compute_revents): Do not mark a pipe
48765         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
48767 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
48769         fts: allow compilation with C++
48770         * lib/fts_.h: Specify extern "C" linkage with C++.
48772 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48774         Fix gnulib-tool sed script de-commentation for AIX sed.
48775         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
48776         sed.
48778 2010-08-17  Eric Blake  <eblake@redhat.com>
48780         test-stddef: test for (some) offsetof bugs
48781         * tests/test-stddef.c: Enhance test to ensure correct type of
48782         offsetof.
48783         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
48784         that we are not fixing at this time.
48786 2010-08-15  Bruno Haible  <bruno@clisp.org>
48788         stpncpy: Allow stpncpy to be defined as a macro.
48789         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
48790         if it's already correctly declared.
48791         * lib/string.in.h (stpncpy): Undefine before redefining.
48792         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
48794 2010-08-14  Bruno Haible  <bruno@clisp.org>
48796         Rename module 'memxfrm' to 'amemxfrm'.
48797         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
48798         (amemxfrm): Renamed from memxfrm.
48799         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
48800         (amemxfrm): Renamed from memxfrm.
48801         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
48802         * NEWS: Mention the change.
48803         * MODULES.html.sh (String handling <string.h>): Update.
48804         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
48805         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
48806         * lib/unicase/u16-casexfrm.c: Likewise.
48807         * lib/unicase/u32-casexfrm.c: Likewise.
48808         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
48809         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
48810         * lib/uninorm/u16-normxfrm.c: Likewise.
48811         * lib/uninorm/u32-normxfrm.c: Likewise.
48812         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
48813         memxfrm.
48814         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
48815         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
48816         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
48817         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
48818         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
48819         Suggested by Paul Eggert.
48821 2010-08-14  Bruno Haible  <bruno@clisp.org>
48823         Tests for module 'astrxfrm'.
48824         * modules/astrxfrm-tests: New file.
48825         * tests/test-astrxfrm.c: New file.
48827         New module 'astrxfrm'.
48828         * lib/astrxfrm.h: New file.
48829         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
48830         * modules/astrxfrm: New file.
48832 2010-08-14  Reuben Thomas  <rrt@sc3d.org>
48834         regex: Tweak doc.
48835         * doc/regex.texi (Overview): Don't mention regex.c.
48836         (GNU Regular Expression Compiling): Likewise.
48837         (Match-end-of-line Operator): Mention 'not_eol'.
48839 2010-08-14  Brian Gough  <bjg@gnu.org>
48840             Bruno Haible  <bruno@clisp.org>
48842         git-merge-changelog: add doc relating to use with bzr and hg.
48843         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
48845 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
48847         pthread: fix pthread.h creation for srcdir != builddir
48848         * modules/pthread (Makefile.am): Fix the rule to work also in a
48849         non-srcdir build.
48851 2010-08-13  Karl Berry  <karl@gnu.org>
48853         * doc/regex.texi (Predefined Syntaxes): @smallexample.
48854         * doc/posix-*/*: force line break before @url of POSIX
48855         specifications.
48856         Suggested by Werner Lemberg.
48858 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
48860         strtod: fix const diagnostic
48861         * lib/strtod.c (strtod): Don't assign const char * to char *,
48862         as this elicits a warning from GCC when warnings are enabled.
48864 2010-08-10  Pádraig Brady  <P@draigbrady.com>
48865         and Eric Blake  <eblake@redhat.com>
48867         copy-acl: ignore ENOTSUP on HP-UX
48868         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
48869         so that it is available for HP-UX.
48870         * lib/copy-acl.c (qcopy_acl): Use it.
48871         Reported by Patrick M. Callahan.
48873 2010-08-10  Eric Blake  <eblake@redhat.com>
48875         open, chown: relax license
48876         * modules/open (License): Change to LGPLv2+, with consent by all
48877         authors, for use in augeas.
48878         * modules/chown (License): Likewise.
48879         * modules/lchown (Likewise): Likewise.
48880         Requested by Adam Stokes.
48882 2010-08-09  Karl Berry  <karl@gnu.org>
48884         * build-aux/ar-lib: new file, import from Automake.
48885         * config/srclist.txt: autocheck for updates.
48887 2010-08-09  Eric Blake  <eblake@redhat.com>
48889         readlinkat: adjust client modules
48890         * modules/areadlinkat (Depends-on): Use readlinkat, not
48891         symlinkat.
48892         * modules/areadlinkat-with-size (Depends-on): Likewise.
48894         mknod: be more vocal about danger of running tests as root
48895         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
48896         root, since that is just asking for problems.
48897         Suggested by Bruno Haible, based on a report by Rainer Tammer.
48899         readlinkat: split into its own module
48900         * modules/symlinkat: Split readlinkat...
48901         * modules/readlinkat: ...into separate module.
48902         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
48903         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
48904         * lib/symlinkat.c (readlinkat): Move...
48905         * lib/readlinkat.c: ...into new file.
48906         * modules/symlinkat-tests: Split readlinkat test...
48907         * modules/readlinkat-tests: ...into separate module.
48908         * tests/test-symlinkat.c: Split...
48909         * tests/test-readlinkat.c: ...into new file.
48910         * NEWS: Document the split.
48911         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
48912         * lib/unistd.in.h (readlinkat): Likewise.
48913         Suggested by Bruno Haible.
48915 2010-08-08  Bruno Haible  <bruno@clisp.org>
48917         memxfrm: Speed up.
48918         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
48919         that usually only one call to strxfrm is necessary for each string
48920         part.
48921         Reported by Paul Eggert <eggert@cs.ucla.edu>.
48923 2010-08-07  Karl Berry  <karl@gnu.org>
48925         * doc/posix-headers/limits.texi,
48926         * doc/posix-functions/malloc.texi,
48927         * doc/posix-functions/strsignal.texi: missing @item.
48928         * doc/ld-version-script.texi: spurious leading i.
48929         * doc/regex.texi (Interval Operators): no commas inside @var.
48931 2010-08-01  Bruno Haible  <bruno@clisp.org>
48933         Integrate the regex documentation.
48934         * doc/gnulib.texi: Define 'cn' index.
48935         (Regular expressions): New a chapter that includes regex.texi and
48936         regexprops-generic.texi.
48937         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
48938         syntax.
48940         Whitespace cleanup.
48941         * doc/regex.texi: Remove trailing spaces.
48943         Add regex documentation.
48944         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
48945         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
48946         Written by Kathy A. Hargreaves and Karl Berry.
48948 2010-08-01  Bruno Haible  <bruno@clisp.org>
48950         link: Update documentation.
48951         * doc/posix-functions/link.texi: Update regarding Solaris.
48953 2010-07-31  Bruno Haible  <bruno@clisp.org>
48955         Update modules list.
48956         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
48957         (String handling <string.h>): Add memcmp2, memxfrm.
48958         (Container data structures): Add xlist, xsublist, xoset.
48959         (Core language properties): Add alignof, unused-parameter.
48960         (Process control, Numeric conversion functions <stdlib.h>): Renamed
48961         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
48962         (Unibyte characters <ctype.h>): New section.
48963         (String handling <string.h>): New section.
48964         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
48965         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
48966         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
48967         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
48968         tan, tanh, tanl, y0, y1, yn.
48969         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
48970         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
48971         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
48972         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
48973         unlockpt, vdprintf, vdprintf-posix.
48974         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
48975         (File system functions): Add concat-filename, sys_file, sys_ioctl,
48976         xconcat-filename.
48977         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
48978         getdtablesize, pipe2, pipe2-safer.
48979         (Security): New section.
48980         (Networking functions): Add accept4.
48981         (Signal handling): Add sigpipe.
48982         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
48983         mbmemcasecoll.
48984         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
48985         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
48986         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
48987         pipe-filter-ii.
48988         (Misc): Add argp-version-etc, login_tty, parse-duration.
48990 2010-07-31  Bruno Haible  <bruno@clisp.org>
48992         Improve doc in MODULES.html.
48993         * modules/linkat (Description): Add the word "function".
48994         * modules/mkfifo (Description): Likewise.
48995         * modules/mknod (Description): Likewise.
48996         * modules/remove (Description): Likewise.
48997         * modules/renameat (Description): Likewise.
48998         * modules/stat (Description): Likewise.
48999         * modules/symlink (Description): Likewise.
49000         * modules/unlink (Description): Likewise.
49002 2010-07-31  Bruno Haible  <bruno@clisp.org>
49004         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
49005         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
49006         option --enable/disable-c++ instead of --enable/disable-cxx.
49007         * NEWS: Mention the change.
49009 2010-07-31  Bruno Haible  <bruno@clisp.org>
49011         readlink, areadlink: Relax test a bit.
49012         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
49013         alternative to ENOTDIR.
49014         * tests/test-areadlink.h (test_areadlink): Likewise.
49015         Reported by Rainer Tammer.
49017 2010-07-31  Bruno Haible  <bruno@clisp.org>
49019         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
49020         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
49021         character, perform the search using U_STRCHR.
49022         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
49023         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
49024         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
49025         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
49026         Suggested by Paolo Bonzini.
49028 2010-07-31  Bruno Haible  <bruno@clisp.org>
49030         unistr/u*-strstr: Fix dependencies.
49031         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
49032         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
49033         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
49035 2010-07-31  Bruno Haible  <bruno@clisp.org>
49037         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
49038         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
49039         the beginning of the loop.
49040         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
49041         cases in 'switch' statement.
49043         unistr/u8-strchr: Fix several bugs.
49044         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
49045         the string. When not found, return NULL, not a pointer near the end.
49047         More tests for unistr/u8-strchr.
49048         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
49049         that the function does not read past the first occurrence of the byte
49050         being searched.
49051         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
49052         * tests/unistr/test-u16-strchr.c (main): New function.
49053         * tests/unistr/test-u32-strchr.c (main): New function.
49055 2010-07-31  Bruno Haible  <bruno@clisp.org>
49057         posix-modules: Ignore backup files of documentation files.
49058         * posix-modules: grep only through files named *.texi.
49060 2010-07-31  Bruno Haible  <bruno@clisp.org>
49062         symlinkat: Fix documentation.
49063         * doc/posix-functions/readlinkat.texi: Fix module name.
49065 2010-07-31  Bruno Haible  <bruno@clisp.org>
49067         fchownat: Replace also when chown has the trailing slash bug.
49068         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
49069         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
49070         introduced on 2010-04-10.
49071         Reported by Rainer Tammer.
49073 2010-07-31  Bruno Haible  <bruno@clisp.org>
49075         linkat: Work around AIX 7.1 bug.
49076         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
49077         whether linkat handles trailing slash correctly. If not, replace linkat
49078         and define LINKAT_TRAILING_SLASH_BUG.
49079         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
49080         check whether (fd1,file1) points to a directory if file1 or file2 ends
49081         in a slash. Code taken from lib/link.c.
49082         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
49083         Reported by Rainer Tammer.
49085 2010-07-31  Bruno Haible  <bruno@clisp.org>
49087         Correctly determine whether pow is available in libc on AIX 7 with xlc.
49088         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
49089         This disables an xlc optimization that was causing wrong test results.
49090         Reported by Rainer Tammer.
49092 2010-07-31  Bruno Haible  <bruno@clisp.org>
49094         iconv: Work around AIX 6.1..7.1 bug.
49095         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
49096         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
49097         cross-compiling, guess no on all versions of AIX.
49098         Reported by Rainer Tammer.
49100 2010-07-31  Bruno Haible  <bruno@clisp.org>
49102         readlink: Relax test a bit.
49103         * tests/test-readlink.h (test_readlink): Allow different errno value
49104         when readlink is called with a file name that ends in / and refers to
49105         a file.
49106         Suggested by Eric Blake.
49107         Reported by Rainer Tammer.
49109 2010-07-31  Bruno Haible  <bruno@clisp.org>
49111         copysign: Does not require -lm on glibc systems.
49112         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
49113         gl_COMMON_DOUBLE_MATHFUNC.
49114         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
49116 2010-07-31  Bruno Haible  <bruno@clisp.org>
49118         duplocale: Work around AIX 7.1 bug.
49119         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
49120         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
49121         * lib/duplocale.c (rpl_duplocale): Update comment.
49122         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
49123         Reported by Rainer Tammer.
49125 2010-07-30  Bruno Haible  <bruno@clisp.org>
49127         dirfd: Avoid link error on AIX 7.1.
49128         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
49129         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
49130         exist, set REPLACE_DIRFD.
49131         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
49132         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
49133         * doc/posix-functions/dirfd.texi: Update.
49134         Reported by Rainer Tammer.
49136 2010-07-30  Eric Blake  <eblake@redhat.com>
49138         strtod: next round of AIX fixes
49139         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
49140         exponent.
49141         * tests/test-strtod.c (main): Enhance tests.
49142         * doc/posix-functions/strtod.texi (strtod): Document next bug.
49143         Reported by Rainer Tammer.
49145         futimens: fix configure check
49146         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
49147         Reported by Bruno Haible.
49149 2010-07-30  Bruno Haible  <bruno@clisp.org>
49151         getline: Update regarding AIX.
49152         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
49153         Reported by Rainer Tammer.
49155 2010-07-30  Bruno Haible  <bruno@clisp.org>
49157         wcwidth: Drop replacement on AIX 7.
49158         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
49159         AIX 7.
49160         Reported by Rainer Tammer.
49162 2010-07-30  Bruno Haible  <bruno@clisp.org>
49164         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
49165         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
49166         a 'char *'.
49167         Reported by Rainer Tammer.
49169 2010-07-30  Bruno Haible  <bruno@clisp.org>
49171         unlink: Update regarding AIX.
49172         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
49173         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
49174         Reported by Rainer Tammer.
49176 2010-07-30  Bruno Haible  <bruno@clisp.org>
49178         symlink: Update regarding AIX.
49179         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
49180         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
49181         Reported by Rainer Tammer.
49183 2010-07-30  Bruno Haible  <bruno@clisp.org>
49185         strndup: Update regarding AIX.
49186         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
49187         AIX 7.
49188         Reported by Rainer Tammer.
49190 2010-07-30  Bruno Haible  <bruno@clisp.org>
49192         stat: Update regarding AIX.
49193         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
49194         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
49195         Reported by Rainer Tammer.
49197 2010-07-30  Bruno Haible  <bruno@clisp.org>
49199         truncl: Fix autoconf test.
49200         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
49201         whether truncl works.
49202         Reported by Rainer Tammer.
49204 2010-07-30  Bruno Haible  <bruno@clisp.org>
49206         round: Update regarding AIX.
49207         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
49208         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
49209         Reported by Rainer Tammer.
49211 2010-07-30  Bruno Haible  <bruno@clisp.org>
49213         rename: Update regarding AIX.
49214         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
49215         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
49216         Reported by Rainer Tammer.
49218 2010-07-30  Bruno Haible  <bruno@clisp.org>
49220         printf.m4: Update regarding AIX.
49221         * m4/printf.m4: Update comments regarding AIX.
49222         Reported by Rainer Tammer.
49224 2010-07-30  Bruno Haible  <bruno@clisp.org>
49226         iconv: Update regarding AIX.
49227         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
49228         AIX 7.
49229         Reported by Rainer Tammer.
49231 2010-07-30  Bruno Haible  <bruno@clisp.org>
49233         getopt: Update regarding AIX.
49234         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
49235         no on AIX.
49236         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
49237         Reported by Rainer Tammer.
49239 2010-07-30  Bruno Haible  <bruno@clisp.org>
49241         ldexpl; Update regarding AIX.
49242         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
49243         on AIX 7.
49244         Reported by Rainer Tammer.
49246 2010-07-30  Bruno Haible  <bruno@clisp.org>
49248         frexpl: Update regarding AIX.
49249         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
49250         on AIX 7.
49251         Reported by Rainer Tammer.
49253 2010-07-30  Bruno Haible  <bruno@clisp.org>
49255         open, fopen: Update regarding AIX.
49256         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
49257         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
49258         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
49259         * doc/posix-functions/fopen.texi: Likewise.
49260         Reported by Rainer Tammer.
49262 2010-07-30  Bruno Haible  <bruno@clisp.org>
49264         chown: Update doc regarding AIX.
49265         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
49266         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
49267         Reported by Rainer Tammer.
49269 2010-07-30  Eric Blake  <eblake@redhat.com>
49271         strtod: fix bug in replacement function on AIX
49272         * lib/strtod.c (strtod): Special case broken "0x" parse in
49273         underlying strtod.
49274         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
49275         * doc/posix-functions/strtod.texi (strtod): Likewise.
49276         Reported by Rainer Tammer.
49278 2010-07-30  Bruno Haible  <bruno@clisp.org>
49280         mbrlen: Fix cross-compilation guess for AIX.
49281         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
49282         guess. Leftover from 2008-12-22.
49284 2010-07-30  Bruno Haible  <bruno@clisp.org>
49286         mbrtowc: Fix cross-compilation guess for AIX.
49287         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
49288         guess. Leftover from 2008-12-21.
49290 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
49292         init.sh: work around trap limitation of some shells
49293         * tests/init.sh (setup_): Move exit trap outside of shell function.
49295 2010-07-29  Eric Blake  <eblake@redhat.com>
49297         strtod: aid debugging
49298         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
49299         understanding why strtod is rejected.
49301 2010-07-28  Bruno Haible  <bruno@clisp.org>
49303         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
49304         * lib/unistr/u8-chr.c: Include <string.h>.
49305         * tests/unistr/test-u8-chr.c: Likewise.
49306         * tests/unistr/test-u16-chr.c: Likewise.
49307         * tests/unistr/test-u32-chr.c: Likewise.
49308         * tests/unistr/test-u8-strchr.c: Likewise.
49309         * tests/unistr/test-u16-strchr.c: Likewise.
49310         * tests/unistr/test-u32-strchr.c: Likewise.
49311         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
49312         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
49313         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
49314         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
49316 2010-07-28  Bruno Haible  <bruno@clisp.org>
49318         Use spaces for indentation, not tabs.
49319         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
49321 2010-07-27  Bruno Haible  <bruno@clisp.org>
49323         mbspcasecmp: Fix function specification.
49324         * lib/string.in.h (mbspcasecmp): Fix specification comment.
49325         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
49326         Reported by Eric Blake <eblake@redhat.com>.
49328 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
49330         timespec: use cast and not conditional, as truncation isn't possible
49331         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
49332         instead of a conditional.  Comment about the situation in more detail.
49333         This undoes most of the 2009-10-29 patch.
49335 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
49337         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
49338         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
49339         * lib/unistr/u8-strchr.c: Likewise.
49340         * modules/unistr/u8-chr: Depend on memchr.
49342         unistr/u*-strchr: add tests
49343         * modules/unistr/u8-strchr-tests: New file.
49344         * modules/unistr/u16-strchr-tests: New file.
49345         * modules/unistr/u32-strchr-tests: New file.
49346         * tests/unistr/test-strchr.h: New file.
49347         * tests/unistr/test-u8-strchr.c: New file.
49348         * tests/unistr/test-u16-strchr.c: New file.
49349         * tests/unistr/test-u32-strchr.c: New file.
49351         unistr/u*-chr: test multibyte sequences more
49352         * tests/unistr/test-chr.h: Do complete testing of the characters in the
49353         test vector.
49354         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
49355         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
49356         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
49358         unistr/u*-chr: test multibyte sequences
49359         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
49361         unistr/u*-chr: prepare for multibyte tests
49362         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
49363         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
49364         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
49365         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
49366         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
49367         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
49369 2010-07-18  Bruno Haible  <bruno@clisp.org>
49371         unistr/u8-strchr: Optimize non-ASCII argument case.
49372         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
49373         because the first byte often matches anyway.
49374         Reported by Pádraig Brady <P@draigbrady.com>.
49376 2010-07-15  Karl Berry  <karl@gnu.org>
49378         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
49380 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
49382         getcwd: on Solaris, work better if ancestors are inaccessible
49383         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
49384         buffer and size, try again with a large buffer.  This works better
49385         on Solaris, since its getcwd succeeds even if the path to the root
49386         is inaccessible, and this is helpful in common cases such as .zfs
49387         hidden directories.  Problem reported by J Chapman Flack in
49388         http://lists.gnu.org/r/bug-tar/2010-06/msg00000.html
49389         Use system getcwd if it's declared, not merely if it's partly
49390         working; use the partly-working test only to avoid needless effort
49391         if the system getcwd fails.
49392         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
49393         comment that was already obsolete and is now even more obsolete.
49394         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
49395         now might call strdup.
49397 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
49399         pthread: Add enough so that coreutils/src/sort.c compiles.
49400         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
49401         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
49402         gnulib. Include <sched.h> and <time.h>, as per POSIX.
49403         Include <sys/types.h>, in case it defines pthread_t.
49404         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
49405         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
49406         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
49407         (pthread_rwlockattr_t, pthread_spinlock_t):
49408         New typedefs, if HAVE_PTHREAD_T is not defined.
49409         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
49410         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
49411         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
49412         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
49413         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
49414         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
49415         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
49416         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
49417         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
49418         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
49419         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
49420         New macros.
49421         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
49422         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
49423         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
49424         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
49425         (pthread_spin_unlock): New dummy functions.
49426         (pthread_create): Return EAGAIN; don't set errno.
49427         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
49428         require AC_C_INLINE.
49429         * modules/pthread (Depends-on): Add sched, time.
49430         (pthread.h): Use AM_V_GEN.
49432 2010-07-13  Bruno Haible  <bruno@clisp.org>
49434         striconveh: Don't malloc memory if the result buffer is sufficient.
49435         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
49436         buffer if its size is sufficient.
49437         Reported by Ludovic Courtès <ludo@gnu.org>.
49439 2010-07-13  Bruno Haible  <bruno@clisp.org>
49441         strtod: Add safety check.
49442         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
49444 2010-07-12  Bruno Haible  <bruno@clisp.org>
49446         Unify tests that set gl_cv_func_ldexpl_no_libm.
49447         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
49448         gl_FUNC_LDEXPL.
49449         (gl_FUNC_LDEXPL): Invoke it.
49450         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
49452 2010-07-12  Bruno Haible  <bruno@clisp.org>
49454         Unify tests that set gl_cv_func_ldexp_no_libm.
49455         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
49456         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
49457         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
49458         (configure.ac): Simply invoke gl_FUNC_LDEXP.
49459         * modules/strtod (Files): Add m4/ldexp.m4.
49461 2010-07-12  Bruno Haible  <bruno@clisp.org>
49463         Unify tests that set gl_cv_func_frexpl_no_libm.
49464         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
49465         gl_FUNC_FREXPL_NO_LIBM.
49466         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
49467         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
49469 2010-07-12  Bruno Haible  <bruno@clisp.org>
49471         Unify tests that set gl_cv_func_frexp_no_libm.
49472         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
49473         gl_FUNC_FREXP_NO_LIBM.
49474         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
49475         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
49477 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
49479         memcoll: clarify sizes versus lengths, document better, and tweak perf
49480         * lib/memcoll.c (strcoll_loop, memcoll0):
49481         Improve quality of descriptive comments.  Name variables
49482         consistently as to whether they are lengths (which do not include
49483         terminating null) versus sizes (which do).
49484         * lib/xmemcoll.c (xmemcoll0): Likewise.
49485         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
49486         returned when s1size == 0; this is easier to compile and saves
49487         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
49489 2010-07-12  Bruno Haible  <bruno@clisp.org>
49491         Tests for module '_Exit'.
49492         * modules/_Exit-tests: New file.
49493         * tests/test-_Exit.sh: New file.
49494         * tests/test-_Exit.c: New file.
49496         New module '_Exit'.
49497         * lib/stdlib.in.h (__attribute__): New macro.
49498         (_Exit): New declaration.
49499         * lib/_Exit.c: New file.
49500         * m4/_Exit.m4: New file.
49501         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
49502         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
49503         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
49504         * modules/_Exit: New file.
49505         * tests/test-stdlib-c++.cc (_Exit): Check signature.
49506         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
49508 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
49510         strtod: make it more-accurate typically, and don't require libm
49511         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
49512         Include limits.h.  Don't include string.h.
49513         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
49514         (locale_isspace): New function, so that no casts are needed to
49515         check whether *s is a space.
49516         (ldexp): Provide an unused dummy if not available.
49517         (scale_radix_exp, parse_number, underlying_strtod): New functions.
49518         (strtod): Use them.  This implementation prefers to use the
49519         underlying strtod if available, falling back on our own code
49520         only to fix known bugs.  This is more likely to produce an
49521         accurate result.  Also, it avoids the use of libm functions.
49522         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
49523         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
49524         was absent, but it caused a test failure with coreutils.
49525         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
49526         with libm.
49527         * modules/strtod (Makefile.am, Link): libm is no longer needed.
49528         * modules/strtod-tests (Makefile.am): Likewise.
49530 2010-07-11  Pádraig Brady  <P@draigBrady.com>
49531             Bruno Haible  <bruno@clisp.org>
49533         unistr/u8-strchr: Optimize ASCII argument case.
49534         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
49536 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
49538         (x)memcoll: minor tweaks
49539         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
49540         is after the type that it qualifies.
49541         (memcoll0): Likewise.
49542         * lib/memcoll.h (memcoll0): Likewise.
49543         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
49544         * lib/xmemcoll.h (xmemcoll0): Likewise.
49545         * lib/memcoll.c (memcoll0): Correct the comment.  This function
49546         differs from memcoll in that the NUL byte is part of the argument.
49547         Omit the abort-checks, as performance is a real issue here.  Plus,
49548         the checks were wrong anyway (an off-by-one error).  Omit local
49549         variable 'diff', as it's a bit clearer that way.
49550         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
49551         no longer needed.
49553 2010-07-08  Chen Guo  <chenguo4@yahoo.com>
49555         (x)memcoll: speedup when input is known to be NUL delimited
49556         * lib/memcoll.c: Include stdlib.
49557         (memcoll0): New function.
49558         (strcoll_loop): New function, refactored for use in both memcoll
49559         and memcoll0.
49560         * lib/memcoll.h (memcoll0): Add prototype.
49561         * lib/xmemcoll.c (xmemcoll0): New function.
49562         (collate_error): New function, refactored for use in both xmemcoll
49563         and xmemcoll0.
49564         * lib/xmemcoll.h (xmemcoll0): Add prototype.
49565         * m4/memcoll.m4: add inline invocation.
49567 2010-07-06  Pádraig Brady  <P@draigBrady.com>
49569         * build-aux/bootstrap: Remove any local translations
49570         from the translation project synchronization directory,
49571         so that local only translations are not distributed.
49573 2010-07-04  Bruno Haible  <bruno@clisp.org>
49575         fsusage: Clarify which code applies to which platforms.
49576         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
49577         platform.
49578         * lib/fsusage.c (get_fs_usage): Likewise.
49580 2010-07-04  Bruno Haible  <bruno@clisp.org>
49582         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
49583         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
49584         Reported by Martin Lambers <marlam@marlam.de>.
49586 2010-07-04  Jim Meyering  <meyering@redhat.com>
49588         hash: once again explicitly disallow insertion of NULL
49589         * lib/hash.c (hash_insert0): Reinstate just-removed test:
49590         inserting a NULL pointer cannot work with these functions.
49591         Add a comment with details.
49592         This reverts part of the 2010-07-01 commit, 5bef1a35
49593         "hash: extend module to deal with non-pointer keys".
49595 2010-07-01  Bruno Haible  <bruno@clisp.org>
49597         stdbool: Update doc.
49598         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
49599         Info from Christian Weisgerber <naddy@mips.inka.de>.
49601 2010-07-01  Jim Meyering  <meyering@redhat.com>
49603         hash: extend module to deal with non-pointer keys
49604         * lib/hash.c (hash_insert0): New interface, much like hash_insert
49605         but that allows insertion of non-pointer entries.
49606         Do not disallow an ENTRY value of NULL.
49607         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
49608         * lib/hash.h (hash_insert0): Declare.
49610 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
49612         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
49613         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
49614         not present (i.e. with autoconf 2.59 and when using gettextize, not
49615         gnulib), require AC_GNU_SOURCE instead.
49617 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
49619         idpriv-drop: Fix tests.
49620         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
49621         not to the test-idpriv-droptemp program.
49623 2010-06-29  Bruno Haible  <bruno@clisp.org>
49625         string: Fix syntax error with g++ 2.96.
49626         * lib/string.in.h (__pure__): Remove definition.
49627         (_GL_ATTRIBUTE_PURE): New macro.
49628         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
49629         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
49630         Reported by Christian Weisgerber <naddy@mips.inka.de>.
49632 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
49634         unitypes: Fix bug introduced on 2010-05-18.
49635         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
49637 2010-06-22  Eric Blake  <eblake@redhat.com>
49639         memmem: slight optimization
49640         * lib/str-two-way.h (critical_factorization): Update comments.
49641         Reduce work during factorization phase.
49642         Reported by Carlos Bueno <carlos@bueno.org>.
49644 2010-06-21  Bruno Haible  <bruno@clisp.org>
49646         Fix HAVE_CALLOC_POSIX misnomer.
49647         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
49648         !HAVE_CALLOC_POSIX.
49649         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
49650         HAVE_CALLOC_POSIX.
49651         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
49652         instead of HAVE_CALLOC_POSIX.
49653         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
49654         HAVE_CALLOC_POSIX.
49656         Use modern idiom for calloc() replacement.
49657         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
49658         AC_FUNC_CALLOC.
49659         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
49660         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
49661         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
49662         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
49663         (gl_REPLACE_CALLOC): New macro.
49665 2010-06-21  Bruno Haible  <bruno@clisp.org>
49667         Fix HAVE_REALLOC_POSIX misnomer.
49668         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
49669         !HAVE_REALLOC_POSIX.
49670         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
49671         HAVE_REALLOC_POSIX.
49672         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
49673         instead of HAVE_REALLOC_POSIX.
49674         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
49675         HAVE_REALLOC_POSIX.
49677         Use modern idiom for realloc() replacement.
49678         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
49679         AC_FUNC_REALLOC.
49680         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
49681         Autoconf's AC_FUNC_REALLOC.
49682         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
49683         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
49684         (gl_REPLACE_REALLOC): New macro.
49685         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
49687 2010-06-21  Bruno Haible  <bruno@clisp.org>
49689         Fix HAVE_MALLOC_POSIX misnomer.
49690         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
49691         !HAVE_MALLOC_POSIX.
49692         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
49693         HAVE_MALLOC_POSIX.
49694         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
49695         instead of HAVE_MALLOC_POSIX.
49696         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
49697         HAVE_MALLOC_POSIX.
49699         Use modern idiom for malloc() replacement.
49700         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
49701         AC_FUNC_MALLOC.
49702         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
49703         Autoconf's AC_FUNC_MALLOC.
49704         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
49705         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
49706         (gl_REPLACE_MALLOC): New macro.
49707         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
49709 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
49711         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
49712         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
49713         This macro takes 3 arguments, not 4.
49715 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
49717         ipv6: fix detection under mingw
49718         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
49719         in6_addr.
49721 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
49723         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
49724         that strtod() works when cross-compiling to a glibc version known
49725         to work.
49727 2010-06-15  Bruno Haible  <bruno@clisp.org>
49729         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
49731 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
49733         select: Correct timeout.
49734         * lib/select.c (rpl_select): Compute wait_timeout correctly.
49736 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
49738         git-version-gen: init shell var to avoid env var influence
49739         * build-aux/git-version-gen (v): Init shell var to empty.
49741 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
49743         priv-set: Don't assume that priv.h exists merely because getppriv does.
49744         See Jan Andersen's bug report about AIX 5L in
49745         http://lists.gnu.org/r/bug-tar/2010-06/msg00019.html
49746         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
49747         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
49748         * lib/priv-set.h: Likewise.
49749         * tests/test-priv-set.c: Likewise.
49751 2010-06-13  Bruno Haible  <bruno@clisp.org>
49753         relocatable: Make it easier to test whether to install wrappers.
49754         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
49755         RELOCATABLE_VIA_WRAPPER.
49757 2010-06-13  Bruno Haible  <bruno@clisp.org>
49759         gnulib-tool: Display specified modules and dependencies differently.
49760         * gnulib-tool (func_show_module_list): New function.
49761         (func_import, func_create_testdir): Invoke it.
49762         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
49764 2010-06-13  Bruno Haible  <bruno@clisp.org>
49766         gnulib-tool: Align code of func_import and func_create_testdir.
49767         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
49768         specified_modules.
49770 2010-06-12  Jim Meyering  <meyering@redhat.com>
49772         test-inttostr: avoid spurious failure on Solaris 9
49773         * tests/test-inttostr.c (main): Skip the test when snprintf fails
49774         to accept "%ju".  Reported by Bruno Haible.
49776 2010-06-11  Jim Meyering  <meyering@redhat.com>
49778         test-sys_socket: mark variables as used more readably
49779         * tests/test-sys_socket.c (main): Mark otherwise unused variables
49780         as "used" explicitly via (void) statement casts.  This is more
49781         readable than using them in an artificial return expression.
49782         Suggestion from Bruno Haible.
49784 2010-06-11  Bruno Haible  <bruno@clisp.org>
49786         Avoid some more warnings from "gcc -Wwrite-strings".
49787         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
49788         to 'const char *'.
49789         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
49790         * tests/test-c-strcasestr.c (main): Likewise.
49791         * tests/test-mbscasestr1.c (main): Likewise.
49792         * tests/test-mbscasestr2.c (main): Likewise.
49793         * tests/test-memmem.c (main): Likewise.
49794         * tests/test-strstr.c (main): Likewise.
49795         * tests/test-strcasestr.c (main): Likewise.
49797 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49799         init.sh: change framework_failure_ to fail with status 99, not 1
49800         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
49801         automake's parallel-tests rule that this is an unexpected failure,
49802         even if the test is listed in XFAIL_TESTS.
49804 2010-06-11  Jim Meyering  <meyering@redhat.com>
49806         test-inttostr: avoid warnings about 4-6KB literal strings
49807         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
49808         Include "macros.h", for its definition of ASSERT.
49809         (CK): s/assert/ASSERT/
49810         * modules/inttostr-tests (Files): Add macros.h.
49812         init.sh: don't use $ME_ or skip_ before they are defined
49813         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
49814         their first uses.  Also hoist their companions: warn_, fail_,
49815         framework_failure_, $stderr_fileno.  Prompted by a patch from
49816         Stefano Lattarini.
49818         test-sys_socket: avoid set-but-not-used warnings from gcc
49819         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
49820         avoid warning about set-but-not-used variables.
49822         test-xvasprintf: avoid 'const' discard warnings
49823         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
49824         "const" when assigning from literal strings.
49825         (test_xasprintf): Add "void" in function argument list to placate
49826         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
49828         tests: avoid compilation warnings in argmatch and exclude tests...
49829         in packages that define ARGMATCH_DIE_DECL, like coreutils.
49830         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
49831         Since it always exits, declare with the "noreturn" attribute.
49832         * tests/test-argmatch.c: Likewise.
49834         tests: avoid 'const' discard warnings in mbsstr tests
49835         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
49836         * tests/test-mbsstr2.c (main): Likewise.
49838         test-verify: avoid warning from gcc's -Wmissing-declarations
49839         * tests/test-verify.c (function): Declare to be static.
49841         test-inttostr.c: include <string.h> for use of strcmp
49842         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
49844         test-linkat: avoid failed assertion on "other" architectures
49845         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
49846         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
49847         sparc: https://bugs.launchpad.net/bugs/591968
49849 2010-06-11  Jim Meyering  <meyering@redhat.com>
49851         printf.m4: avoid autoconf's "Expanded Before Required" warning
49852         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
49853         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
49854         autoconf warning.
49856 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
49858         Replacement header templates are now named with ".in", not "_".
49859         * doc/gnulib-intro.texi: Correct.
49861 2010-06-10  Jim Meyering  <meyering@redhat.com>
49863         inttostr-tests: depend on snprintf, not snprintf-posix
49864         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
49865         snprintf-posix, to avoid this aclocal failure:
49866           missing file gnulib-tests/vasnprintf.c
49867           configure.ac:45: error: expected source file, required through \
49868           AC_LIBSOURCES, not found
49870 2010-06-10  Jim Meyering  <meyering@redhat.com>
49872         inttostr: add a new function, inttostr, and tests
49873         The namesake function was not available.  The existence of the
49874         template file, inttostr.c makes its addition nontrivial.
49875         * lib/anytostr.c: Rename from inttostr.c.
49876         (anytostr): Rename from inttostr.
49877         * lib/inttostr.c: New file.
49878         * modules/inttostr (Files): Add anytostr.c.
49879         (Makefile.am): Set lib_SOURCES instead of ...
49880         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
49881         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
49882         * lib/offtostr.c: Likewise.
49883         * lib/uinttostr.c: Likewise.
49884         * lib/umaxtostr.c: Likewise.
49885         * modules/inttostr-tests: New file.
49886         * tests/test-inttostr.c: New file.  Test these functions.
49888 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
49889             Bruno Haible  <bruno@clisp.org>
49891         Add "Extending Gnulib" chapter to manual.
49892         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
49893         chapter.
49894         (Extending Gnulib): New chapter.
49895         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
49896         chapter.
49898 2010-06-09  Bruno Haible  <bruno@clisp.org>
49900         Avoid relocwrapper link errors due to gnulib replacement functions.
49901         * lib/areadlink.c: Use the system's malloc, realloc functions.
49902         (areadlink): Set errno to ENOMEM explicitly.
49903         * modules/areadlink (Depends-on): Remove malloc-posix.
49904         Reported by Ben Pfaff <blp@cs.stanford.edu>.
49906 2010-06-09  Bruno Haible  <bruno@clisp.org>
49908         Avoid relocwrapper link errors due to gnulib replacement functions.
49909         * lib/canonicalize-lgpl.c: Use the system's malloc function.
49910         * lib/malloca.c: Likewise.
49911         * lib/relocatable.c: Likewise.
49912         * lib/progreloc.c: Use the system's malloc, sprintf functions.
49913         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
49914         * lib/setenv.c: Use the system's malloc, realloc functions.
49915         * lib/strerror.c: Use the system's sprintf function.
49916         Reported by Ben Pfaff <blp@cs.stanford.edu>.
49918 2010-06-04  Bruno Haible  <bruno@clisp.org>
49920         Prefer documented low-level autoconf macro names.
49921         * m4/lib-link.m4: Use m4_translit instead of translit.
49922         * m4/environ.m4: Likewise.
49923         * m4/mathfunc.m4: Likewise.
49924         * m4/onceonly.m4: Likewise.
49925         * m4/stdint.m4: Likewise.
49926         Suggested by Eric Blake.
49928 2010-06-04  Martin Lambers  <marlam@marlam.de>
49929             Bruno Haible  <bruno@clisp.org>
49931         havelib: Allow library names with '+' characters.
49932         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
49933         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
49935 2010-06-09  Bruno Haible  <bruno@clisp.org>
49937         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
49938         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
49939         realloc failed.
49941 2010-06-08  Peter Simons  <simons@cryp.to>
49943         maint.mk: make the news-check rule more configurable
49944         * top/maint.mk (news-check-lines-spec): New variable.
49945         (news-check): Use "sed -n 1,10p" in place of "head".
49947 2010-06-07  Jim Meyering  <meyering@redhat.com>
49949         do-release-commit-and-tag: fix typo in --help
49950         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
49952         regex: avoid new dead-code warning with gcc-4.6.0
49953         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
49954         if-block containing a while-loop.  It's been unused for at least
49955         5 years.
49957 2010-06-05  Bruno Haible  <bruno@clisp.org>
49959         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
49960         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
49962 2010-06-04  Bruno Haible  <bruno@clisp.org>
49964         Update to GNU gettext 0.18.1.
49965         * modules/gettext (configure.ac): Require gettext infrastructure from
49966         version 0.18.1.
49968 2010-06-03  Bruno Haible  <bruno@clisp.org>
49970         Don't use AC_LIBOBJ with file names in subdirectories.
49971         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
49972         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
49973         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
49974         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
49975         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
49976         gl_LIBUNISTRING_LIBSOURCE.
49977         (Makefile.am): Augment lib_SOURCES here, conditionally.
49978         * NEWS: Drop requirement for Automake option 'subdir-objects'.
49980 2010-06-03  Bruno Haible  <bruno@clisp.org>
49982         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
49983         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
49984         expansion does not end with a newline.
49985         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
49986         unnecessary newline.
49988 2010-06-03  Bruno Haible  <bruno@clisp.org>
49990         Reduce dependencies.
49991         * tests/test-quotearg.h: New file, extracted from
49992         tests/test-quotearg.c.
49993         * tests/test-quotearg-simple.c: New file, extracted from
49994         tests/test-quotearg.c.
49995         * tests/test-quotearg.c: Don't include <ctype.h>.
49996         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
49997         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
49998         use_quote_double_quotes, use_quotearg_colon): Moved to
49999         tests/test-quotearg.h.
50000         (results_g, flag_results, custom_quotes, custom_results): Moved
50001         to tests/test-quotearg-simple.c.
50002         (main): Moved the part that does not depend on gettext to
50003         tests/test-quotearg-simple.c. Return 77 if the test cannot be
50004         performed.
50005         * modules/quotearg-simple: New file.
50006         * modules/quotearg-simple-tests: New file.
50007         * modules/quotearg (Depends-on): Add quotearg-simple.
50008         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
50009         (Files): Add tests/test-quotearg.h.
50010         Reported by Paolo Bonzini.
50012 2010-06-03  Bruno Haible  <bruno@clisp.org>
50014         Reduce dependencies.
50015         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
50017 2010-06-03  Bruno Haible  <bruno@clisp.org>
50019         time: Undefine more broken macros.
50020         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
50021         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
50022         Reported by Eric Blake.
50024 2010-06-03  Bruno Haible  <bruno@clisp.org>
50026         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
50027         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
50028         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
50029         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
50030         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
50031         Reported by Ludovic Courtès <ludo@gnu.org>.
50033 2010-06-02  Eric Blake  <eblake@redhat.com>
50035         time: work with mingw + pthreads-win32 library
50036         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
50037         if timespec is defined only in pthread.h.
50038         * modules/time (Makefile.am): Substitute it.
50039         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
50040         <pthread.h>, when needed.
50041         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
50042         from the library.
50044 2010-05-31  Bruno Haible  <bruno@clisp.org>
50046         Avoid expanding two macros in the wrong order.
50047         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
50048         gl_LIBUNISTRING if it is defined.
50049         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
50050         autoconf >= 2.64.
50051         Reported by Ludovic Courtès <ludo@gnu.org>.
50053 2010-05-27  Jim Meyering  <meyering@redhat.com>
50055         maint.mk: also prohibit "#undef" of always-defined symbols
50056         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
50057         Allow more than one space before the symbol name.
50058         (sc_prohibit_always-defined_macros): Use grep's -E, now that
50059         the regexp uses alternation.
50061 2010-05-26  Eric Blake  <eblake@redhat.com>
50063         maint.mk: avoid echo -e
50064         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
50065         Convert all uses of echo -* to printf.
50066         Reported by Matthias Bolte.
50068 2010-05-25  Bruno Haible  <bruno@clisp.org>
50070         Update to GNU gettext 0.18, part 2.
50071         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
50072         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
50074 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50076         Add missing include in test-pwrite.c.
50077         * tests/test-pwrite.c: Include string.h, for strcmp.
50079 2010-05-24  Bruno Haible  <bruno@clisp.org>
50081         * NEWS: Mention requirement for Automake option 'subdir-objects'.
50083 2010-05-24  Bruno Haible  <bruno@clisp.org>
50085         Don't use conversion with transliteration in u{8,16,32}_strcoll.
50086         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
50087         iconveh_error argument.
50088         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
50089         U_STRCONV_TO_LOCALE.
50090         * lib/unistr/u16-strcoll.c: Likewise.
50091         * lib/unistr/u32-strcoll.c: Likewise.
50092         * modules/unistr/u8-strcoll (Depends-on): Add
50093         uniconv/u8-strconv-to-enc, localcharset. Remove
50094         uniconv/u8-strconv-to-locale.
50095         (configure.ac): Bump version number.
50096         * modules/unistr/u16-strcoll (Depends-on): Add
50097         uniconv/u16-strconv-to-enc, localcharset. Remove
50098         uniconv/u16-strconv-to-locale.
50099         (configure.ac): Bump version number.
50100         * modules/unistr/u32-strcoll (Depends-on): Add
50101         uniconv/u32-strconv-to-enc, localcharset. Remove
50102         uniconv/u32-strconv-to-locale.
50103         (configure.ac): Bump version number.
50105 2010-05-24  Bruno Haible  <bruno@clisp.org>
50107         Avoid a test failure on NetBSD 5.0.
50108         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
50109         an iconv() bug.
50111 2010-05-24  Bruno Haible  <bruno@clisp.org>
50113         Adjust #include directive style.
50114         * modules/regex (Includes): Recommend to write <regex.h>.
50116 2010-05-24  Bruno Haible  <bruno@clisp.org>
50118         regex: Don't require alloca.
50119         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
50120         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
50121         only inside if (0).
50123 2010-05-23  Jim Meyering  <meyering@redhat.com>
50125         test-renameat.c: include <sys/stat.h>
50126         * tests/test-renameat.c: Include <sys/stat.h>; required for
50127         definition of S_IS* macros.
50129 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
50131         Update maintainer documentation for 'relocatable-prog' module.
50132         * doc/relocatable-maint.texi: Update.
50133         Comments by Bruno Haible.
50135 2010-05-23  Bruno Haible  <bruno@clisp.org>
50137         git-merge-changelog: Enable --split-merged-entry by default.
50138         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
50139         (usage): Don't mention this option any more.
50140         Reported by Ralf Wildenhues.
50142 2010-05-23  Jim Meyering  <meyering@redhat.com>
50144         test-pwrite: do not leave behind a test file named "out"
50145         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
50146         The trivial-looking use of init.sh is really necessary.
50147         It ensures that the temporary file, "out", is created in
50148         a temporary directory, and removed upon termination.
50149         * tests/test-pwrite.sh: Re-add file.
50150         * modules/pwrite-tests: Reference it.
50152 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50154         Fix output redirection buglet in init.sh.
50155         * tests/init.sh: Fix redirection of stderr.
50157 2010-05-20  Simon Josefsson  <simon@josefsson.org>
50159         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
50161 2010-05-17  Simon Josefsson  <simon@josefsson.org>
50163         * modules/valgrind-tests: New file.
50164         * m4/valgrind-tests.m4: New file.
50165         * doc/valgrind-tests.texi: New file.
50166         * doc/gnulib.texi (Running self-tests under valgrind): New
50167         section.
50169 2010-05-19  Bruno Haible  <bruno@clisp.org>
50171         Clean up dead code in recent commit.
50172         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
50173         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
50174         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
50175         Suggested by Paolo Bonzini.
50177 2010-05-19  Bruno Haible  <bruno@clisp.org>
50179         Avoid valgrind error reports from libunistring.
50180         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
50181         * modules/libunistring (Files): Add it.
50182         * modules/libunistring-optional (Files): Likewise.
50184 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
50185             Bruno Haible  <bruno@clisp.org>
50187         New module 'libunistring-optional'.
50188         * modules/libunistring-optional: New file.
50189         * m4/libunistring-base.m4: New file.
50190         * m4/libunistring-optional.m4: New file.
50191         * lib/unicase.in.h: Renamed from lib/unicase.h.
50192         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
50193         * lib/unictype.in.h: Renamed from lib/unictype.h.
50194         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
50195         * lib/uniname.in.h: Renamed from lib/uniname.h.
50196         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
50197         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
50198         * lib/unistr.in.h: Renamed from lib/unistr.h.
50199         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
50200         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
50201         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
50202         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
50203         gl_LIBUNISTRING. If the library was found, determine the installed
50204         version and set LIBUNISTRING_VERSION.
50205         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
50206         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
50207         handle a configuration option --with-included-libunistring.
50208         * modules/libunistring (Files): Add m4/absolute-header.m4.
50209         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
50210         Add m4/libunistring-base.m4.
50211         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50212         (Makefile.am): Build unicase.h from unicase.in.h.
50213         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
50214         Add m4/libunistring-base.m4.
50215         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50216         (Makefile.am): Build uniconv.h from uniconv.in.h.
50217         * modules/unictype/base (Files): Use unictype.in.h instead of
50218         unictype.h. Add m4/libunistring-base.m4.
50219         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50220         (Makefile.am): Build unictype.h from unictype.in.h.
50221         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
50222         Add m4/libunistring-base.m4.
50223         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50224         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
50225         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
50226         Add m4/libunistring-base.m4.
50227         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50228         (Makefile.am): Build uniname.h from uniname.in.h.
50229         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
50230         Add m4/libunistring-base.m4.
50231         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50232         (Makefile.am): Build uninorm.h from uninorm.in.h.
50233         * modules/unistdio/base (Files): Use unistdio.in.h instead of
50234         unistdio.h. Add m4/libunistring-base.m4.
50235         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50236         (Makefile.am): Build unistdio.h from unistdio.in.h.
50237         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
50238         Add m4/libunistring-base.m4.
50239         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50240         (Makefile.am): Build unistr.h from unistr.in.h.
50241         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
50242         Add m4/libunistring-base.m4.
50243         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50244         (Makefile.am): Build unitypes.h from unitypes.in.h.
50245         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
50246         Add m4/libunistring-base.m4.
50247         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50248         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
50249         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
50250         uniwidth.h. Add m4/libunistring-base.m4.
50251         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50252         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
50253         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
50254         instead of augmenting lib_SOURCES.
50255         * modules/unicase/empty-suffix-context: Likewise.
50256         * modules/unicase/locale-language: Likewise.
50257         * modules/unicase/tolower: Likewise.
50258         * modules/unicase/totitle: Likewise.
50259         * modules/unicase/toupper: Likewise.
50260         * modules/unicase/u8-casecmp: Likewise.
50261         * modules/unicase/u8-casecoll: Likewise.
50262         * modules/unicase/u8-casefold: Likewise.
50263         * modules/unicase/u8-casexfrm: Likewise.
50264         * modules/unicase/u8-ct-casefold: Likewise.
50265         * modules/unicase/u8-ct-tolower: Likewise.
50266         * modules/unicase/u8-ct-totitle: Likewise.
50267         * modules/unicase/u8-ct-toupper: Likewise.
50268         * modules/unicase/u8-is-cased: Likewise.
50269         * modules/unicase/u8-is-casefolded: Likewise.
50270         * modules/unicase/u8-is-lowercase: Likewise.
50271         * modules/unicase/u8-is-titlecase: Likewise.
50272         * modules/unicase/u8-is-uppercase: Likewise.
50273         * modules/unicase/u8-prefix-context: Likewise.
50274         * modules/unicase/u8-suffix-context: Likewise.
50275         * modules/unicase/u8-tolower: Likewise.
50276         * modules/unicase/u8-totitle: Likewise.
50277         * modules/unicase/u8-toupper: Likewise.
50278         * modules/unicase/u16-casecmp: Likewise.
50279         * modules/unicase/u16-casecoll: Likewise.
50280         * modules/unicase/u16-casefold: Likewise.
50281         * modules/unicase/u16-casexfrm: Likewise.
50282         * modules/unicase/u16-ct-casefold: Likewise.
50283         * modules/unicase/u16-ct-tolower: Likewise.
50284         * modules/unicase/u16-ct-totitle: Likewise.
50285         * modules/unicase/u16-ct-toupper: Likewise.
50286         * modules/unicase/u16-is-cased: Likewise.
50287         * modules/unicase/u16-is-casefolded: Likewise.
50288         * modules/unicase/u16-is-lowercase: Likewise.
50289         * modules/unicase/u16-is-titlecase: Likewise.
50290         * modules/unicase/u16-is-uppercase: Likewise.
50291         * modules/unicase/u16-prefix-context: Likewise.
50292         * modules/unicase/u16-suffix-context: Likewise.
50293         * modules/unicase/u16-tolower: Likewise.
50294         * modules/unicase/u16-totitle: Likewise.
50295         * modules/unicase/u16-toupper: Likewise.
50296         * modules/unicase/u32-casecmp: Likewise.
50297         * modules/unicase/u32-casecoll: Likewise.
50298         * modules/unicase/u32-casefold: Likewise.
50299         * modules/unicase/u32-casexfrm: Likewise.
50300         * modules/unicase/u32-ct-casefold: Likewise.
50301         * modules/unicase/u32-ct-tolower: Likewise.
50302         * modules/unicase/u32-ct-totitle: Likewise.
50303         * modules/unicase/u32-ct-toupper: Likewise.
50304         * modules/unicase/u32-is-cased: Likewise.
50305         * modules/unicase/u32-is-casefolded: Likewise.
50306         * modules/unicase/u32-is-lowercase: Likewise.
50307         * modules/unicase/u32-is-titlecase: Likewise.
50308         * modules/unicase/u32-is-uppercase: Likewise.
50309         * modules/unicase/u32-prefix-context: Likewise.
50310         * modules/unicase/u32-suffix-context: Likewise.
50311         * modules/unicase/u32-tolower: Likewise.
50312         * modules/unicase/u32-totitle: Likewise.
50313         * modules/unicase/u32-toupper: Likewise.
50314         * modules/unicase/ulc-casecmp: Likewise.
50315         * modules/unicase/ulc-casecoll: Likewise.
50316         * modules/unicase/ulc-casexfrm: Likewise.
50317         * modules/uniconv/u8-conv-from-enc: Likewise.
50318         * modules/uniconv/u8-conv-to-enc: Likewise.
50319         * modules/uniconv/u8-strconv-from-enc: Likewise.
50320         * modules/uniconv/u8-strconv-from-locale: Likewise.
50321         * modules/uniconv/u8-strconv-to-enc: Likewise.
50322         * modules/uniconv/u8-strconv-to-locale: Likewise.
50323         * modules/uniconv/u16-conv-from-enc: Likewise.
50324         * modules/uniconv/u16-conv-to-enc: Likewise.
50325         * modules/uniconv/u16-strconv-from-enc: Likewise.
50326         * modules/uniconv/u16-strconv-from-locale: Likewise.
50327         * modules/uniconv/u16-strconv-to-enc: Likewise.
50328         * modules/uniconv/u16-strconv-to-locale: Likewise.
50329         * modules/uniconv/u32-conv-from-enc: Likewise.
50330         * modules/uniconv/u32-conv-to-enc: Likewise.
50331         * modules/uniconv/u32-strconv-from-enc: Likewise.
50332         * modules/uniconv/u32-strconv-from-locale: Likewise.
50333         * modules/uniconv/u32-strconv-to-enc: Likewise.
50334         * modules/uniconv/u32-strconv-to-locale: Likewise.
50335         * modules/unictype/bidicategory-byname: Likewise.
50336         * modules/unictype/bidicategory-name: Likewise.
50337         * modules/unictype/bidicategory-of: Likewise.
50338         * modules/unictype/bidicategory-test: Likewise.
50339         * modules/unictype/block-list: Likewise.
50340         * modules/unictype/block-test: Likewise.
50341         * modules/unictype/category-C: Likewise.
50342         * modules/unictype/category-Cc: Likewise.
50343         * modules/unictype/category-Cf: Likewise.
50344         * modules/unictype/category-Cn: Likewise.
50345         * modules/unictype/category-Co: Likewise.
50346         * modules/unictype/category-Cs: Likewise.
50347         * modules/unictype/category-L: Likewise.
50348         * modules/unictype/category-Ll: Likewise.
50349         * modules/unictype/category-Lm: Likewise.
50350         * modules/unictype/category-Lo: Likewise.
50351         * modules/unictype/category-Lt: Likewise.
50352         * modules/unictype/category-Lu: Likewise.
50353         * modules/unictype/category-M: Likewise.
50354         * modules/unictype/category-Mc: Likewise.
50355         * modules/unictype/category-Me: Likewise.
50356         * modules/unictype/category-Mn: Likewise.
50357         * modules/unictype/category-N: Likewise.
50358         * modules/unictype/category-Nd: Likewise.
50359         * modules/unictype/category-Nl: Likewise.
50360         * modules/unictype/category-No: Likewise.
50361         * modules/unictype/category-P: Likewise.
50362         * modules/unictype/category-Pc: Likewise.
50363         * modules/unictype/category-Pd: Likewise.
50364         * modules/unictype/category-Pe: Likewise.
50365         * modules/unictype/category-Pf: Likewise.
50366         * modules/unictype/category-Pi: Likewise.
50367         * modules/unictype/category-Po: Likewise.
50368         * modules/unictype/category-Ps: Likewise.
50369         * modules/unictype/category-S: Likewise.
50370         * modules/unictype/category-Sc: Likewise.
50371         * modules/unictype/category-Sk: Likewise.
50372         * modules/unictype/category-Sm: Likewise.
50373         * modules/unictype/category-So: Likewise.
50374         * modules/unictype/category-Z: Likewise.
50375         * modules/unictype/category-Zl: Likewise.
50376         * modules/unictype/category-Zp: Likewise.
50377         * modules/unictype/category-Zs: Likewise.
50378         * modules/unictype/category-and: Likewise.
50379         * modules/unictype/category-and-not: Likewise.
50380         * modules/unictype/category-byname: Likewise.
50381         * modules/unictype/category-name: Likewise.
50382         * modules/unictype/category-none: Likewise.
50383         * modules/unictype/category-of: Likewise.
50384         * modules/unictype/category-or: Likewise.
50385         * modules/unictype/category-test: Likewise.
50386         * modules/unictype/combining-class: Likewise.
50387         * modules/unictype/ctype-alnum: Likewise.
50388         * modules/unictype/ctype-alpha: Likewise.
50389         * modules/unictype/ctype-blank: Likewise.
50390         * modules/unictype/ctype-cntrl: Likewise.
50391         * modules/unictype/ctype-digit: Likewise.
50392         * modules/unictype/ctype-graph: Likewise.
50393         * modules/unictype/ctype-lower: Likewise.
50394         * modules/unictype/ctype-print: Likewise.
50395         * modules/unictype/ctype-punct: Likewise.
50396         * modules/unictype/ctype-space: Likewise.
50397         * modules/unictype/ctype-upper: Likewise.
50398         * modules/unictype/ctype-xdigit: Likewise.
50399         * modules/unictype/decimal-digit: Likewise.
50400         * modules/unictype/digit: Likewise.
50401         * modules/unictype/mirror: Likewise.
50402         * modules/unictype/numeric: Likewise.
50403         * modules/unictype/property-alphabetic: Likewise.
50404         * modules/unictype/property-ascii-hex-digit: Likewise.
50405         * modules/unictype/property-bidi-arabic-digit: Likewise.
50406         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
50407         * modules/unictype/property-bidi-block-separator: Likewise.
50408         * modules/unictype/property-bidi-boundary-neutral: Likewise.
50409         * modules/unictype/property-bidi-common-separator: Likewise.
50410         * modules/unictype/property-bidi-control: Likewise.
50411         * modules/unictype/property-bidi-embedding-or-override: Likewise.
50412         * modules/unictype/property-bidi-eur-num-separator: Likewise.
50413         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
50414         * modules/unictype/property-bidi-european-digit: Likewise.
50415         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
50416         * modules/unictype/property-bidi-left-to-right: Likewise.
50417         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
50418         * modules/unictype/property-bidi-other-neutral: Likewise.
50419         * modules/unictype/property-bidi-pdf: Likewise.
50420         * modules/unictype/property-bidi-segment-separator: Likewise.
50421         * modules/unictype/property-bidi-whitespace: Likewise.
50422         * modules/unictype/property-byname: Likewise.
50423         * modules/unictype/property-combining: Likewise.
50424         * modules/unictype/property-composite: Likewise.
50425         * modules/unictype/property-currency-symbol: Likewise.
50426         * modules/unictype/property-dash: Likewise.
50427         * modules/unictype/property-decimal-digit: Likewise.
50428         * modules/unictype/property-default-ignorable-code-point: Likewise.
50429         * modules/unictype/property-deprecated: Likewise.
50430         * modules/unictype/property-diacritic: Likewise.
50431         * modules/unictype/property-extender: Likewise.
50432         * modules/unictype/property-format-control: Likewise.
50433         * modules/unictype/property-grapheme-base: Likewise.
50434         * modules/unictype/property-grapheme-extend: Likewise.
50435         * modules/unictype/property-grapheme-link: Likewise.
50436         * modules/unictype/property-hex-digit: Likewise.
50437         * modules/unictype/property-hyphen: Likewise.
50438         * modules/unictype/property-id-continue: Likewise.
50439         * modules/unictype/property-id-start: Likewise.
50440         * modules/unictype/property-ideographic: Likewise.
50441         * modules/unictype/property-ids-binary-operator: Likewise.
50442         * modules/unictype/property-ids-trinary-operator: Likewise.
50443         * modules/unictype/property-ignorable-control: Likewise.
50444         * modules/unictype/property-iso-control: Likewise.
50445         * modules/unictype/property-join-control: Likewise.
50446         * modules/unictype/property-left-of-pair: Likewise.
50447         * modules/unictype/property-line-separator: Likewise.
50448         * modules/unictype/property-logical-order-exception: Likewise.
50449         * modules/unictype/property-lowercase: Likewise.
50450         * modules/unictype/property-math: Likewise.
50451         * modules/unictype/property-non-break: Likewise.
50452         * modules/unictype/property-not-a-character: Likewise.
50453         * modules/unictype/property-numeric: Likewise.
50454         * modules/unictype/property-other-alphabetic: Likewise.
50455         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
50456         * modules/unictype/property-other-grapheme-extend: Likewise.
50457         * modules/unictype/property-other-id-continue: Likewise.
50458         * modules/unictype/property-other-id-start: Likewise.
50459         * modules/unictype/property-other-lowercase: Likewise.
50460         * modules/unictype/property-other-math: Likewise.
50461         * modules/unictype/property-other-uppercase: Likewise.
50462         * modules/unictype/property-paired-punctuation: Likewise.
50463         * modules/unictype/property-paragraph-separator: Likewise.
50464         * modules/unictype/property-pattern-syntax: Likewise.
50465         * modules/unictype/property-pattern-white-space: Likewise.
50466         * modules/unictype/property-private-use: Likewise.
50467         * modules/unictype/property-punctuation: Likewise.
50468         * modules/unictype/property-quotation-mark: Likewise.
50469         * modules/unictype/property-radical: Likewise.
50470         * modules/unictype/property-sentence-terminal: Likewise.
50471         * modules/unictype/property-soft-dotted: Likewise.
50472         * modules/unictype/property-space: Likewise.
50473         * modules/unictype/property-terminal-punctuation: Likewise.
50474         * modules/unictype/property-test: Likewise.
50475         * modules/unictype/property-titlecase: Likewise.
50476         * modules/unictype/property-unassigned-code-value: Likewise.
50477         * modules/unictype/property-unified-ideograph: Likewise.
50478         * modules/unictype/property-uppercase: Likewise.
50479         * modules/unictype/property-variation-selector: Likewise.
50480         * modules/unictype/property-white-space: Likewise.
50481         * modules/unictype/property-xid-continue: Likewise.
50482         * modules/unictype/property-xid-start: Likewise.
50483         * modules/unictype/property-zero-width: Likewise.
50484         * modules/unictype/scripts: Likewise.
50485         * modules/unictype/syntax-c-ident: Likewise.
50486         * modules/unictype/syntax-c-whitespace: Likewise.
50487         * modules/unictype/syntax-java-ident: Likewise.
50488         * modules/unictype/syntax-java-whitespace: Likewise.
50489         * modules/unilbrk/u8-possible-linebreaks: Likewise.
50490         * modules/unilbrk/u8-width-linebreaks: Likewise.
50491         * modules/unilbrk/u16-possible-linebreaks: Likewise.
50492         * modules/unilbrk/u16-width-linebreaks: Likewise.
50493         * modules/unilbrk/u32-possible-linebreaks: Likewise.
50494         * modules/unilbrk/u32-width-linebreaks: Likewise.
50495         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
50496         * modules/unilbrk/ulc-width-linebreaks: Likewise.
50497         * modules/uniname/uniname: Likewise.
50498         * modules/uninorm/canonical-decomposition: Likewise.
50499         * modules/uninorm/composition: Likewise.
50500         * modules/uninorm/decomposing-form: Likewise.
50501         * modules/uninorm/decomposition: Likewise.
50502         * modules/uninorm/filter: Likewise.
50503         * modules/uninorm/nfc: Likewise.
50504         * modules/uninorm/nfd: Likewise.
50505         * modules/uninorm/nfkc: Likewise.
50506         * modules/uninorm/nfkd: Likewise.
50507         * modules/uninorm/u8-normalize: Likewise.
50508         * modules/uninorm/u8-normcmp: Likewise.
50509         * modules/uninorm/u8-normcoll: Likewise.
50510         * modules/uninorm/u8-normxfrm: Likewise.
50511         * modules/uninorm/u16-normalize: Likewise.
50512         * modules/uninorm/u16-normcmp: Likewise.
50513         * modules/uninorm/u16-normcoll: Likewise.
50514         * modules/uninorm/u16-normxfrm: Likewise.
50515         * modules/uninorm/u32-normalize: Likewise.
50516         * modules/uninorm/u32-normcmp: Likewise.
50517         * modules/uninorm/u32-normcoll: Likewise.
50518         * modules/uninorm/u32-normxfrm: Likewise.
50519         * modules/unistdio/u8-asnprintf: Likewise.
50520         * modules/unistdio/u8-asprintf: Likewise.
50521         * modules/unistdio/u8-snprintf: Likewise.
50522         * modules/unistdio/u8-sprintf: Likewise.
50523         * modules/unistdio/u8-u8-asnprintf: Likewise.
50524         * modules/unistdio/u8-u8-asprintf: Likewise.
50525         * modules/unistdio/u8-u8-snprintf: Likewise.
50526         * modules/unistdio/u8-u8-sprintf: Likewise.
50527         * modules/unistdio/u8-u8-vasnprintf: Likewise.
50528         * modules/unistdio/u8-u8-vasprintf: Likewise.
50529         * modules/unistdio/u8-u8-vsnprintf: Likewise.
50530         * modules/unistdio/u8-u8-vsprintf: Likewise.
50531         * modules/unistdio/u8-vasnprintf: Likewise.
50532         * modules/unistdio/u8-vasprintf: Likewise.
50533         * modules/unistdio/u8-vsnprintf: Likewise.
50534         * modules/unistdio/u8-vsprintf: Likewise.
50535         * modules/unistdio/u16-asnprintf: Likewise.
50536         * modules/unistdio/u16-asprintf: Likewise.
50537         * modules/unistdio/u16-snprintf: Likewise.
50538         * modules/unistdio/u16-sprintf: Likewise.
50539         * modules/unistdio/u16-u16-asnprintf: Likewise.
50540         * modules/unistdio/u16-u16-asprintf: Likewise.
50541         * modules/unistdio/u16-u16-snprintf: Likewise.
50542         * modules/unistdio/u16-u16-sprintf: Likewise.
50543         * modules/unistdio/u16-u16-vasnprintf: Likewise.
50544         * modules/unistdio/u16-u16-vasprintf: Likewise.
50545         * modules/unistdio/u16-u16-vsnprintf: Likewise.
50546         * modules/unistdio/u16-u16-vsprintf: Likewise.
50547         * modules/unistdio/u16-vasnprintf: Likewise.
50548         * modules/unistdio/u16-vasprintf: Likewise.
50549         * modules/unistdio/u16-vsnprintf: Likewise.
50550         * modules/unistdio/u16-vsprintf: Likewise.
50551         * modules/unistdio/u32-asnprintf: Likewise.
50552         * modules/unistdio/u32-asprintf: Likewise.
50553         * modules/unistdio/u32-snprintf: Likewise.
50554         * modules/unistdio/u32-sprintf: Likewise.
50555         * modules/unistdio/u32-u32-asnprintf: Likewise.
50556         * modules/unistdio/u32-u32-asprintf: Likewise.
50557         * modules/unistdio/u32-u32-snprintf: Likewise.
50558         * modules/unistdio/u32-u32-sprintf: Likewise.
50559         * modules/unistdio/u32-u32-vasnprintf: Likewise.
50560         * modules/unistdio/u32-u32-vasprintf: Likewise.
50561         * modules/unistdio/u32-u32-vsnprintf: Likewise.
50562         * modules/unistdio/u32-u32-vsprintf: Likewise.
50563         * modules/unistdio/u32-vasnprintf: Likewise.
50564         * modules/unistdio/u32-vasprintf: Likewise.
50565         * modules/unistdio/u32-vsnprintf: Likewise.
50566         * modules/unistdio/u32-vsprintf: Likewise.
50567         * modules/unistdio/ulc-asnprintf: Likewise.
50568         * modules/unistdio/ulc-asprintf: Likewise.
50569         * modules/unistdio/ulc-fprintf: Likewise.
50570         * modules/unistdio/ulc-snprintf: Likewise.
50571         * modules/unistdio/ulc-sprintf: Likewise.
50572         * modules/unistdio/ulc-vasnprintf: Likewise.
50573         * modules/unistdio/ulc-vasprintf: Likewise.
50574         * modules/unistdio/ulc-vfprintf: Likewise.
50575         * modules/unistdio/ulc-vsnprintf: Likewise.
50576         * modules/unistdio/ulc-vsprintf: Likewise.
50577         * modules/unistr/u8-check: Likewise.
50578         * modules/unistr/u8-chr: Likewise.
50579         * modules/unistr/u8-cmp: Likewise.
50580         * modules/unistr/u8-cmp2: Likewise.
50581         * modules/unistr/u8-cpy: Likewise.
50582         * modules/unistr/u8-cpy-alloc: Likewise.
50583         * modules/unistr/u8-endswith: Likewise.
50584         * modules/unistr/u8-mblen: Likewise.
50585         * modules/unistr/u8-mbsnlen: Likewise.
50586         * modules/unistr/u8-mbtouc: Likewise.
50587         * modules/unistr/u8-mbtouc-unsafe: Likewise.
50588         * modules/unistr/u8-mbtoucr: Likewise.
50589         * modules/unistr/u8-move: Likewise.
50590         * modules/unistr/u8-next: Likewise.
50591         * modules/unistr/u8-prev: Likewise.
50592         * modules/unistr/u8-set: Likewise.
50593         * modules/unistr/u8-startswith: Likewise.
50594         * modules/unistr/u8-stpcpy: Likewise.
50595         * modules/unistr/u8-stpncpy: Likewise.
50596         * modules/unistr/u8-strcat: Likewise.
50597         * modules/unistr/u8-strchr: Likewise.
50598         * modules/unistr/u8-strcmp: Likewise.
50599         * modules/unistr/u8-strcoll: Likewise.
50600         * modules/unistr/u8-strcpy: Likewise.
50601         * modules/unistr/u8-strcspn: Likewise.
50602         * modules/unistr/u8-strdup: Likewise.
50603         * modules/unistr/u8-strlen: Likewise.
50604         * modules/unistr/u8-strmblen: Likewise.
50605         * modules/unistr/u8-strmbtouc: Likewise.
50606         * modules/unistr/u8-strncat: Likewise.
50607         * modules/unistr/u8-strncmp: Likewise.
50608         * modules/unistr/u8-strncpy: Likewise.
50609         * modules/unistr/u8-strnlen: Likewise.
50610         * modules/unistr/u8-strpbrk: Likewise.
50611         * modules/unistr/u8-strrchr: Likewise.
50612         * modules/unistr/u8-strspn: Likewise.
50613         * modules/unistr/u8-strstr: Likewise.
50614         * modules/unistr/u8-strtok: Likewise.
50615         * modules/unistr/u8-to-u16: Likewise.
50616         * modules/unistr/u8-to-u32: Likewise.
50617         * modules/unistr/u8-uctomb: Likewise.
50618         * modules/unistr/u16-check: Likewise.
50619         * modules/unistr/u16-chr: Likewise.
50620         * modules/unistr/u16-cmp: Likewise.
50621         * modules/unistr/u16-cmp2: Likewise.
50622         * modules/unistr/u16-cpy: Likewise.
50623         * modules/unistr/u16-cpy-alloc: Likewise.
50624         * modules/unistr/u16-endswith: Likewise.
50625         * modules/unistr/u16-mblen: Likewise.
50626         * modules/unistr/u16-mbsnlen: Likewise.
50627         * modules/unistr/u16-mbtouc: Likewise.
50628         * modules/unistr/u16-mbtouc-unsafe: Likewise.
50629         * modules/unistr/u16-mbtoucr: Likewise.
50630         * modules/unistr/u16-move: Likewise.
50631         * modules/unistr/u16-next: Likewise.
50632         * modules/unistr/u16-prev: Likewise.
50633         * modules/unistr/u16-set: Likewise.
50634         * modules/unistr/u16-startswith: Likewise.
50635         * modules/unistr/u16-stpcpy: Likewise.
50636         * modules/unistr/u16-stpncpy: Likewise.
50637         * modules/unistr/u16-strcat: Likewise.
50638         * modules/unistr/u16-strchr: Likewise.
50639         * modules/unistr/u16-strcmp: Likewise.
50640         * modules/unistr/u16-strcoll: Likewise.
50641         * modules/unistr/u16-strcpy: Likewise.
50642         * modules/unistr/u16-strcspn: Likewise.
50643         * modules/unistr/u16-strdup: Likewise.
50644         * modules/unistr/u16-strlen: Likewise.
50645         * modules/unistr/u16-strmblen: Likewise.
50646         * modules/unistr/u16-strmbtouc: Likewise.
50647         * modules/unistr/u16-strncat: Likewise.
50648         * modules/unistr/u16-strncmp: Likewise.
50649         * modules/unistr/u16-strncpy: Likewise.
50650         * modules/unistr/u16-strnlen: Likewise.
50651         * modules/unistr/u16-strpbrk: Likewise.
50652         * modules/unistr/u16-strrchr: Likewise.
50653         * modules/unistr/u16-strspn: Likewise.
50654         * modules/unistr/u16-strstr: Likewise.
50655         * modules/unistr/u16-strtok: Likewise.
50656         * modules/unistr/u16-to-u32: Likewise.
50657         * modules/unistr/u16-to-u8: Likewise.
50658         * modules/unistr/u16-uctomb: Likewise.
50659         * modules/unistr/u32-check: Likewise.
50660         * modules/unistr/u32-chr: Likewise.
50661         * modules/unistr/u32-cmp: Likewise.
50662         * modules/unistr/u32-cmp2: Likewise.
50663         * modules/unistr/u32-cpy: Likewise.
50664         * modules/unistr/u32-cpy-alloc: Likewise.
50665         * modules/unistr/u32-endswith: Likewise.
50666         * modules/unistr/u32-mblen: Likewise.
50667         * modules/unistr/u32-mbsnlen: Likewise.
50668         * modules/unistr/u32-mbtouc: Likewise.
50669         * modules/unistr/u32-mbtouc-unsafe: Likewise.
50670         * modules/unistr/u32-mbtoucr: Likewise.
50671         * modules/unistr/u32-move: Likewise.
50672         * modules/unistr/u32-next: Likewise.
50673         * modules/unistr/u32-prev: Likewise.
50674         * modules/unistr/u32-set: Likewise.
50675         * modules/unistr/u32-startswith: Likewise.
50676         * modules/unistr/u32-stpcpy: Likewise.
50677         * modules/unistr/u32-stpncpy: Likewise.
50678         * modules/unistr/u32-strcat: Likewise.
50679         * modules/unistr/u32-strchr: Likewise.
50680         * modules/unistr/u32-strcmp: Likewise.
50681         * modules/unistr/u32-strcoll: Likewise.
50682         * modules/unistr/u32-strcpy: Likewise.
50683         * modules/unistr/u32-strcspn: Likewise.
50684         * modules/unistr/u32-strdup: Likewise.
50685         * modules/unistr/u32-strlen: Likewise.
50686         * modules/unistr/u32-strmblen: Likewise.
50687         * modules/unistr/u32-strmbtouc: Likewise.
50688         * modules/unistr/u32-strncat: Likewise.
50689         * modules/unistr/u32-strncmp: Likewise.
50690         * modules/unistr/u32-strncpy: Likewise.
50691         * modules/unistr/u32-strnlen: Likewise.
50692         * modules/unistr/u32-strpbrk: Likewise.
50693         * modules/unistr/u32-strrchr: Likewise.
50694         * modules/unistr/u32-strspn: Likewise.
50695         * modules/unistr/u32-strstr: Likewise.
50696         * modules/unistr/u32-strtok: Likewise.
50697         * modules/unistr/u32-to-u16: Likewise.
50698         * modules/unistr/u32-to-u8: Likewise.
50699         * modules/unistr/u32-uctomb: Likewise.
50700         * modules/uniwbrk/u8-wordbreaks: Likewise.
50701         * modules/uniwbrk/u16-wordbreaks: Likewise.
50702         * modules/uniwbrk/u32-wordbreaks: Likewise.
50703         * modules/uniwbrk/ulc-wordbreaks: Likewise.
50704         * modules/uniwbrk/wordbreak-property: Likewise.
50705         * modules/uniwidth/u8-strwidth: Likewise.
50706         * modules/uniwidth/u8-width: Likewise.
50707         * modules/uniwidth/u16-strwidth: Likewise.
50708         * modules/uniwidth/u16-width: Likewise.
50709         * modules/uniwidth/u32-strwidth: Likewise.
50710         * modules/uniwidth/u32-width: Likewise.
50711         * modules/uniwidth/width: Likewise.
50712         * modules/unicase/cased-tests (Makefile.am): Link all test programs
50713         with $(LIBUNISTRING).
50714         * modules/unicase/ignorable-tests: Likewise.
50715         * modules/unicase/locale-language-tests: Likewise.
50716         * modules/unicase/tolower-tests: Likewise.
50717         * modules/unicase/totitle-tests: Likewise.
50718         * modules/unicase/toupper-tests: Likewise.
50719         * modules/unicase/u8-casecmp-tests: Likewise.
50720         * modules/unicase/u8-casecoll-tests: Likewise.
50721         * modules/unicase/u8-casefold-tests: Likewise.
50722         * modules/unicase/u8-is-cased-tests: Likewise.
50723         * modules/unicase/u8-is-casefolded-tests: Likewise.
50724         * modules/unicase/u8-is-lowercase-tests: Likewise.
50725         * modules/unicase/u8-is-titlecase-tests: Likewise.
50726         * modules/unicase/u8-is-uppercase-tests: Likewise.
50727         * modules/unicase/u8-tolower-tests: Likewise.
50728         * modules/unicase/u8-totitle-tests: Likewise.
50729         * modules/unicase/u8-toupper-tests: Likewise.
50730         * modules/unicase/u16-casecmp-tests: Likewise.
50731         * modules/unicase/u16-casecoll-tests: Likewise.
50732         * modules/unicase/u16-casefold-tests: Likewise.
50733         * modules/unicase/u16-is-cased-tests: Likewise.
50734         * modules/unicase/u16-is-casefolded-tests: Likewise.
50735         * modules/unicase/u16-is-lowercase-tests: Likewise.
50736         * modules/unicase/u16-is-titlecase-tests: Likewise.
50737         * modules/unicase/u16-is-uppercase-tests: Likewise.
50738         * modules/unicase/u16-tolower-tests: Likewise.
50739         * modules/unicase/u16-totitle-tests: Likewise.
50740         * modules/unicase/u16-toupper-tests: Likewise.
50741         * modules/unicase/u32-casecmp-tests: Likewise.
50742         * modules/unicase/u32-casecoll-tests: Likewise.
50743         * modules/unicase/u32-casefold-tests: Likewise.
50744         * modules/unicase/u32-is-cased-tests: Likewise.
50745         * modules/unicase/u32-is-casefolded-tests: Likewise.
50746         * modules/unicase/u32-is-lowercase-tests: Likewise.
50747         * modules/unicase/u32-is-titlecase-tests: Likewise.
50748         * modules/unicase/u32-is-uppercase-tests: Likewise.
50749         * modules/unicase/u32-tolower-tests: Likewise.
50750         * modules/unicase/u32-totitle-tests: Likewise.
50751         * modules/unicase/u32-toupper-tests: Likewise.
50752         * modules/unicase/ulc-casecmp-tests: Likewise.
50753         * modules/unicase/ulc-casecoll-tests: Likewise.
50754         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
50755         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
50756         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
50757         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
50758         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
50759         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
50760         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
50761         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
50762         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
50763         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
50764         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
50765         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
50766         * modules/unictype/bidicategory-byname-tests: Likewise.
50767         * modules/unictype/bidicategory-name-tests: Likewise.
50768         * modules/unictype/bidicategory-of-tests: Likewise.
50769         * modules/unictype/bidicategory-test-tests: Likewise.
50770         * modules/unictype/block-list-tests: Likewise.
50771         * modules/unictype/block-of-tests: Likewise.
50772         * modules/unictype/block-test-tests: Likewise.
50773         * modules/unictype/category-C-tests: Likewise.
50774         * modules/unictype/category-Cc-tests: Likewise.
50775         * modules/unictype/category-Cf-tests: Likewise.
50776         * modules/unictype/category-Cn-tests: Likewise.
50777         * modules/unictype/category-Co-tests: Likewise.
50778         * modules/unictype/category-Cs-tests: Likewise.
50779         * modules/unictype/category-L-tests: Likewise.
50780         * modules/unictype/category-Ll-tests: Likewise.
50781         * modules/unictype/category-Lm-tests: Likewise.
50782         * modules/unictype/category-Lo-tests: Likewise.
50783         * modules/unictype/category-Lt-tests: Likewise.
50784         * modules/unictype/category-Lu-tests: Likewise.
50785         * modules/unictype/category-M-tests: Likewise.
50786         * modules/unictype/category-Mc-tests: Likewise.
50787         * modules/unictype/category-Me-tests: Likewise.
50788         * modules/unictype/category-Mn-tests: Likewise.
50789         * modules/unictype/category-N-tests: Likewise.
50790         * modules/unictype/category-Nd-tests: Likewise.
50791         * modules/unictype/category-Nl-tests: Likewise.
50792         * modules/unictype/category-No-tests: Likewise.
50793         * modules/unictype/category-P-tests: Likewise.
50794         * modules/unictype/category-Pc-tests: Likewise.
50795         * modules/unictype/category-Pd-tests: Likewise.
50796         * modules/unictype/category-Pe-tests: Likewise.
50797         * modules/unictype/category-Pf-tests: Likewise.
50798         * modules/unictype/category-Pi-tests: Likewise.
50799         * modules/unictype/category-Po-tests: Likewise.
50800         * modules/unictype/category-Ps-tests: Likewise.
50801         * modules/unictype/category-S-tests: Likewise.
50802         * modules/unictype/category-Sc-tests: Likewise.
50803         * modules/unictype/category-Sk-tests: Likewise.
50804         * modules/unictype/category-Sm-tests: Likewise.
50805         * modules/unictype/category-So-tests: Likewise.
50806         * modules/unictype/category-Z-tests: Likewise.
50807         * modules/unictype/category-Zl-tests: Likewise.
50808         * modules/unictype/category-Zp-tests: Likewise.
50809         * modules/unictype/category-Zs-tests: Likewise.
50810         * modules/unictype/category-and-not-tests: Likewise.
50811         * modules/unictype/category-and-tests: Likewise.
50812         * modules/unictype/category-byname-tests: Likewise.
50813         * modules/unictype/category-name-tests: Likewise.
50814         * modules/unictype/category-none-tests: Likewise.
50815         * modules/unictype/category-of-tests: Likewise.
50816         * modules/unictype/category-or-tests: Likewise.
50817         * modules/unictype/category-test-withtable-tests: Likewise.
50818         * modules/unictype/combining-class-tests: Likewise.
50819         * modules/unictype/ctype-alnum-tests: Likewise.
50820         * modules/unictype/ctype-alpha-tests: Likewise.
50821         * modules/unictype/ctype-blank-tests: Likewise.
50822         * modules/unictype/ctype-cntrl-tests: Likewise.
50823         * modules/unictype/ctype-digit-tests: Likewise.
50824         * modules/unictype/ctype-graph-tests: Likewise.
50825         * modules/unictype/ctype-lower-tests: Likewise.
50826         * modules/unictype/ctype-print-tests: Likewise.
50827         * modules/unictype/ctype-punct-tests: Likewise.
50828         * modules/unictype/ctype-space-tests: Likewise.
50829         * modules/unictype/ctype-upper-tests: Likewise.
50830         * modules/unictype/ctype-xdigit-tests: Likewise.
50831         * modules/unictype/decimal-digit-tests: Likewise.
50832         * modules/unictype/digit-tests: Likewise.
50833         * modules/unictype/mirror-tests: Likewise.
50834         * modules/unictype/numeric-tests: Likewise.
50835         * modules/unictype/property-alphabetic-tests: Likewise.
50836         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
50837         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
50838         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
50839         * modules/unictype/property-bidi-block-separator-tests: Likewise.
50840         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
50841         * modules/unictype/property-bidi-common-separator-tests: Likewise.
50842         * modules/unictype/property-bidi-control-tests: Likewise.
50843         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
50844         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
50845         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
50846         * modules/unictype/property-bidi-european-digit-tests: Likewise.
50847         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
50848         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
50849         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
50850         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
50851         * modules/unictype/property-bidi-pdf-tests: Likewise.
50852         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
50853         * modules/unictype/property-bidi-whitespace-tests: Likewise.
50854         * modules/unictype/property-byname-tests: Likewise.
50855         * modules/unictype/property-combining-tests: Likewise.
50856         * modules/unictype/property-composite-tests: Likewise.
50857         * modules/unictype/property-currency-symbol-tests: Likewise.
50858         * modules/unictype/property-dash-tests: Likewise.
50859         * modules/unictype/property-decimal-digit-tests: Likewise.
50860         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
50861         * modules/unictype/property-deprecated-tests: Likewise.
50862         * modules/unictype/property-diacritic-tests: Likewise.
50863         * modules/unictype/property-extender-tests: Likewise.
50864         * modules/unictype/property-format-control-tests: Likewise.
50865         * modules/unictype/property-grapheme-base-tests: Likewise.
50866         * modules/unictype/property-grapheme-extend-tests: Likewise.
50867         * modules/unictype/property-grapheme-link-tests: Likewise.
50868         * modules/unictype/property-hex-digit-tests: Likewise.
50869         * modules/unictype/property-hyphen-tests: Likewise.
50870         * modules/unictype/property-id-continue-tests: Likewise.
50871         * modules/unictype/property-id-start-tests: Likewise.
50872         * modules/unictype/property-ideographic-tests: Likewise.
50873         * modules/unictype/property-ids-binary-operator-tests: Likewise.
50874         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
50875         * modules/unictype/property-ignorable-control-tests: Likewise.
50876         * modules/unictype/property-iso-control-tests: Likewise.
50877         * modules/unictype/property-join-control-tests: Likewise.
50878         * modules/unictype/property-left-of-pair-tests: Likewise.
50879         * modules/unictype/property-line-separator-tests: Likewise.
50880         * modules/unictype/property-logical-order-exception-tests: Likewise.
50881         * modules/unictype/property-lowercase-tests: Likewise.
50882         * modules/unictype/property-math-tests: Likewise.
50883         * modules/unictype/property-non-break-tests: Likewise.
50884         * modules/unictype/property-not-a-character-tests: Likewise.
50885         * modules/unictype/property-numeric-tests: Likewise.
50886         * modules/unictype/property-other-alphabetic-tests: Likewise.
50887         * modules/unictype/property-other-default-ignorable-code-point-tests:
50888         Likewise.
50889         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
50890         * modules/unictype/property-other-id-continue-tests: Likewise.
50891         * modules/unictype/property-other-id-start-tests: Likewise.
50892         * modules/unictype/property-other-lowercase-tests: Likewise.
50893         * modules/unictype/property-other-math-tests: Likewise.
50894         * modules/unictype/property-other-uppercase-tests: Likewise.
50895         * modules/unictype/property-paired-punctuation-tests: Likewise.
50896         * modules/unictype/property-paragraph-separator-tests: Likewise.
50897         * modules/unictype/property-pattern-syntax-tests: Likewise.
50898         * modules/unictype/property-pattern-white-space-tests: Likewise.
50899         * modules/unictype/property-private-use-tests: Likewise.
50900         * modules/unictype/property-punctuation-tests: Likewise.
50901         * modules/unictype/property-quotation-mark-tests: Likewise.
50902         * modules/unictype/property-radical-tests: Likewise.
50903         * modules/unictype/property-sentence-terminal-tests: Likewise.
50904         * modules/unictype/property-soft-dotted-tests: Likewise.
50905         * modules/unictype/property-space-tests: Likewise.
50906         * modules/unictype/property-terminal-punctuation-tests: Likewise.
50907         * modules/unictype/property-test-tests: Likewise.
50908         * modules/unictype/property-titlecase-tests: Likewise.
50909         * modules/unictype/property-unassigned-code-value-tests: Likewise.
50910         * modules/unictype/property-unified-ideograph-tests: Likewise.
50911         * modules/unictype/property-uppercase-tests: Likewise.
50912         * modules/unictype/property-variation-selector-tests: Likewise.
50913         * modules/unictype/property-white-space-tests: Likewise.
50914         * modules/unictype/property-xid-continue-tests: Likewise.
50915         * modules/unictype/property-xid-start-tests: Likewise.
50916         * modules/unictype/property-zero-width-tests: Likewise.
50917         * modules/unictype/scripts-tests: Likewise.
50918         * modules/unictype/syntax-c-ident-tests: Likewise.
50919         * modules/unictype/syntax-c-whitespace-tests: Likewise.
50920         * modules/unictype/syntax-java-ident-tests: Likewise.
50921         * modules/unictype/syntax-java-whitespace-tests: Likewise.
50922         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
50923         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
50924         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
50925         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
50926         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
50927         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
50928         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
50929         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
50930         * modules/uniname/uniname-tests: Likewise.
50931         * modules/uninorm/canonical-decomposition-tests: Likewise.
50932         * modules/uninorm/compat-decomposition-tests: Likewise.
50933         * modules/uninorm/composition-tests: Likewise.
50934         * modules/uninorm/decomposing-form-tests: Likewise.
50935         * modules/uninorm/decomposition-tests: Likewise.
50936         * modules/uninorm/filter-tests: Likewise.
50937         * modules/uninorm/nfc-tests: Likewise.
50938         * modules/uninorm/nfd-tests: Likewise.
50939         * modules/uninorm/nfkc-tests: Likewise.
50940         * modules/uninorm/nfkd-tests: Likewise.
50941         * modules/uninorm/u8-normcmp-tests: Likewise.
50942         * modules/uninorm/u8-normcoll-tests: Likewise.
50943         * modules/uninorm/u16-normcmp-tests: Likewise.
50944         * modules/uninorm/u16-normcoll-tests: Likewise.
50945         * modules/uninorm/u32-normcmp-tests: Likewise.
50946         * modules/uninorm/u32-normcoll-tests: Likewise.
50947         * modules/unistdio/u8-asnprintf-tests: Likewise.
50948         * modules/unistdio/u8-vasnprintf-tests: Likewise.
50949         * modules/unistdio/u8-vasprintf-tests: Likewise.
50950         * modules/unistdio/u8-vsnprintf-tests: Likewise.
50951         * modules/unistdio/u8-vsprintf-tests: Likewise.
50952         * modules/unistdio/u16-asnprintf-tests: Likewise.
50953         * modules/unistdio/u16-vasnprintf-tests: Likewise.
50954         * modules/unistdio/u16-vasprintf-tests: Likewise.
50955         * modules/unistdio/u16-vsnprintf-tests: Likewise.
50956         * modules/unistdio/u16-vsprintf-tests: Likewise.
50957         * modules/unistdio/u32-asnprintf-tests: Likewise.
50958         * modules/unistdio/u32-vasnprintf-tests: Likewise.
50959         * modules/unistdio/u32-vasprintf-tests: Likewise.
50960         * modules/unistdio/u32-vsnprintf-tests: Likewise.
50961         * modules/unistdio/u32-vsprintf-tests: Likewise.
50962         * modules/unistdio/ulc-asnprintf-tests: Likewise.
50963         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
50964         * modules/unistdio/ulc-vasprintf-tests: Likewise.
50965         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
50966         * modules/unistdio/ulc-vsprintf-tests: Likewise.
50967         * modules/unistr/u8-check-tests: Likewise.
50968         * modules/unistr/u8-chr-tests: Likewise.
50969         * modules/unistr/u8-cmp-tests: Likewise.
50970         * modules/unistr/u8-cmp2-tests: Likewise.
50971         * modules/unistr/u8-cpy-alloc-tests: Likewise.
50972         * modules/unistr/u8-cpy-tests: Likewise.
50973         * modules/unistr/u8-mblen-tests: Likewise.
50974         * modules/unistr/u8-mbsnlen-tests: Likewise.
50975         * modules/unistr/u8-mbtouc-tests: Likewise.
50976         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
50977         * modules/unistr/u8-mbtoucr-tests: Likewise.
50978         * modules/unistr/u8-move-tests: Likewise.
50979         * modules/unistr/u8-next-tests: Likewise.
50980         * modules/unistr/u8-prev-tests: Likewise.
50981         * modules/unistr/u8-set-tests: Likewise.
50982         * modules/unistr/u8-stpcpy-tests: Likewise.
50983         * modules/unistr/u8-stpncpy-tests: Likewise.
50984         * modules/unistr/u8-strcat-tests: Likewise.
50985         * modules/unistr/u8-strcmp-tests: Likewise.
50986         * modules/unistr/u8-strcoll-tests: Likewise.
50987         * modules/unistr/u8-strcpy-tests: Likewise.
50988         * modules/unistr/u8-strdup-tests: Likewise.
50989         * modules/unistr/u8-strlen-tests: Likewise.
50990         * modules/unistr/u8-strmblen-tests: Likewise.
50991         * modules/unistr/u8-strmbtouc-tests: Likewise.
50992         * modules/unistr/u8-strncat-tests: Likewise.
50993         * modules/unistr/u8-strncmp-tests: Likewise.
50994         * modules/unistr/u8-strncpy-tests: Likewise.
50995         * modules/unistr/u8-strnlen-tests: Likewise.
50996         * modules/unistr/u8-to-u16-tests: Likewise.
50997         * modules/unistr/u8-to-u32-tests: Likewise.
50998         * modules/unistr/u8-uctomb-tests: Likewise.
50999         * modules/unistr/u16-check-tests: Likewise.
51000         * modules/unistr/u16-chr-tests: Likewise.
51001         * modules/unistr/u16-cmp-tests: Likewise.
51002         * modules/unistr/u16-cmp2-tests: Likewise.
51003         * modules/unistr/u16-cpy-alloc-tests: Likewise.
51004         * modules/unistr/u16-cpy-tests: Likewise.
51005         * modules/unistr/u16-mblen-tests: Likewise.
51006         * modules/unistr/u16-mbsnlen-tests: Likewise.
51007         * modules/unistr/u16-mbtouc-tests: Likewise.
51008         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
51009         * modules/unistr/u16-mbtoucr-tests: Likewise.
51010         * modules/unistr/u16-move-tests: Likewise.
51011         * modules/unistr/u16-next-tests: Likewise.
51012         * modules/unistr/u16-prev-tests: Likewise.
51013         * modules/unistr/u16-set-tests: Likewise.
51014         * modules/unistr/u16-stpcpy-tests: Likewise.
51015         * modules/unistr/u16-stpncpy-tests: Likewise.
51016         * modules/unistr/u16-strcat-tests: Likewise.
51017         * modules/unistr/u16-strcmp-tests: Likewise.
51018         * modules/unistr/u16-strcoll-tests: Likewise.
51019         * modules/unistr/u16-strcpy-tests: Likewise.
51020         * modules/unistr/u16-strdup-tests: Likewise.
51021         * modules/unistr/u16-strlen-tests: Likewise.
51022         * modules/unistr/u16-strmblen-tests: Likewise.
51023         * modules/unistr/u16-strmbtouc-tests: Likewise.
51024         * modules/unistr/u16-strncat-tests: Likewise.
51025         * modules/unistr/u16-strncmp-tests: Likewise.
51026         * modules/unistr/u16-strncpy-tests: Likewise.
51027         * modules/unistr/u16-strnlen-tests: Likewise.
51028         * modules/unistr/u16-to-u32-tests: Likewise.
51029         * modules/unistr/u16-to-u8-tests: Likewise.
51030         * modules/unistr/u16-uctomb-tests: Likewise.
51031         * modules/unistr/u32-check-tests: Likewise.
51032         * modules/unistr/u32-chr-tests: Likewise.
51033         * modules/unistr/u32-cmp-tests: Likewise.
51034         * modules/unistr/u32-cmp2-tests: Likewise.
51035         * modules/unistr/u32-cpy-alloc-tests: Likewise.
51036         * modules/unistr/u32-cpy-tests: Likewise.
51037         * modules/unistr/u32-mblen-tests: Likewise.
51038         * modules/unistr/u32-mbsnlen-tests: Likewise.
51039         * modules/unistr/u32-mbtouc-tests: Likewise.
51040         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
51041         * modules/unistr/u32-mbtoucr-tests: Likewise.
51042         * modules/unistr/u32-move-tests: Likewise.
51043         * modules/unistr/u32-next-tests: Likewise.
51044         * modules/unistr/u32-prev-tests: Likewise.
51045         * modules/unistr/u32-set-tests: Likewise.
51046         * modules/unistr/u32-stpcpy-tests: Likewise.
51047         * modules/unistr/u32-stpncpy-tests: Likewise.
51048         * modules/unistr/u32-strcat-tests: Likewise.
51049         * modules/unistr/u32-strcmp-tests: Likewise.
51050         * modules/unistr/u32-strcoll-tests: Likewise.
51051         * modules/unistr/u32-strcpy-tests: Likewise.
51052         * modules/unistr/u32-strdup-tests: Likewise.
51053         * modules/unistr/u32-strlen-tests: Likewise.
51054         * modules/unistr/u32-strmblen-tests: Likewise.
51055         * modules/unistr/u32-strmbtouc-tests: Likewise.
51056         * modules/unistr/u32-strncat-tests: Likewise.
51057         * modules/unistr/u32-strncmp-tests: Likewise.
51058         * modules/unistr/u32-strncpy-tests: Likewise.
51059         * modules/unistr/u32-strnlen-tests: Likewise.
51060         * modules/unistr/u32-to-u16-tests: Likewise.
51061         * modules/unistr/u32-to-u8-tests: Likewise.
51062         * modules/unistr/u32-uctomb-tests: Likewise.
51063         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
51064         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
51065         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
51066         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
51067         * modules/uniwidth/u8-strwidth-tests: Likewise.
51068         * modules/uniwidth/u8-width-tests: Likewise.
51069         * modules/uniwidth/u16-strwidth-tests: Likewise.
51070         * modules/uniwidth/u16-width-tests: Likewise.
51071         * modules/uniwidth/u32-strwidth-tests: Likewise.
51072         * modules/uniwidth/u32-width-tests: Likewise.
51073         * modules/uniwidth/width-tests: Likewise.
51075 2010-05-18  Richard Jones  <rjones@redhat.com>
51077         doc: users.txt: list hivex
51078         * users.txt: Add hivex.
51080 2010-05-18  Richard Jones  <rjones@redhat.com>
51082         doc: users.txt: list febootstrap
51083         * users.txt: Add febootstrap.
51085 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
51087         bootstrap: fix an error when gnulib is not used as a git submodule
51088         * build-aux/bootstrap (gnulib_path): If its length is zero then
51089         assign "gnulib" to it.
51090         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
51092 2010-05-16  Bruno Haible  <bruno@clisp.org>
51094         Avoid autoconf warnings about AM_ICONV.
51095         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
51096         2.64.
51098 2010-05-16  Bruno Haible  <bruno@clisp.org>
51100         absolute-header: Make the macro usable in more situations.
51101         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
51102         from gl_ABSOLUTE_HEADER.
51103         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
51105 2010-05-16  James Youngman  <jay@gnu.org>
51107         doc: update users.txt
51108         * users.txt: Add CSSC.
51110 2010-05-16  Jim Meyering  <meyering@redhat.com>
51112         init.sh: fix an error in the previous change; add more comments
51113         * tests/init.sh: Compare exit code in loop against 9, not 2.
51114         Patch by Bruno Haible.
51115         Make the two tests more similar by adding an empty "then" clause.
51116         Add comments.
51118         init.sh: avoid unnecessary shell re-exec
51119         * tests/init.sh: Improve the re-exec-required check to first test the
51120         current shell.  If it passes the test, do not search for a shell that
51121         does pass, and do not re-exec.  This test is particularly contorted to
51122         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
51123         of $(...) evokes a syntax error and causes immediate shell exit with
51124         status 2.  Bruno Haible reported that the re-exec made it impossible
51125         to single-step through any init.sh-using script.
51127 2010-05-16  Bruno Haible  <bruno@clisp.org>
51129         Fix collision between gnulib's and libintl's printf replacements.
51130         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
51131         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
51132         (printf): When using GNU C, map the __printf__ function to rpl_printf
51133         via __asm__. When not using GNU C, define rpl_printf instead of
51134         __printf__.
51135         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
51136         commit.
51137         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
51138         commit.
51139         * m4/asm-underscore.m4: New file.
51140         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
51141         * modules/stdio (Files): Add m4/asm-underscore.m4.
51142         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
51143         Reported by Ben Pfaff.
51145 2010-05-16  Bruno Haible  <bruno@clisp.org>
51147         verify: Avoid skipping the test on openSUSE 11.0.
51148         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
51150 2010-05-13  Bruno Haible  <bruno@clisp.org>
51152         Avoid useless warnings from G++.
51153         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
51154         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
51155         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
51157 2010-05-11  Jim Meyering  <meyering@redhat.com>
51159         maint.mk: tweak preceding change
51160         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
51161         regexps tighter by anchoring at EOL, and make the new group "shy"
51162         for slightly decreased overhead.
51164 2010-05-11  Eric Blake  <eblake@redhat.com>
51166         maint.mk: gnulib doesn't guarantee NSIG
51167         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
51169 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
51171         test-pwrite.c: Remove unused variable declaration.
51172         * tests/test-pwrite.c (main): Remove read_buf declaration.
51174         Remove useless test-pwrite.sh file.
51175         * tests/test-pwrite.sh: Delete file.
51176         * modules/pwrite-tests: Remove references.
51177         Reported by Bruno Haible.
51179 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
51181         init.sh: fix a typo
51182         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
51184 2010-05-10  Jim Meyering  <meyering@redhat.com>
51186         maint.mk: avoid using a temporary file in the always-defined-macros check
51187         * top/maint.mk (.re-defmac): Remove rule.
51188         (gl_trap_): Remove definition.
51189         (sc_prohibit_always-defined_macros): Rewrite not to create and
51190         depend on a temporary file.  Instead, depend on GNU grep's ability
51191         to read a list of regular expressions from stdin when given "-f -".
51193 2010-05-09  Bruno Haible  <bruno@clisp.org>
51195         Update to GNU gettext 0.18, part 1.
51196         * m4/gettext.m4: Update to GNU gettext 0.18.
51197         * m4/intl.m4: Likewise.
51198         * m4/po.m4: Likewise.
51199         * modules/gettext (Files): Add m4/fcntl-o.m4.
51200         (configure.ac): Require gettext infrastructure from version 0.18.
51202 2010-05-09  Jim Meyering  <meyering@redhat.com>
51204         init.sh: enable MALLOC_PERTURB_
51205         * tests/init.sh: Enable glibc's malloc-perturbing option.
51207         maint.mk: improve sc_cross_check_PATH_usage_in_tests
51208         With my recent change in init.sh from the two-line form:
51209             -#   : ${srcdir=.}
51210             -#   . "$srcdir/init.sh"; path_prepend_ .
51211             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
51212         I noticed that using the one-line form would cause this test
51213         to fail with a false-positive, or to stop working altogether,
51214         depending on whether help-version changed or all the tests did.
51215         * top/maint.mk (_hv_regex): Remove this definition.
51216         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
51217         (_hv_regex_strong): Use a stronger regex to check for conformance.
51218         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
51219         Give a separate diagnostic for lack of conforming use.
51221         maint.mk: prohibit definition of symbols defined by gnulib
51222         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
51223         definition of symbols defined by gnulib.
51225 2010-05-09  Bruno Haible  <bruno@clisp.org>
51227         acl: Avoid test failure on Cygwin-hosted mingw.
51228         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
51230 2010-05-09  Bruno Haible  <bruno@clisp.org>
51232         error: Use system's fcntl function.
51233         * lib/error.c (fcntl): Undefine.
51235 2010-05-09  Jim Meyering  <meyering@redhat.com>
51237         verify: adjust formatting to be more consistent
51238         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
51239         argument-list '('s, and after one comma.
51241 2010-05-09  Bruno Haible  <bruno@clisp.org>
51243         error: More reliable output on mingw.
51244         * lib/error.c: Include <windows.h>.
51245         (is_open): New function.
51246         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
51247         defined.
51249 2010-05-09  Bruno Haible  <bruno@clisp.org>
51251         vasnprintf: Fix syntax errors in libintl build on mingw.
51252         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
51253         pad_ourselves and prec_ourselves after use.
51255 2010-05-08  Bruno Haible  <bruno@clisp.org>
51257         * lib/config.charset: Update comments for Cygwin 1.7.
51258         * lib/localcharset.c: Likewise.
51260 2010-05-07  Jim Meyering  <meyering@redhat.com>
51262         init.sh: improve comments
51263         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
51264         . "${srcdir=.}/init.sh"; path_prepend_ .
51265         Add a note about path_prepend_ and the alternative of using
51266         TESTS_ENVIRONMENT.
51268 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
51270         exclude: Unescape hashed patterns in wildcard mode.
51271         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
51272         to the hash list.
51273         * tests/test-exclude8.sh: New test case.
51274         * modules/exclude-tests: Add new test.
51276 2010-05-05  Eric Blake  <eblake@redhat.com>
51278         verify: automate tests
51279         * modules/verify-tests: New module.
51280         * tests/test-verify.sh: New file.
51281         * tests/test-verify.c: Guard each negative test with a unique id.
51282         Also avoid warning about unused left hand of comma expressions.
51284 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
51286         Further improvements to verify.h, suggested by Eric Blake.
51287         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
51288         the GL_* versions, to avoid collision with OpenGL.
51289         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
51290         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
51291         than testing merely whether it's defined.
51293         Modify verify.h to pacify gcc -Wredundant_decls.
51294         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
51295         These use the prefix "GL_" since they're likely to be useful elsewhere.
51296         We may need to break them out into a different .h file.
51297         (__COUNTER__): Define to 0 if the compiler doesn't support it.
51298         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
51299         of verify_function__.
51301 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
51303         Tests for module pwrite.
51304         * modules/pwrite-tests: New file.
51305         * tests/test-pwrite.sh: New file.
51306         * tests/test-pwrite.c: New file.
51308         New module pwrite.
51309         * lib/unistd.in.h (pwrite): New declaration.
51310         * lib/pwrite.c: New file, from glibc with modifications.
51311         * m4/pwrite.m4: New file.
51312         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
51313         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
51314         REPLACE_PWRITE.
51315         * modules/pwrite: New file.
51316         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
51317         REPLACE_PWRITE.
51318         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
51319         * doc/posix-functions/pwrite.texi: Mention the new module.
51321 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
51323         pread: Update documentation.
51324         * doc/posix-functions/pread.texi: Mention the 'pread' module.
51326 2010-05-04  Eric Blake  <eblake@redhat.com>
51328         docs: update cygwin progress
51329         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
51330         this bug.
51331         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
51332         Added in cygwin 1.7.2.
51333         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
51334         Likewise.
51335         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
51336         Likewise.
51337         * doc/glibc-functions/dup3.texi (dup3): Likewise.
51338         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
51339         * doc/glibc-functions/accept4.texi (accept4): Likewise.
51340         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
51341         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
51342         Mention nproc module.
51343         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
51344         bug in cygwin 1.7.5 addition.
51345         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
51346         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
51347         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
51348         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
51349         1.7.5.
51350         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
51351         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
51352         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
51353         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
51354         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
51355         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
51356         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
51357         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
51358         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
51359         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
51360         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
51361         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
51362         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
51363         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
51364         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
51365         Likewise.
51366         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
51367         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
51368         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
51369         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
51370         Likewise.
51371         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
51372         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
51373         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
51374         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
51375         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
51376         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
51377         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
51378         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
51379         Likewise.
51380         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
51381         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
51382         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
51383         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
51384         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
51385         Likewise.
51386         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
51387         Likewise.
51388         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
51389         Likewise.
51390         * doc/glibc-functions/xdrrec_endofrecord.texi
51391         (xdrrec_endofrecord): Likewise.
51392         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
51393         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
51394         Likewise.
51395         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
51396         Likewise.
51398 2010-05-04  Jim Meyering  <meyering@redhat.com>
51400         gendocs.sh: make its "-s FILE" option more useful
51401         * build-aux/gendocs.sh: When honoring the -s FILE option, update
51402         $PACKAGE to reflect the probably-different basename of "FILE".
51404 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
51406         bootstrap: don't ignore download_po_files failure
51407         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
51408         failure.
51410 2010-05-03  Jim Meyering  <meyering@redhat.com>
51412         maint.mk: allow to pass options to gendocs.sh
51413         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
51414         (gendocs_options_): New overridable variable.
51416         gnu-web-doc-update: don't ignore configure or build failure
51417         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
51419         announce-gen: backslash-escape '@'s in --help output
51420         * build-aux/announce-gen: Fix syntax errors.
51422         maint.mk, announce-gen: allow project-specific announcement mail headers
51423         * top/maint.mk (translation_project_): Define default.
51424         (announcement_Cc_, announcement_mail_headers_): Likewise.
51425         (announcement): Invoke announce-gen with new --mail-headers option.
51426         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
51428         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
51429         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
51430         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
51431         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
51432         line in the "err2" output file when running "make check" in verbose
51433         mode (i.e., with set -x enabled).
51435 2010-05-03  Bruno Haible  <bruno@clisp.org>
51437         wctob: Fix for weird platforms.
51438         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
51439         argument value.
51441 2010-05-03  Jim Meyering  <meyering@redhat.com>
51443         maint.mk: prohibit unwarranted use of <strings.h>
51444         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
51445         strings.h in a file that does not also use strcasecmp, strncasecmp,
51446         ffs or ffsll.
51448         maint.mk: remove obsolete comments
51449         * top/maint.mk: Remove stale, commented-out rules.
51451 2010-05-02  Bruno Haible  <bruno@clisp.org>
51453         wcwidth: Declare also when it's aliased.
51454         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
51455         macro.
51457 2010-05-02  Bruno Haible  <bruno@clisp.org>
51459         Fix regression from 2010-04-25.
51460         * gnulib-tool (func_modules_transitive_closure): Check the status of
51461         all modules, not only of the tests that are of the form foo-tests where
51462         foo is a module.
51464 2010-05-02  Bruno Haible  <bruno@clisp.org>
51466         wctob: Work around nasty Cygwin 1.7.2 bug.
51467         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
51468         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
51470 2010-05-01  Bruno Haible  <bruno@clisp.org>
51472         fpurge: Sharper test.
51473         * tests/test-fpurge.c (main): Add one more ftell check.
51474         * modules/fpurge-tests (Depends-on): Add ftell.
51475         Suggested by Eric Blake.
51477 2010-05-01  Bruno Haible  <bruno@clisp.org>
51479         ftello: Another test.
51480         * tests/test-ftello3.c: New file.
51481         * modules/ftello-tests (Files): Add it.
51482         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
51483         MOSTLYCLEANFILES.
51485         ftell: Another test.
51486         * tests/test-ftell3.c: New file.
51487         * modules/ftell-tests (Files): Add it.
51488         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
51489         MOSTLYCLEANFILES.
51491 2010-05-01  Bruno Haible  <bruno@clisp.org>
51493         ftell, ftello: Work around Solaris bug.
51494         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
51495         * lib/ftello.c: Include stdio-impl.h.
51496         (ftello): On Solaris, when _IOWRT is set, compute the result without
51497         looking at _IOREAD.
51498         * modules/ftello (Files): Add lib/stdio-impl.h.
51499         * doc/posix-functions/ftell.texi: Mention Solaris bug.
51500         * doc/posix-functions/ftello.texi: Likewise.
51501         Reported by Eric Blake.
51503 2010-05-01  Bruno Haible  <bruno@clisp.org>
51505         freading: Adapt to special meaning of _IOREAD flag on Solaris.
51506         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
51507         the _IOWRT flag is also set.
51509 2010-05-01  Bruno Haible  <bruno@clisp.org>
51511         Fix doc about a HP-UX stdio bug.
51512         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
51513         * doc/posix-functions/ftello.texi: Likewise.
51515 2010-05-01  Bruno Haible  <bruno@clisp.org>
51517         lseek test: Fix failure on Solaris.
51518         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
51519         output.
51521 2010-04-30  Jim Meyering  <meyering@redhat.com>
51523         bootstrap: don't ignore failure to generate po*/Makevars
51524         * build-aux/bootstrap (with_gettext): Don't ignore failure
51525         to create po/Makevars or runtime-po/Makevars.
51527 2010-04-29  Eric Blake  <eblake@redhat.com>
51529         headers: relax license to LGPLv2+
51530         * modules/fcntl-h (License): Relax license.
51531         * modules/getopt-posix (License): Likewise.
51532         * modules/locale (License): Likewise.
51533         * modules/math (License): Likewise.
51534         * modules/pty (License): Likewise.
51535         * modules/sched (License): Likewise.
51536         * modules/search (License): Likewise.
51537         * modules/spawn (License): Likewise.
51538         * modules/stdarg (License): Likewise.
51539         * modules/sysexits (License): Likewise.
51541 2010-04-29  Jim Meyering  <meyering@redhat.com>
51543         inttypes: relax license to LGPLv2+
51544         * modules/inttypes (License): Relax license.
51546 2010-04-29  Simon Josefsson  <simon@josefsson.org>
51548         * top/maint.mk (indent): Run twice to produce idempotent results.
51550 2010-04-28  Bruno Haible  <bruno@clisp.org>
51552         getdate: Generate getdate.c in the source directory.
51553         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
51554         MOSTLYCLEANFILES.
51555         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
51557 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
51559         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
51560         is not declared as a const *; avoid warnings in that case.
51562 2010-04-28  Eric Blake  <eblake@redhat.com>
51564         canonicalize-lgpl: avoid compiler warning
51565         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
51566         declaration' / 'extraneous semicolon' warning with some compilers.
51567         Reported by Andreas Gruenbacher.
51569 2010-04-28  Jim Meyering  <meyering@redhat.com>
51571         init.sh: ensure a more reliable exit status when exiting via trap
51572         * tests/init.sh (setup_): Don't rely on $? in signal handler.
51573         Inspired by patches from Dmitry V. Levin.
51574         Also trap on signal 3 (SIGQUIT).
51576 2010-04-27  Bruno Haible  <bruno@clisp.org>
51578         Update doc about utimes().
51579         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
51580         'utimens' module.
51581         Reported by Andreas Gruenbacher <agruen@suse.de>.
51583 2010-04-27  Eric Blake  <eblake@redhat.com>
51585         full-read, full-write: relax license
51586         * modules/full-read (License): Drop to LGPLv2+.
51587         * modules/full-write (License): Likewise.
51588         * modules/safe-read (License): Likewise.
51589         * modules/safe-write (License): Likewise.
51591         pthread: mention library for linking
51592         * modules/pthread (Link): Mention $(LIB_PTHREAD).
51594 2010-04-27  Jim Meyering  <meyering@redhat.com>
51596         maint.mk: fix a bug introduced in last change
51597         * top/maint.mk (gl_assured_headers_): Now that all names are on
51598         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
51599         is not anchored to end of word, it should be adequate.
51601         maint.mk: avoid side-effect in latest syntax-check
51602         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
51603         to run commands via $(shell...), and hence to incur cost only when
51604         the new rule is actually run.
51606         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
51607         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
51608         and use that to create a regexp used to detect all #if HAVE_..._H uses.
51609         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
51610         (gl_assured_headers_, az_, AZ_): Define.
51611         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
51613 2010-04-26  Jim Meyering  <jim@meyering.net>
51614             Bruno Haible  <bruno@clisp.org>
51616         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
51617         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
51618         Prompted by an exchange with Gilles Espinasse.
51620 2010-04-26  Jim Meyering  <meyering@redhat.com>
51622         git-version-gen: aesthetic tweak
51623         * build-aux/git-version-gen: Use "$nl" rather than a literal,
51624         so that the command remains on a single line.
51626 2010-04-26  Eric Blake  <eblake@redhat.com>
51628         git-version-gen: allow use on EBCDIC hosts
51629         * build-aux/git-version-gen (dirty): Use literal rather than tying
51630         ourselves to ascii.
51631         Reported by Steve Goetze.
51633 2010-04-25  Bruno Haible  <bruno@clisp.org>
51635         netdb: Add support for GNULIB_POSIXCHECK.
51636         * lib/netdb.in.h: Include warn-on-use.h.
51637         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
51638         functions are used when GNULIB_POSIXCHECK is defined and the
51639         getaddrinfo module is not in use.
51640         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
51641         freeaddrinfo, gai_strerror, getnameinfo are declared.
51642         * modules/netdb (Depends-on): Add warn-on-use.
51643         (Makefile.am): Include warn-on-use.h in netdb.h.
51645 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
51647         build: avoid "make check" failure without .git/ directory
51648         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
51649         there is no .git/ directory.
51651 2010-04-25  Bruno Haible  <bruno@clisp.org>
51653         ptsname: Fix misuse of ttyname_r.
51654         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
51655         of errno.
51657 2010-04-25  Bruno Haible  <bruno@clisp.org>
51659         ttyname_r: Make it work on Solaris 10.
51660         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
51661         if the system function has the POSIX declaration. Test whether the
51662         function fails if the buffer is less than 128 bytes large.
51663         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
51664         system's ttyname_r function. Provide a reasonably large buffer.
51665         * modules/ttyname_r (Depends-on): Add extensions.
51666         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
51668 2010-04-25  Bruno Haible  <bruno@clisp.org>
51670         Use the 'extensions' module for some more functions on Solaris.
51671         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
51672         module.
51673         * doc/posix-functions/ctime_r.texi: Likewise.
51674         * doc/posix-functions/getgrgid_r.texi: Likewise.
51675         * doc/posix-functions/getgrnam_r.texi: Likewise.
51676         * doc/posix-functions/getpwnam_r.texi: Likewise.
51677         * doc/posix-functions/getpwuid_r.texi: Likewise.
51678         * doc/posix-functions/readdir_r.texi: Likewise.
51679         * doc/posix-functions/sigwait.texi: Likewise.
51680         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
51681         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
51683 2010-04-25  Bruno Haible  <bruno@clisp.org>
51685         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
51686         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
51687         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
51688         * lib/ttyname_r.c: Include <limits.h>.
51689         (ttyname_r): Define using the system's ttyname_r function, if it exists
51690         and not on Solaris.
51691         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
51692         set.
51693         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
51694         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
51695         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
51696         Reported by Simon Josefsson.
51698 2010-04-25  Bruno Haible  <bruno@clisp.org>
51700         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
51701         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
51702         * doc/posix-functions/ctime_r.texi: Likewise.
51703         * doc/posix-functions/getgrgid_r.texi: Likewise.
51704         * doc/posix-functions/getgrnam_r.texi: Likewise.
51705         * doc/posix-functions/getlogin_r.texi: Likewise.
51706         * doc/posix-functions/getpwnam_r.texi: Likewise.
51707         * doc/posix-functions/getpwuid_r.texi: Likewise.
51708         * doc/posix-functions/readdir_r.texi: Likewise.
51709         * doc/posix-functions/sigwait.texi: Likewise.
51710         * doc/posix-functions/ttyname_r.texi: Likewise.
51711         Reported by Simon Josefsson.
51713 2010-04-25  Bruno Haible  <bruno@clisp.org>
51715         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
51716         * gnulib-tool (func_usage): Document that --with-*-tests options apply
51717         also to --create-testdir.
51718         (func_acceptable): Don't consider the status of *-tests modules here.
51719         (func_modules_transitive_closure): Consider it here, before including a
51720         test module.
51721         (func_import, func_create_testdir): Set inc_all_direct_tests,
51722         inc_all_indirect_tests.
51723         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
51724         --create-testdir and --create-megatestdir.
51726 2010-04-25  Bruno Haible  <bruno@clisp.org>
51728         gnulib-tool: Add --without-*-tests options.
51729         * gnulib-tool (func_usage): Document the --without-*-tests options.
51730         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
51731         excl_unportable_tests): New variables.
51732         Fail if they are specified with --import or --update.
51733         (func_acceptable): Respect the excl_*_tests variables.
51734         (func_import): Set the excl_*_tests variables to empty.
51736 2010-04-25  Simon Josefsson  <simon@josefsson.org>
51737             Bruno Haible  <bruno@clisp.org>
51739         Work around a MacOS X 10.4 bug with openpty.
51740         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
51741         * tests/test-openpty.c (main): Close the master side explicitly.
51743 2010-04-25  Bruno Haible  <bruno@clisp.org>
51745         strnlen: Fix a C++ test error on MacOS X and Solaris.
51746         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
51747         the function is not declared.
51748         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
51749         Simon Josefsson.
51751 2010-04-24  Bruno Haible  <bruno@clisp.org>
51753         Avoid a gcc warning.
51754         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
51755         of correct type for %08lx directive.
51756         Reported by Eric Blake.
51758 2010-04-24  Bruno Haible  <bruno@clisp.org>
51760         vasnprintf: Correct errno value in case of out-of-memory.
51761         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
51762         or sprintf. Use the errno value from SNPRINTF or sprintf.
51763         Reported by Ian Beckwith <ianb@erislabs.net>.
51765 2010-04-24  Bruno Haible  <bruno@clisp.org>
51767         ansi-c++-opt: Find correct compiler when cross-compiling.
51768         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
51769         AC_CHECK_PROGS.
51770         Reported by Simon Josefsson.
51772 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
51774         vc-list-files: Add support for subversion
51775         * build-aux/vc-list-files: Use "svn list" to generate the list of
51776         files controlled by subversion.
51778 2010-04-23  Jim Meyering  <meyering@redhat.com>
51780         vc-list-files tests: convert to use init.sh
51781         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
51782         path_prepend_.
51783         Use Exit, not exit.
51784         Use skip_ rather than open coding it.
51785         Remove trap set-up and compare definitions.
51786         * tests/test-vc-list-files-git.sh: Likewise.
51787         * modules/vc-list-files-tests (Files): Add tests/init.sh.
51789 2010-04-22  Simon Josefsson  <simon@josefsson.org>
51791         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
51792         backup files.
51794 2010-04-21  Simon Josefsson  <simon@josefsson.org>
51796         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
51798 2010-04-20  Eric Blake  <eblake@redhat.com>
51800         tests: be robust to ignored SIGPIPE
51801         * tests/test-select-in.sh: Consume all output.
51802         * tests/test-lseek.sh: Check correct exit status, while avoiding
51803         EPIPE.
51805 2010-04-20  Simon Josefsson  <simon@josefsson.org>
51806             Bruno Haible  <bruno@clisp.org>
51808         visibility: Don't use -fvisibility if it leads to a warning.
51809         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
51810         yes, don't pretend that visibility works if it leads to a warning.
51811         Reported by Mike Gran <spk121@yahoo.com>.
51813 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
51815         * build-aux/bootstrap: Use "git -h" for testing for supported options
51816         instead of "git --help".  The short-form option only shows a summary,
51817         and doesn't layout the full man page.  Grep for the full option name
51818         in the summary, too.
51820 2010-04-19  Bruno Haible  <bruno@clisp.org>
51822         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
51823         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
51824         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
51825         mention of RELOCATABLE_STRIP.
51826         Reported by Sylvain Beucler <beuc@beuc.net>.
51828 2010-04-19  Bruno Haible  <bruno@clisp.org>
51830         * lib/diffseq.h: Fix typo in comment.
51831         Reported by Eric Blake.
51833 2010-04-19  Bruno Haible  <bruno@clisp.org>
51835         ioctl: Move autoconf macro to a .m4 file.
51836         * m4/ioctl.m4: New file, extracted from modules/ioctl.
51837         * modules/ioctl (Files): Add it.
51838         (configure.ac): Simply invoke gl_FUNC_IOCTL.
51839         Reported by Ian Beckwith <ianb@erislabs.net>.
51841 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
51842             Bruno Haible  <bruno@clisp.org>
51844         diffseq: Accommodate use-case with abstract arrays.
51845         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
51846         is not defined.
51847         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
51848         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
51850 2010-04-18  Bruno Haible  <bruno@clisp.org>
51852         * doc/posix-headers/stdbool.texi: More precise wording.
51854 2010-04-17  Jim Meyering  <meyering@redhat.com>
51856         maint.mk: use gnu-style indentation in an embedded perl script
51857         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
51858         Rename variable: s/two/last_two_bytes/
51860 2010-04-16  Eric Blake  <eblake@redhat.com>
51862         test-stdbool: skip test that fails with Solaris CC
51863         * tests/test-stdbool.c (f): Skip test that causes compilation
51864         error under buggy C++ compiler.
51865         * lib/stdbool.in.h: Document the limitation.
51866         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
51868         setenv: allow compilation with C++
51869         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
51870         register keyword.
51872         stdint: allow test to pass with C++
51873         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
51875         getopt: allow compilation with C++
51876         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
51877         struct.
51878         * lib/getopt.c (_getopt_internal_r): Use correct type.
51879         Reported by Dagobert Michelson, via Joel E. Denny.
51881 2010-04-16  Bruno Haible  <bruno@clisp.org>
51883         Override netdb.h always.
51884         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
51885         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
51886         Reported by Ludovic Courtès <ludo@gnu.org>.
51888 2010-04-15  Bruno Haible  <bruno@clisp.org>
51890         openpty: Fix mistake from 2010-03-21.
51891         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
51892         Reported by Simon Josefsson.
51894 2010-04-15  Eric Blake  <eblake@redhat.com>
51896         test-forkpty: fix expected signature
51897         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
51898         Reported by Simon Josefsson.
51900 2010-04-15  Jim Meyering  <meyering@redhat.com>
51902         maint.mk: texinfo_suffix_re_: correct the default regexp
51903         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
51905         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
51906         make it configurable via texinfo_suffix_re_.
51908 2010-04-14  Eric Blake  <eblake@redhat.com>
51910         strtok_r: relax license to LGPLv2+
51911         * modules/strtok_r (License): Relax license.
51912         Reported by Matthias Bolte.
51914 2010-04-14  Simon Josefsson  <simon@josefsson.org>
51916         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
51917         version 1.4.4 by default instead of requiring the libgcrypt
51918         version used during build.  This makes it possible to use the
51919         application with older but still binary compatible libgcrypt
51920         versions.
51922 2010-04-13  Eric Blake  <eblake@redhat.com>
51924         getopt-gnu: match recent glibc fixes and posix ruling
51925         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
51926         '+' handling, when requesting extensions.
51927         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
51928         'W;' handling.
51929         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
51930         * doc/posix-functions/getopt.texi (getopt): Document this.
51931         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
51932         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
51933         Likewise.
51935         getopt: merge bug fixes from glibc
51936         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
51937         diagnostics.  Honor '+:' correctly.  Reject ';'.
51939         getopt-posix: detect MacOS bug
51940         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
51941         optind when missing a required argument.
51942         * doc/posix-functions/getopt.texi (getopt): Document the bug.
51943         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
51944         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
51945         Likewise.
51947         getopt-posix: avoid spurious failure on Solaris
51948         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
51949         an indicator that setting optind=1 is sufficient for reset.
51951         getopt-posix: avoid spurious failure on FreeBSD
51952         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
51953         in POSIX mode, since the m4 test uses it.
51955         gnulib-tool: silence warning on BSD sh
51956         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
51958 2010-04-13  Jim Meyering  <meyering@redhat.com>
51960         doc: users.txt: GNU patch now uses gnulib
51961         * users.txt: Add patch.
51963 2010-04-12  Jim Meyering  <meyering@redhat.com>
51965         maint.mk: generate more concise timing data for syntax-check rules
51966         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
51967         " done" from each line that reports a syntax-check test duration.
51969 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
51971         git-version-gen: use "git update-index..." rather than "git status"
51972         * build-aux/git-version-gen: Use git update-index --refresh, not
51973         "git status".  With some versions of git, "git status" would fail
51974         to update the index and result in an unwarranted "-dirty" suffix.
51976 2010-04-11  Jim Meyering  <meyering@redhat.com>
51978         openat: correct formatting (no semantic change)
51979         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
51980         Suggested by Bruno Haible.
51982 2010-04-11  Bruno Haible  <bruno@clisp.org>
51984         Stricter declaration checking in testdirs.
51985         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
51986         If for_tests is true, augment AM_CPPFLAGS to define
51987         GNULIB_STRICT_CHECKING.
51988         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
51989         GNULIB_STRICT_CHECKING is defined, verify that the function is
51990         declared.
51992 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
51993             Bruno Haible  <bruno@clisp.org>
51995         libunistring: Improve configure output.
51996         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
51997         Don't say "consider installing GNU libunistring" when checking again
51998         with libiconv.
52000 2010-04-11  Bruno Haible  <bruno@clisp.org>
52002         libunistring: Correct value of $LTLIBUNISTRING.
52003         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
52004         correct the value of $LTLIBUNISTRING.
52006 2010-04-11  Bruno Haible  <bruno@clisp.org>
52008         havelib: Add static libraries to LIBS in the right order.
52009         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
52010         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
52012 2010-04-11  Bruno Haible  <bruno@clisp.org>
52014         libunistring: Detect libunistring also when it depends on libiconv.
52015         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
52016         the second AC_LIB_HAVE_LINKFLAGS invocation.
52018 2010-04-11  James Youngman  <jay@gnu.org>
52020         close-stream: declare local scalars to be "const"
52021         * lib/close-stream.c (close_stream): Make boolean variables const
52022         to document the fact that we set but do not change them.
52024 2010-04-11  Bruno Haible  <bruno@clisp.org>
52026         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
52028 2010-04-11  Jim Meyering  <meyering@redhat.com>
52030         maint.mk: don't include dist-check.mk
52031         * top/maint.mk: Remove bogus include directive.
52033         maint.mk: improve empty-line-at-EOF check
52034         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
52035         solution, rather than tail+Perl-based one.  The latter would read
52036         a few kilobytes from the end of each file, and did not handle empty
52037         files properly.
52039         maint.mk: print the elapsed time for each syntax-check rule
52040         * top/maint.mk (sc_m_rules_): Save start time in a file.
52041         (sc_z_rules_): New rules: remove temp file and print elapsed time.
52042         (local-check): Interpose the .z rules
52044 2010-04-11  Jim Meyering  <meyering@redhat.com>
52046         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
52047         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
52048         empty file with one that ends in an empty line.
52050 2010-04-10  Bruno Haible  <bruno@clisp.org>
52052         mkdir: Make it work on mingw64.
52053         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
52054         * lib/mkdir.c: Update comment.
52055         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
52057 2010-04-10  Bruno Haible  <bruno@clisp.org>
52059         Don't override improved macro from newer autoconf.
52060         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
52061         autoconf >= 2.62.
52062         Reported by Joel E. Denny <jdenny@clemson.edu>.
52064 2010-04-10  Jim Meyering  <meyering@redhat.com>
52066         maint.mk: new syntax-check rule: prohibit empty lines at end of file
52067         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
52069         maint.mk: correct a diagnostic
52070         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
52071         in diagnostic; now use $prohibit.
52073 2010-04-10  Bruno Haible  <address@hidden>
52075         fchownat: Fix a C++ test error on Solaris 8.
52076         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
52077         the function does not exist.
52079 2010-04-10  Bruno Haible  <bruno@clisp.org>
52081         vasnprintf: Add more tests.
52082         * tests/test-vasnprintf-posix.c: Include <errno.h>.
52083         (test_function): Test converting an invalid wide string.
52085         vasnprintf: Correct handling of unconvertible wide string arguments.
52086         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
52087         VASNPRINTF.
52088         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
52089         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
52090         smaller than the expected maximum need for the directive. Set errno to
52091         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
52092         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
52093         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
52094         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
52095         * modules/vasnprintf (Files): Add m4/printf.m4.
52096         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
52098 2010-04-10  Bruno Haible  <bruno@clisp.org>
52100         vasnprintf: Fix crash in %ls directive.
52101         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
52102         string is passed as argument to %ls, with no precision and no width.
52103         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
52105 2010-04-10  Bruno Haible  <bruno@clisp.org>
52107         vasnprintf: Fix multiple test failures on mingw.
52108         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
52109         _snprintf, or snwprintf, not _snwprintf.
52111 2010-04-10  Bruno Haible  <bruno@clisp.org>
52113         write: Fix a C++ test error on mingw.
52114         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
52116 2010-04-10  Bruno Haible  <bruno@clisp.org>
52118         vasnprintf test: Reduce code duplication.
52119         * tests/test-vasnprintf.c (test_function): New function, extracted from
52120         test_vasnprintf.
52121         (test_vasnprintf, test_asnprintf): Invoke it.
52123 2010-04-10  Bruno Haible  <bruno@clisp.org>
52125         strnlen: Fix warning in C++ mode on MacOS X.
52126         * lib/string.in.h (strnlen): Use the modern idiom.
52127         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
52128         defining strnlen as a macro already in <config.h>.
52129         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52130         REPLACE_STRNLEN.
52131         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
52132         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
52134 2010-04-08  James Youngman  <jay@gnu.org>
52136         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
52137         the example.
52139 2010-04-09  Jim Meyering  <meyering@redhat.com>
52141         maint.mk: print better diagnostic when there is no $(_hv_file)
52142         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
52143         announce that when $(_hv_file) (aka help-version) does not exist.
52145         init.sh: run tr in the "C" locale to avoid multibyte interpretation
52146         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
52147         not try to interpret its random input bytes.  Jarno Rajahalme reported
52148         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
52149         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
52150         (mktempd_): Likewise, just in case.
52152         ftruncate: add two years to projected module removal date: 2012
52153         * m4/ftruncate.m4: Adjust comments.
52155         ftruncate: mark module as obsolete; even MinGW provides it, now
52156         * modules/ftruncate (Status): Obsolete.
52157         (Notice): Say that.
52158         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
52159         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
52161 2010-04-08  Bruno Haible  <bruno@clisp.org>
52163         Fix side effects from tests-related modules.
52164         * modules/dprintf-posix (Comment): New section.
52165         * modules/fprintf-posix (Comment): Likewise.
52166         * modules/obstack-printf-posix (Comment): Likewise.
52167         * modules/printf-posix (Comment): Likewise.
52168         * modules/snprintf-posix (Comment): Likewise.
52169         * modules/sprintf-posix (Comment): Likewise.
52170         * modules/vasnprintf-posix (Comment): Likewise.
52171         * modules/vasprintf-posix (Comment): Likewise.
52172         * modules/vdprintf-posix (Comment): Likewise.
52173         * modules/vfprintf-posix (Comment): Likewise.
52174         * modules/vprintf-posix (Comment): Likewise.
52175         * modules/vsnprintf-posix (Comment): Likewise.
52176         * modules/vsprintf-posix (Comment): Likewise.
52177         * modules/xprintf-posix (Comment): Likewise.
52178         * modules/xvasprintf-posix (Comment): Likewise.
52179         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
52180         * modules/floorf-tests (Depends-on): Likewise.
52181         * modules/round-tests (Depends-on): Likewise.
52182         * modules/roundf-tests (Depends-on): Likewise.
52183         * modules/trunc-tests (Depends-on): Likewise.
52184         * modules/truncf-tests (Depends-on): Likewise.
52185         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
52186         'fprintf-posix' module is not present.
52187         * tests/test-floorf2.c (check): Likewise.
52188         * tests/test-trunc2.c (check): Likewise.
52189         * tests/test-truncf2.c (check): Likewise.
52190         * tests/test-round2.c (equal): Likewise.
52191         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
52193 2010-04-07  Karl Berry  <karl@gnu.org>
52195         * config/srclist.txt,
52196         * config/srclistvars.sh,
52197         * config/srclist-update: doc fixes.
52199 2010-04-07  Jim Meyering  <meyering@redhat.com>
52201         maint.mk: add a PATH crosschecking syntax-check rule
52202         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
52203         Useful if you use a test like the one in help-version (coreutils,
52204         diffutils, grep, gzip) that ensures $(VERSION) matches what is
52205         printed by prog --version.
52207 2010-04-06  Bruno Haible  <bruno@clisp.org>
52209         Fix link error on mingw.
52210         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
52211         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
52213 2010-04-06  Bruno Haible  <bruno@clisp.org>
52215         Assume rmdir exists.
52216         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
52218 2010-04-06  Giuseppe Scrivano  <gscrivano@gnu.org>
52220         doc: update users.txt
52221         * users.txt: Add gcal.
52223 2010-04-06  Jim Meyering  <meyering@redhat.com>
52225         init.sh: simply unset TMPDIR rather than risking env -i
52226         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
52227         although it probably works fine on all Unix-based systems, some
52228         systems (Cygwin?) cannot tolerate a totally cleared environment.
52229         Suggestion from Eric Blake.
52231 2010-04-06  Jim Meyering  <meyering@redhat.com>
52233         init.sh: portability fix: use env's POSIX-specified -i option not -u
52234         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
52235         than unportable env -u.  Solaris 5.11's env lacks support for -u.
52237 2010-04-05  Bruno Haible  <bruno@clisp.org>
52239         btowc: Work around Cygwin 1.7.2 bug.
52240         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
52241         does not map NUL to 0.
52242         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
52244 2010-04-05  Bruno Haible  <bruno@clisp.org>
52246         Make the multithread modules work on Cygwin 1.7.2.
52247         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
52248         imported symbols can be declared weak, so that it returns "no" on
52249         Cygwin 1.7.2.
52251 2010-04-05  Bruno Haible  <bruno@clisp.org>
52253         Use the module 'strncat'.
52254         * modules/unistr/u8-strncat (Depends-on): Add strncat.
52256         Tests for module 'strncat'.
52257         * modules/strncat-tests: New file.
52258         * tests/test-strncat.c: New file.
52260         New module 'strncat'.
52261         * lib/string.in.h (strncat): New declaration.
52262         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
52263         * m4/strncat.m4: New file, based on m4/memchr.m4.
52264         * modules/strncat: New file.
52265         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
52266         is declared.
52267         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
52268         REPLACE_STRNCAT.
52269         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
52270         REPLACE_STRNCAT.
52271         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
52272         module.
52273         * tests/test-string-c++.cc: Check signature of strncat.
52275 2010-04-05  Jim Meyering  <meyering@redhat.com>
52277         xstrtoumax-tests: convert to use init.sh
52278         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
52279         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
52280         Use Exit, not exit.
52281         Remove uses of $EXEEXT and "./" to run a program in the current dir.
52283         xstrtoimax-tests: convert to use init.sh
52284         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
52285         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
52286         Use Exit, not exit.
52287         Remove uses of $EXEEXT and "./" to run a program in the current dir.
52289 2010-04-05  Bruno Haible  <bruno@clisp.org>
52291         sys_socket: Avoid #define replacements in C++ mode.
52292         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
52293         warning to the function if possible, rather than #defining the symbol
52294         to a dysfunctional alias.
52296 2010-04-05  Bruno Haible  <bruno@clisp.org>
52298         fseeko: Fix C++ test error on mingw.
52299         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
52300         gl_FUNC_FSEEKO.
52301         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
52302         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
52303         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
52304         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
52306 2010-04-05  Bruno Haible  <bruno@clisp.org>
52308         duplocale: Improve test output.
52309         * tests/test-duplocale.c (main): Print reason for skipped test.
52311 2010-04-05  Bruno Haible  <bruno@clisp.org>
52313         Assume rmdir exists.
52314         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
52315         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
52317 2010-04-05  Bruno Haible  <bruno@clisp.org>
52319         Fix link error on Solaris 8 with cc.
52320         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
52322 2010-04-05  Bruno Haible  <bruno@clisp.org>
52324         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
52325         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
52327 2010-04-05  Bruno Haible  <bruno@clisp.org>
52329         vasprintf: Update documentation.
52330         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
52332 2010-04-05  Bruno Haible  <bruno@clisp.org>
52334         ptsname: Improve test.
52335         * tests/test-ptsname.c (main): Also try the various master names of BSD
52336         systems.
52338 2010-04-05  Bruno Haible  <bruno@clisp.org>
52340         memchr: Avoid a possible C++ test error.
52341         * lib/string.in.h (memchr): Provide declaration if function is missing.
52342         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
52343         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
52344         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
52345         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
52347 2010-04-05  Bruno Haible  <bruno@clisp.org>
52349         strtok_r: Improve idiom.
52350         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
52351         AC_LIBOBJ is used.
52353 2010-04-05  Bruno Haible  <bruno@clisp.org>
52355         strdup: Improve idiom.
52356         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
52357         AC_LIBOBJ is used.
52358         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
52359         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
52360         when AC_LIBOBJ is used.
52362 2010-04-05  Bruno Haible  <bruno@clisp.org>
52364         mbsinit, mbrtowc, wcrtomb: Improve idioms.
52365         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
52366         don't set REPLACE_MBSINIT to 1.
52367         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
52368         don't set REPLACE_MBRTOWC to 1.
52369         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
52370         exist, don't set REPLACE_MBSRTOWCS to 1.
52371         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
52372         exist, don't set REPLACE_MBSNRTOWCS to 1.
52373         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
52374         don't set REPLACE_WCRTOMB to 1.
52375         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
52376         exist, don't set REPLACE_WCSRTOMBS to 1.
52377         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
52378         exist, don't set REPLACE_WCSNRTOMBS to 1.
52380 2010-04-05  Bruno Haible  <bruno@clisp.org>
52382         ldexpl: Improve idiom.
52383         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
52384         make sure to set HAVE_DECL_LDEXPL to 0.
52386 2010-04-05  Jim Meyering  <meyering@redhat.com>
52388         xstrtol-tests: convert to use init.sh
52389         * modules/xstrtol-tests (Files): Add tests/init.sh.
52390         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
52391         Use Exit, not exit.
52392         Remove uses of $EXEEXT and "./" to run a program in the current dir.
52394         atexit-tests: convert to use init.sh
52395         * modules/atexit-tests (Files): Add tests/init.sh.
52396         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
52397         Use Exit, not exit.
52398         Remove uses of $EXEEXT and "./" to run a program in the current dir.
52400         init.sh: fix typo
52401         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
52403         init.sh: make it easier for a test script to write to the tty, ...
52404         when using automake's parallel-tests mode.
52405         * tests/init.sh (stderr_fileno_): Define overridable variable.
52406         (warn_): New function, to use it.
52407         (fail_, skip_, framework_failure_): Use warn_.
52409 2010-04-04  Bruno Haible  <bruno@clisp.org>
52411         btowc: Avoid warning.
52412         * lib/btowc.c: Include <stdlib.h>.
52413         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
52415 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
52416             Bruno Haible  <bruno@clisp.org>
52418         wchar: Port to NetBSD 1.5.
52419         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
52420         * lib/wctype.in.h (WEOF): Likewise.
52422 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
52423             Bruno Haible  <bruno@clisp.org>
52425         Port extended stdio to NetBSD 1.5.
52426         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
52427         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
52428         older.
52430 2010-04-04  Bruno Haible  <bruno@clisp.org>
52432         string: Remove unused substitution.
52433         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
52434         HAVE_DECL_STRERROR.
52435         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
52437 2010-04-04  Bruno Haible  <bruno@clisp.org>
52439         strtod: Avoid a possible C++ test error.
52440         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
52441         set REPLACE_STRTOD.
52443 2010-04-04  Bruno Haible  <bruno@clisp.org>
52445         strerror: Update documentation.
52446         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
52448 2010-04-04  Bruno Haible  <bruno@clisp.org>
52450         stdio: Fix some C++ test errors on Solaris 8 with GCC.
52451         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
52452         _GL_CXXALIAS_SYS_CAST.
52454 2010-04-04  Bruno Haible  <bruno@clisp.org>
52456         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
52457         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
52458         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
52459         REPLACE_FREXPL to 1.
52460         * doc/posix-functions/frexpl.texi: Update documentation.
52462 2010-04-04  Bruno Haible  <bruno@clisp.org>
52464         math: Fix some C++ test errors on Solaris 8 and Cygwin.
52465         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
52467 2010-04-04  Bruno Haible  <bruno@clisp.org>
52469         Implement nanosleep for native Windows.
52470         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
52472 2010-04-04  Bruno Haible  <bruno@clisp.org>
52474         math: Fix some C++ test errors on Solaris 8.
52475         * lib/math.in.h (truncf, trunc): Use simpler idiom.
52477 2010-04-04  Bruno Haible  <bruno@clisp.org>
52479         math: Fix some C++ test errors on Cygwin.
52480         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
52481         truncl): Provide declaration if the system does not have it.
52482         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
52483         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
52484         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
52485         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
52486         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
52487         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
52488         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
52489         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
52490         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
52491         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
52492         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
52493         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
52494         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
52495         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
52496         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
52497         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
52498         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
52499         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
52500         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
52501         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
52502         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
52503         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
52505 2010-04-04  Bruno Haible  <bruno@clisp.org>
52507         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
52508         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
52509         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
52510         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
52511         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
52512         * m4/isinf.m4 (gl_ISINF): Likewise.
52513         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
52515 2010-04-04  Bruno Haible  <bruno@clisp.org>
52517         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
52518         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
52520 2010-04-04  Bruno Haible  <bruno@clisp.org>
52522         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
52523         * modules/tmpfile (configure.ac): Update.
52525         tmpfile: Fix C++ test error on mingw.
52526         * lib/stdio.in.h (tmpfile): New declaration.
52527         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
52528         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
52529         * modules/tmpfile (Depends-on): Add stdio.
52530         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
52531         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
52532         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
52533         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
52534         REPLACE_TMPFILE.
52535         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
52537 2010-04-04  Bruno Haible  <bruno@clisp.org>
52539         ioctl: Fix C++ test error on mingw.
52540         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
52541         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
52542         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
52544 2010-04-03  Bruno Haible  <bruno@clisp.org>
52546         wcwidth: Fix C++ test error on mingw.
52547         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
52548         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
52549         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
52551 2010-04-03  Bruno Haible  <bruno@clisp.org>
52553         nanosleep: Fix C++ test error on mingw.
52554         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
52555         * lib/time.in.h (nanosleep): Use modern idiom.
52556         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
52557         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
52558         REPLACE_NANOSLEEP to 1.
52559         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
52560         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
52562 2010-04-03  Bruno Haible  <bruno@clisp.org>
52564         strptime: Fix C++ test error on mingw.
52565         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
52566         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
52567         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
52568         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
52569         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
52570         not REPLACE_STRPTIME.
52571         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
52572         REPLACE_STRPTIME.
52574 2010-04-03  Bruno Haible  <bruno@clisp.org>
52576         timegm: Fix C++ test error on mingw.
52577         * lib/time.in.h (timegm): Use modern idiom.
52578         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
52579         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
52580         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
52581         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
52583 2010-04-03  Bruno Haible  <bruno@clisp.org>
52585         timegm: Assume declaration if function exists.
52586         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
52587         if it exists. Don't clobber ac_cv_func_timegm.
52589 2010-04-03  Bruno Haible  <bruno@clisp.org>
52591         time_r: Fix C++ test error on mingw.
52592         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
52593         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
52594         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
52595         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
52596         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
52598 2010-04-03  Bruno Haible  <bruno@clisp.org>
52600         time_r: Minor updates.
52601         * modules/time_r (Description): Mention the provided functions.
52602         * lib/time_r.c: Don't include <string.h>.
52603         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
52604         * doc/posix-functions/localtime_r.texi: Likewise.
52606 2010-04-03  Bruno Haible  <bruno@clisp.org>
52608         time: Fix regression introduced on 2010-03-08.
52609         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
52610         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
52612 2010-04-03  Jim Meyering  <meyering@redhat.com>
52614         maint.mk: don't silently disable project-specific syntax-check rules
52615         * top/maint.mk (_prohibit_regexp): Define, to help people realize
52616         that they need to convert their project-specific syntax-check rules
52617         to use the new _sc_search_regexp.
52619 2010-04-03  Bruno Haible  <bruno@clisp.org>
52621         fchdir: Fix regression introduced on 2010-03-08.
52622         * lib/unistd.in.h (fchdir): Fix declaration.
52623         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
52624         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
52625         REPLACE_FCHDIR.
52626         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
52627         REPLACE_FCHDIR.
52629 2010-04-03  Bruno Haible  <bruno@clisp.org>
52631         getpagesize: Fix C++ test error on mingw.
52632         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
52633         system does not declare the function.
52634         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
52635         declared.
52636         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
52637         HAVE_DECL_GETPAGESIZE.
52638         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
52640 2010-04-03  Bruno Haible  <bruno@clisp.org>
52642         stdio: Make C++ tests work on mingw.
52643         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
52644         does not declare the function.
52646 2010-04-03  Bruno Haible  <bruno@clisp.org>
52648         ftello: Fix C++ test error on mingw.
52649         * lib/stdio.in.h (ftello): Use modern idiom.
52650         * lib/ftello.c (ftello): Renamed from rpl_ftello.
52651         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
52652         is missing and that it needs to be replaced.
52653         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
52654         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
52655         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
52657 2010-04-03  Bruno Haible  <bruno@clisp.org>
52659         fseeko: Fix C++ test error on mingw.
52660         * lib/stdio.in.h (fseeko): Use modern idiom.
52661         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
52662         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
52663         is missing and that it needs to be replaced.
52664         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
52665         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
52666         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
52668 2010-04-03  Bruno Haible  <bruno@clisp.org>
52670         mkstemp: Fix C++ test error on mingw.
52671         * lib/stdlib.in.h (mkstemp): Use modern idiom.
52672         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
52673         function is missing and that it needs to be replaced.
52674         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
52675         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
52677 2010-04-03  Bruno Haible  <bruno@clisp.org>
52679         stpncpy: Fix C++ test error on mingw.
52680         * lib/string.in.h (stpncpy): Use modern idiom.
52681         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
52682         function is missing and that it needs to be replaced.
52683         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52684         REPLACE_STPNCPY.
52685         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
52687 2010-04-03  Bruno Haible  <bruno@clisp.org>
52689         sys_stat: Fix C++ test error on mingw.
52690         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
52691         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
52693 2010-04-03  Bruno Haible  <bruno@clisp.org>
52695         pty: Update doc.
52696         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
52698 2010-04-03  Bruno Haible  <bruno@clisp.org>
52700         unistd: Fix C++ test error on mingw.
52701         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
52703 2010-04-03  Bruno Haible  <bruno@clisp.org>
52705         Update doc regarding mingw.
52706         * doc/glibc-functions/openpty.texi: Update regarding mingw.
52707         * doc/glibc-functions/login_tty.texi: Likewise.
52708         * doc/glibc-functions/forkpty.texi: Likewise.
52710 2010-04-03  Bruno Haible  <bruno@clisp.org>
52712         stdlib: Avoid compilation failure of c-strtold on mingw.
52713         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
52715 2010-04-03  Bruno Haible  <bruno@clisp.org>
52717         locale: Make C++ tests work on Cygwin and mingw.
52718         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
52719         cannot provide the function.
52720         Reported by Simon Josefsson.
52722 2010-04-03  Bruno Haible  <bruno@clisp.org>
52724         localename: Port to MacOS X 10.6.
52725         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
52726         memory layout of the locales in MacOS X 10.6 as well.
52727         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
52729 2010-04-02  Bruno Haible  <bruno@clisp.org>
52731         gnulib-tool: Ensure that long-running tests are executed last.
52732         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
52733         running tests after the one for the other tests.
52735 2010-04-02  Bruno Haible  <bruno@clisp.org>
52737         gnulib-tool: Ensure the tests in the main directory are executed first.
52738         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
52739         start with the current directory.
52741 2010-04-02  Bruno Haible  <bruno@clisp.org>
52743         Tests for module 'havelib', moved here from GNU gettext.
52744         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
52745         modifications.
52746         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
52747         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
52748         with modifications.
52749         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
52750         modifications.
52751         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
52752         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
52753         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
52754         with modifications.
52755         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
52756         with modifications.
52757         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
52758         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
52759         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
52760         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
52761         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
52762         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
52763         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
52764         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
52765         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
52766         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
52767         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
52768         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
52769         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
52770         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
52771         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
52772         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
52773         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
52774         with modifications.
52775         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
52776         with modifications.
52777         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
52778         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
52779         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
52780         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
52781         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
52782         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
52783         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
52784         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
52785         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
52786         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
52787         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
52788         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
52789         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
52790         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
52791         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
52792         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
52793         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
52794         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
52795         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
52796         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
52797         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
52798         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
52799         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
52800         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
52801         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
52802         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
52803         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
52804         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
52805         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
52806         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
52807         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
52808         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
52809         * tests/havelib/rpathx/rpathx.c: New file, from
52810         gettext/autoconf-lib-link.
52811         * tests/havelib/rpathx/Makefile.am: New file, from
52812         gettext/autoconf-lib-link.
52813         * tests/havelib/rpathx/configure.ac: New file, from
52814         gettext/autoconf-lib-link with modifications.
52815         * tests/havelib/rpathy/rpathy.c: New file, from
52816         gettext/autoconf-lib-link.
52817         * tests/havelib/rpathy/Makefile.am: New file, from
52818         gettext/autoconf-lib-link.
52819         * tests/havelib/rpathy/configure.ac: New file, from
52820         gettext/autoconf-lib-link with modifications.
52821         * tests/havelib/rpathz/rpathz.c: New file, from
52822         gettext/autoconf-lib-link.
52823         * tests/havelib/rpathz/Makefile.am: New file, from
52824         gettext/autoconf-lib-link.
52825         * tests/havelib/rpathz/configure.ac: New file, from
52826         gettext/autoconf-lib-link with modifications.
52827         * tests/havelib/rpathlx/usex.c: New file, from
52828         gettext/autoconf-lib-link.
52829         * tests/havelib/rpathlx/Makefile.am: New file, from
52830         gettext/autoconf-lib-link.
52831         * tests/havelib/rpathlx/configure.ac: New file, from
52832         gettext/autoconf-lib-link with modifications.
52833         * tests/havelib/rpathly/usey.c: New file, from
52834         gettext/autoconf-lib-link.
52835         * tests/havelib/rpathly/Makefile.am: New file, from
52836         gettext/autoconf-lib-link.
52837         * tests/havelib/rpathly/configure.ac: New file, from
52838         gettext/autoconf-lib-link with modifications.
52839         * tests/havelib/rpathlz/usez.c: New file, from
52840         gettext/autoconf-lib-link.
52841         * tests/havelib/rpathlz/Makefile.am: New file, from
52842         gettext/autoconf-lib-link.
52843         * tests/havelib/rpathlz/configure.ac: New file, from
52844         gettext/autoconf-lib-link with modifications.
52845         * tests/havelib/rpathlyx/usey.c: New file, from
52846         gettext/autoconf-lib-link.
52847         * tests/havelib/rpathlyx/Makefile.am: New file, from
52848         gettext/autoconf-lib-link.
52849         * tests/havelib/rpathlyx/configure.ac: New file, from
52850         gettext/autoconf-lib-link with modifications.
52851         * tests/havelib/rpathlzyx/usez.c: New file, from
52852         gettext/autoconf-lib-link.
52853         * tests/havelib/rpathlzyx/Makefile.am: New file, from
52854         gettext/autoconf-lib-link.
52855         * tests/havelib/rpathlzyx/configure.ac: New file, from
52856         gettext/autoconf-lib-link with modifications.
52857         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
52858         with modifications.
52860 2010-04-02  Bruno Haible  <bruno@clisp.org>
52862         gnulib-tool: Create distributed built sources also for the tests.
52863         * gnulib-tool (func_create_testdir): Also generate distributed built
52864         sources in the tests directory.
52866 2010-04-02  Bruno Haible  <bruno@clisp.org>
52868         gnulib-tool: Obey user's environment variables.
52869         * gnulib-tool (func_create_testdir): When creating built sources,
52870         respect the environment variables for autoconf, automake, etc. given by
52871         the user.
52873 2010-04-02  Bruno Haible  <bruno@clisp.org>
52875         gnulib-tool: Provide the value of --m4-base to modules.
52876         * gnulib-tool (func_import, func_create_testdir): Emit a definition
52877         of gl_m4_base.
52879 2010-04-02  Eric Blake  <eblake@redhat.com>
52881         maint.mk: fix some fallout
52882         * NEWS: Document the incompatible change, and its effect on cfg.mk.
52883         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
52885 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
52887         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
52888         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
52889         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
52890         (sc_cast_of_x_alloc_return_value): Likewise.
52891         (sc_cast_of_alloca_return_value): Likewise.
52892         (sc_space_tab): Likewise.
52893         (sc_prohibit_atoi_atof): Likewise.
52894         (sc_prohibit_magic_number_exit): Likewise.
52895         (sc_error_exit_success): Likewise.
52896         (sc_file_system): Likewise.
52897         (sc_prohibit_have_config_h): Likewise.
52898         (sc_require_config_h): Likewise.
52899         (sc_prohibit_HAVE_MBRTOWC): Likewise.
52900         (sc_obsolete_symbols): Likewise.
52901         (sc_changelog): Likewise.
52902         (sc_program_name): Likewise.
52903         (sc_the_the): Likewise.
52904         (sc_trailing_blank): Likewise.
52905         (sc_two_space_separator_in_usage): Likewise.
52906         (sc_useless_cpp_parens): Likewise.
52907         (sc_GPL_version): Likewise.
52908         (sc_GFDL_version): Likewise.
52909         (sc_texinfo_acronym): Likewise.
52910         (sc_prohibit_cvs_keyword): Likewise.
52911         (sc_prohibit_stat_st_blocks): Likewise.
52912         (sc_prohibit_S_IS_definition): Likewise.
52913         (sc_redundant_const): Likewise.
52914         (sc_makefile_TAB_only_indentation): Likewise.
52915         (sc_m4_quote_check): Likewise.
52916         (sc_makefile_path_separator_check): Likewise.
52917         (sc_copyright_check): Likewise.
52918         (sc_Wundef_boolean): Likewise.
52919         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
52921         maint.mk: match 0 or more whitespace-before-function-call '('
52922         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
52923         that have zero or two-and-more spaces between the function name
52924         and the open parenthesis.
52925         (sc_error_message_warn_fatal): Likewise.
52926         (sc_error_message_uppercase): Likewise.
52927         (sc_error_message_period): Likewise.
52929 2010-03-31  Eric Blake  <eblake@redhat.com>
52931         maint.mk: check for [ as well as test
52932         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
52933         Based on a libvirt report by Matthias Bolte.
52935         gnumakefile: don't squelch _version output
52936         * top/GNUmakefile (_version): Create one-shot dependency rather
52937         than using $(shell) when version must be regenerated.
52938         (_autoreconf): Run verbosely, by default.
52940         sys_time: avoid compiler warnings
52941         * lib/sys_time.in.h (includes): Ensure gcc pragma is
52942         unconditional, fixing regression from 2010-03-29.
52943         Reported by Simon Josefsson.
52945 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
52947         maint.mk: s/_header_without_use/_sc_header_without_use/
52948         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
52949         (sc_prohibit_assert_without_use): Use the new name.
52950         (sc_prohibit_close_stream_without_use): Likewise.
52951         (sc_prohibit_getopt_without_use): Likewise.
52952         (sc_prohibit_quotearg_without_use): Likewise.
52953         (sc_prohibit_quote_without_use): Likewise.
52954         (sc_prohibit_long_options_without_use): Likewise.
52955         (sc_prohibit_inttostr_without_use): Likewise.
52956         (sc_prohibit_ignore_value_without_use): Likewise.
52957         (sc_prohibit_error_without_use): Likewise.
52958         (sc_prohibit_xalloc_without_use): Likewise.
52959         (sc_prohibit_hash_without_use): Likewise.
52960         (sc_prohibit_hash_pjw_without_use): Likewise.
52961         (sc_prohibit_safe_read_without_use): Likewise.
52962         (sc_prohibit_argmatch_without_use): Likewise.
52963         (sc_prohibit_canonicalize_without_use): Likewise.
52964         (sc_prohibit_root_dev_ino_without_use): Likewise.
52965         (sc_prohibit_openat_without_use): Likewise.
52966         (sc_prohibit_c_ctype_without_use): Likewise.
52967         (sc_prohibit_signal_without_use): Likewise.
52968         (sc_prohibit_intprops_without_use): Likewise.
52970 2010-03-30  Eric Blake  <eblake@redhat.com>
52972         maint: improve module indicators
52973         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
52974         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
52975         columns, and avoid extra macro expansion.
52977         fdopendir: work around FreeBSD bug
52978         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
52979         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
52980         * modules/dirent (Makefile.am): Substitute it.
52981         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
52982         declaration.
52983         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
52984         fix.
52985         Reported by Christian Weisgerber <naddy@mips.inka.de>.
52987 2010-03-29  Bruno Haible  <bruno@clisp.org>
52989         Emit #pragma system_header after the inclusion guard, not before.
52990         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
52991         guard that spans the entire file, not before. This enables an
52992         optimization in GCC's preprocessor.
52993         * lib/ctype.in.h: Likewise.
52994         * lib/dirent.in.h: Likewise.
52995         * lib/errno.in.h: Likewise.
52996         * lib/float.in.h: Likewise.
52997         * lib/getopt.in.h: Likewise.
52998         * lib/iconv.in.h: Likewise.
52999         * lib/langinfo.in.h: Likewise.
53000         * lib/locale.in.h: Likewise.
53001         * lib/math.in.h: Likewise.
53002         * lib/netdb.in.h: Likewise.
53003         * lib/netinet_in.in.h: Likewise.
53004         * lib/pty.in.h: Likewise.
53005         * lib/sched.in.h: Likewise.
53006         * lib/se-selinux.in.h: Likewise.
53007         * lib/search.in.h: Likewise.
53008         * lib/spawn.in.h: Likewise.
53009         * lib/stdarg.in.h: Likewise.
53010         * lib/stdint.in.h: Likewise.
53011         * lib/string.in.h: Likewise.
53012         * lib/strings.in.h: Likewise.
53013         * lib/sys_file.in.h: Likewise.
53014         * lib/sys_ioctl.in.h: Likewise.
53015         * lib/sys_time.in.h: Likewise.
53016         * lib/sys_times.in.h: Likewise.
53017         * lib/sys_utsname.in.h: Likewise.
53018         * lib/sys_wait.in.h: Likewise.
53019         * lib/sysexits.in.h: Likewise.
53020         * lib/wctype.in.h: Likewise.
53022 2010-03-28  James Youngman  <jay@gnu.org>
53024         save-cwd: don't leak a file descriptor when the caller execs.
53025         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
53026         saved file descriptor.
53027         * modules/save-cwd (Depends-on): Depend on cloexec.
53029 2010-03-29  Bruno Haible  <bruno@clisp.org>
53031         Remove vestiges of fts-lgpl module.
53032         * lib/fts_.h: Assume GNULIB_FTS is 1.
53033         * lib/fts.c: Likewise.
53034         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
53036 2010-03-28  Bruno Haible  <bruno@clisp.org>
53038         Fix definition of tests witness macro.
53039         * gnulib-tool (func_import): Fix definition of witness macro.
53041 2010-03-28  Bruno Haible  <bruno@clisp.org>
53043         Fix ioctl's protoype on glibc systems.
53044         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
53045         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
53046         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
53047         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
53048         signature. If not, arrange to replace the ioctl function.
53049         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
53050         REPLACE_IOCTL.
53051         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
53052         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
53053         Reported by Ludovic Courtès <ludo@gnu.org>.
53055 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
53057         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
53058         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
53059         made it so grep -r --include=GLOB* ... did not work.
53061 2010-03-26  Jim Meyering  <meyering@redhat.com>
53062             Eric Blake  <eblake@redhat.com>
53064         maint.mk: prohibit use of test's -o and -a operators
53065         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
53067 2010-03-28  Bruno Haible  <bruno@clisp.org>
53069         Remove unused GNULIB_XYZ macro definitions.
53070         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
53071         invocation.
53073 2010-03-28  Bruno Haible  <bruno@clisp.org>
53075         Mark privileged tests modules.
53076         * modules/idpriv-drop-tests (Status): New section.
53077         * modules/idpriv-droptemp-tests (Status): New section.
53079 2010-03-28  Bruno Haible  <bruno@clisp.org>
53081         Split C++ tests into separate tests modules.
53082         * modules/dirent-c++-tests: New file, extracted from
53083         modules/dirent-tests.
53084         * modules/dirent-tests: Depend on it.
53085         * modules/fcntl-h-c++-tests: New file, extracted from
53086         modules/fcntl-h-tests.
53087         * modules/fcntl-h-tests: Depend on it.
53088         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
53089         * modules/glob-tests: Depend on it.
53090         * modules/iconv-h-c++-tests: New file, extracted from
53091         modules/iconv-h-tests.
53092         * modules/iconv-h-tests: Depend on it.
53093         * modules/langinfo-c++-tests: New file, extracted from
53094         modules/langinfo-tests.
53095         * modules/langinfo-tests: Depend on it.
53096         * modules/locale-c++-tests: New file, extracted from
53097         modules/locale-tests.
53098         * modules/locale-tests: Depend on it.
53099         * modules/math-c++-tests: New file, extracted from modules/math-tests.
53100         * modules/math-tests: Depend on it.
53101         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
53102         * modules/pty-tests: Depend on it.
53103         * modules/search-c++-tests: New file, extracted from
53104         modules/search-tests.
53105         * modules/search-tests: Depend on it.
53106         * modules/signal-c++-tests: New file, extracted from
53107         modules/signal-tests.
53108         * modules/signal-tests: Depend on it.
53109         * modules/spawn-c++-tests: New file, extracted from
53110         modules/spawn-tests.
53111         * modules/spawn-tests: Depend on it.
53112         * modules/stdio-c++-tests: New file, extracted from
53113         modules/stdio-tests.
53114         * modules/stdio-tests: Depend on it.
53115         * modules/stdlib-c++-tests: New file, extracted from
53116         modules/stdlib-tests.
53117         * modules/stdlib-tests: Depend on it.
53118         * modules/string-c++-tests: New file, extracted from
53119         modules/string-tests.
53120         * modules/string-tests: Depend on it.
53121         * modules/sys_ioctl-c++-tests: New file, extracted from
53122         modules/sys_ioctl-tests.
53123         * modules/sys_ioctl-tests: Depend on it.
53124         * modules/sys_select-c++-tests: New file, extracted from
53125         modules/sys_select-tests.
53126         * modules/sys_select-tests: Depend on it.
53127         * modules/sys_socket-c++-tests: New file, extracted from
53128         modules/sys_socket-tests.
53129         * modules/sys_socket-tests: Depend on it.
53130         * modules/sys_stat-c++-tests: New file, extracted from
53131         modules/sys_stat-tests.
53132         * modules/sys_stat-tests: Depend on it.
53133         * modules/sys_time-c++-tests: New file, extracted from
53134         modules/sys_time-tests.
53135         * modules/sys_time-tests: Depend on it.
53136         * modules/time-c++-tests: New file, extracted from modules/time-tests.
53137         * modules/time-tests: Depend on it.
53138         * modules/unistd-c++-tests: New file, extracted from
53139         modules/unistd-tests.
53140         * modules/unistd-tests: Depend on it.
53141         * modules/wchar-c++-tests: New file, extracted from
53142         modules/wchar-tests.
53143         * modules/wchar-tests: Depend on it.
53144         * modules/wctype-c++-tests: New file, extracted from
53145         modules/wctype-tests.
53146         * modules/wctype-tests: Depend on it.
53147         Reported by Simon Josefsson.
53149 2010-03-28  Bruno Haible  <bruno@clisp.org>
53151         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
53152         * gnulib-tool (func_exists_module): New function, extracted from
53153         func_verify_module.
53154         (func_verify_module): Use it.
53155         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
53156         'foo' only if 'foo' exists.
53157         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
53158         module.
53160 2010-03-28  Bruno Haible  <bruno@clisp.org>
53162         gnulib-tool: Add support for special categories of tests.
53163         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
53164         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
53165         (func_usage): Document them.
53166         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
53167         inc_unportable_tests, inc_all_tests): New variables.
53168         (func_acceptable): Consider these variables.
53169         (func_modules_transitive_closure): Make it work when the 'Status' field
53170         consists of multiple words.
53171         (func_import): Store and restore the values of inc_cxx_tests,
53172         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
53173         inc_all_tests in gnulib-comp.m4.
53174         (func_create_testdir): Set inc_all_tests to true.
53175         * doc/gnulib.texi (Extra tests modules): New section.
53176         Suggested by Jim Meyering.
53178 2010-03-28  Bruno Haible  <bruno@clisp.org>
53180         ansi-c++-opt: Allow turning off the C++ build by default.
53181         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
53182         gl_CXX_CHOICE_DEFAULT_NO is defined.
53183         Requested by Eric Blake.
53185 2010-03-28  Bruno Haible  <bruno@clisp.org>
53187         unistd: Avoid #define replacements in C++ mode.
53188         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
53189         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
53190         setsockopt, shutdown, select): In C++, attach a warning to the function
53191         if possible, rather than #defining the symbol to a dysfunctional alias.
53192         Reported by John W. Eaton <jwe@gnu.org>.
53194 2010-03-28  Bruno Haible  <bruno@clisp.org>
53196         Fix link errors on mingw.
53197         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
53198         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
53199         $(LIBSOCKET).
53200         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
53201         $(LIBSOCKET).
53203 2010-03-28  Bruno Haible  <bruno@clisp.org>
53204             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53206         lib-ignore: Determine different options for different compilers.
53207         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
53208         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
53209         Add comments.
53210         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
53211         * NEWS: Mention the change.
53213 2010-03-27  Bruno Haible  <bruno@clisp.org>
53215         Remove unused GNULIB_XYZ macro definitions.
53216         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
53217         * modules/fseek (configure.ac): Likewise.
53218         * modules/ioctl (configure.ac): Likewise.
53219         * modules/open (configure.ac): Likewise.
53220         * modules/stdlib-safer (configure.ac): Likewise.
53222 2010-03-27  Bruno Haible  <bruno@clisp.org>
53224         Add a remark about certain modules.
53225         * modules/malloc (Comment): New section.
53226         * modules/realloc (Comment): Likewise.
53227         * modules/sigpipe (Comment): Likewise.
53229 2010-03-27  Bruno Haible  <bruno@clisp.org>
53231         Resolve conflict between the two kinds of module indicators.
53232         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
53233         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
53234         * modules/canonicalize (configure.ac): Invoke
53235         gl_MODULE_INDICATOR_FOR_TESTS.
53236         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
53237         GNULIB_XYZ.
53238         * tests/test-dirent-c++.cc: Likewise.
53239         * tests/test-dirent-safer.c: Likewise.
53240         * tests/test-dup2.c: Likewise.
53241         * tests/test-fchdir.c: Likewise.
53242         * tests/test-fcntl-h-c++.cc: Likewise.
53243         * tests/test-getopt.c: Likewise.
53244         * tests/test-getopt.h: Likewise.
53245         * tests/test-langinfo-c++.cc: Likewise.
53246         * tests/test-locale-c++.cc: Likewise.
53247         * tests/test-math-c++.cc: Likewise.
53248         * tests/test-pty-c++.cc: Likewise.
53249         * tests/test-search-c++.cc: Likewise.
53250         * tests/test-signal-c++.cc: Likewise.
53251         * tests/test-spawn-c++.cc: Likewise.
53252         * tests/test-stdio-c++.cc: Likewise.
53253         * tests/test-stdlib-c++.cc: Likewise.
53254         * tests/test-string-c++.cc: Likewise.
53255         * tests/test-sys_ioctl-c++.cc: Likewise.
53256         * tests/test-sys_select-c++.cc: Likewise.
53257         * tests/test-sys_socket-c++.cc: Likewise.
53258         * tests/test-sys_stat-c++.cc: Likewise.
53259         * tests/test-sys_time-c++.cc: Likewise.
53260         * tests/test-time-c++.cc: Likewise.
53261         * tests/test-unistd-c++.cc: Likewise.
53262         * tests/test-wchar-c++.cc: Likewise.
53263         * tests/uninorm/test-u8-nfc.c: Likewise.
53264         * tests/uninorm/test-u8-nfd.c: Likewise.
53265         * tests/uninorm/test-u8-nfkc.c: Likewise.
53266         * tests/uninorm/test-u8-nfkd.c: Likewise.
53267         * tests/uninorm/test-u16-nfc.c: Likewise.
53268         * tests/uninorm/test-u16-nfd.c: Likewise.
53269         * tests/uninorm/test-u16-nfkc.c: Likewise.
53270         * tests/uninorm/test-u16-nfkd.c: Likewise.
53271         * tests/uninorm/test-u32-nfc.c: Likewise.
53272         * tests/uninorm/test-u32-nfc-big.c: Likewise.
53273         * tests/uninorm/test-u32-nfd.c: Likewise.
53274         * tests/uninorm/test-u32-nfd-big.c: Likewise.
53275         * tests/uninorm/test-u32-nfkc.c: Likewise.
53276         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
53277         * tests/uninorm/test-u32-nfkd.c: Likewise.
53278         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
53279         * tests/uninorm/test-u32-normalize-big.c: Likewise.
53281 2010-03-27  Bruno Haible  <bruno@clisp.org>
53283         Distinguish two kinds of module indicators.
53284         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
53285         gl_MODULE_INDICATOR.
53286         (gl_MODULE_INDICATOR): New macro.
53287         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
53288         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
53289         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
53290         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
53291         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
53292         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
53293         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
53294         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
53295         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
53296         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
53297         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
53298         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
53299         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
53300         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
53301         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
53302         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
53303         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
53304         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
53305         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
53306         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
53307         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
53308         * modules/cloexec (configure.ac): Likewise.
53309         * modules/getopt-gnu (configure.ac): Likewise.
53310         * modules/uninorm/u8-normalize (configure.ac): Likewise.
53311         * modules/uninorm/u16-normalize (configure.ac): Likewise.
53312         * modules/uninorm/u32-normalize (configure.ac): Likewise.
53313         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
53315 2010-03-27  Bruno Haible  <bruno@clisp.org>
53317         New module description field 'Comment'.
53318         * gnulib-tool: New option --extract-comment.
53319         (func_usage): Document it.
53320         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
53321         (func_get_comment): New function.
53322         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
53324 2010-03-27  Bruno Haible  <bruno@clisp.org>
53326         Addendum to 2010-02-07 commit.
53327         * gnulib-tool (func_usage): Document --extract-applicability option.
53329 2010-03-27  Bruno Haible  <bruno@clisp.org>
53331         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
53332         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
53333         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
53334         rather than link errors.
53336 2010-03-27  Bruno Haible  <bruno@clisp.org>
53338         Avoid side effects from tests-related modules on the compilation of lib.
53339         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
53340         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
53341         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
53342         parameter. Emit into AM_CPPFLAGS a definition of the designated C
53343         macro.
53344         (func_import): Define a witness macro. Assign it a value that depends
53345         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
53346         tests-related modules.
53347         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
53348         Reported by Jim Meyering.
53350 2010-03-27  Bruno Haible  <bruno@clisp.org>
53352         Factorize common .m4 code.
53353         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
53354         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
53355         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
53356         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
53357         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
53358         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
53359         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
53360         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
53361         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
53362         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
53363         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
53364         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
53365         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
53366         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
53367         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
53368         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
53369         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
53370         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
53371         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
53372         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
53373         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
53374         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
53375         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
53376         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
53377         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
53378         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
53379         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
53380         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
53381         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
53382         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
53383         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
53384         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
53386 2010-03-27  Bruno Haible  <bruno@clisp.org>
53388         Fix a compilation error on Cygwin with g++ >= 4.3.
53389         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
53390         if it is undefined or if we alias it to chmod.
53391         (lstat): Don't warn about the use of this function if it is undefined
53392         or if we alias it to stat.
53393         Reported by Simon Josefsson.
53395 2010-03-27  Bruno Haible  <bruno@clisp.org>
53397         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
53398         * modules/getlogin (configure.ac): Update.
53400         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
53401         * modules/getlogin_r (configure.ac): Update.
53403         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
53404         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
53405         * modules/inet_ntop (configure.ac): Update.
53407         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
53408         * modules/inet_pton (configure.ac): Update.
53410         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
53411         * modules/mbslen (configure.ac): Update.
53413         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
53414         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
53415         * modules/forkpty (configure.ac): Update.
53416         * modules/openpty (configure.ac): Update.
53418 2010-03-26  Simon Josefsson  <simon@josefsson.org>
53420         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
53421         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
53423 2010-03-25  Eric Blake  <eblake@redhat.com>
53425         maint: use pragma consistently across replacement headers
53426         * lib/ctype.in.h (system_header): Hoist for consistent placement.
53427         * lib/dirent.in.h (system_header): Likewise.
53428         * lib/errno.in.h (system_header): Likewise.
53429         * lib/float.in.h (system_header): Likewise.
53430         * lib/getopt.in.h (system_header): Likewise.
53431         * lib/iconv.in.h (system_header): Likewise.
53432         * lib/inttypes.in.h (system_header): Likewise.
53433         * lib/langinfo.in.h (system_header): Likewise.
53434         * lib/locale.in.h (system_header): Likewise.
53435         * lib/math.in.h (system_header): Likewise.
53436         * lib/netdb.in.h (system_header): Likewise.
53437         * lib/netinet_in.in.h (system_header): Likewise.
53438         * lib/pty.in.h (system_header): Likewise.
53439         * lib/sched.in.h (system_header): Likewise.
53440         * lib/se-selinux.in.h (system_header): Likewise.
53441         * lib/search.in.h (system_header): Likewise.
53442         * lib/spawn.in.h (system_header): Likewise.
53443         * lib/stdarg.in.h (system_header): Likewise.
53444         * lib/stdint.in.h (system_header): Likewise.
53445         * lib/string.in.h (system_header): Likewise.
53446         * lib/strings.in.h (system_header): Likewise.
53447         * lib/sys_file.in.h (system_header): Likewise.
53448         * lib/sys_ioctl.in.h (system_header): Likewise.
53449         * lib/sys_socket.in.h (system_header): Likewise.
53450         * lib/sys_times.in.h (system_header): Likewise.
53451         * lib/sys_utsname.in.h (system_header): Likewise.
53452         * lib/sys_wait.in.h (system_header): Likewise.
53453         * lib/sysexits.in.h (system_header): Likewise.
53454         * lib/unistd.in.h (system_header): Likewise.
53455         * lib/wctype.in.h (system_header): Likewise.
53457         arpa/inet: fix mingw compilation warning
53458         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
53459         Reported by Matthew Bolte.
53461 2010-03-25  Bruno Haible  <bruno@clisp.org>
53463         Avoid collision between gnulib wrapper and libintl wrapper.
53464         * lib/printf.c (printf): Don't define if a printf wrapper is already
53465         defined in intl/printf.c.
53466         Reported by Michel Boaventura <michel@michelboaventura.com>.
53468 2010-03-25  Bruno Haible  <bruno@clisp.org>
53470         Use ANSI C.
53471         * lib/readutmp.h (getutent): Provide ANSI C prototype.
53473 2010-03-25  Bruno Haible  <bruno@clisp.org>
53475         Minor formatting changes.
53476         * lib/acosl.c: Insert space before function argument list.
53477         * lib/argz.c: Likewise.
53478         * lib/asinl.c: Likewise.
53479         * lib/expl.c: Likewise.
53480         * lib/gen-uni-tables.c: Likewise.
53481         * lib/gettext.h: Likewise.
53482         * lib/glthread/lock.h: Likewise.
53483         * lib/tanl.c: Likewise.
53484         * lib/uniname/uniname.c: Likewise.
53485         * tests/test-idpriv-drop.c: Likewise.
53486         * tests/test-idpriv-droptemp.c: Likewise.
53487         * tests/test-lock.c: Likewise.
53488         * tests/test-tls.c: Likewise.
53489         * lib/argp-help.c: Insert space before function-like macro argument
53490         list.
53491         * lib/memcmp.c: Likewise.
53492         * tests/test-base64.c: Likewise.
53493         * lib/localename.c: Insert space before sizeof's argument list.
53494         * lib/safe-alloc.h: Likewise.
53495         * lib/file-set.h: Insert space before macro argument list.
53496         * tests/test-argp.c: Likewise.
53497         * lib/argp-namefrob.h: Insert space before function parameter list.
53498         * lib/getaddrinfo.c: Likewise.
53499         * lib/netdb.in.h: Likewise.
53500         * lib/parse-duration.h: Likewise.
53501         * lib/parse-duration.c: Likewise.
53502         * lib/poll.c: Likewise.
53503         * lib/select.c: Likewise.
53504         * lib/trim.h: Likewise.
53505         * tests/test-usleep.c: Likewise.
53506         * lib/ldexpl.c: Insert space before function parameter list and before
53507         function argument list.
53508         * lib/logl.c: Likewise.
53509         * lib/sqrtl.c: Likewise.
53510         * lib/trim.c: Likewise.
53511         * lib/cosl.c: Use GNU style indentation. Insert space before function
53512         argument list.
53513         * lib/sinl.c: Likewise.
53514         * lib/tsearch.c: Insert space after 'for'.
53515         Reported by Jim Meyering.
53517 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
53519         * maint.mk (sc_Wundef_boolean): Check for the presence of the
53520         config header before grepping, as it's not present before
53521         autoreconf/configure are run.  Reported by Simon Josefsson.
53523 2010-03-23  Bruno Haible  <bruno@clisp.org>
53525         pt_chown: Make it work with automake < 1.11.
53526         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
53527         Reported by Simon Josefsson.
53529 2010-03-23  Bruno Haible  <bruno@clisp.org>
53531         pt_chown: Don't depend on GPLed modules.
53532         * lib/pt_chown.c: Don't include idpriv.h.
53533         (main): Don't drop privileges.
53534         * modules/pt_chown (Depends-on): Remove idpriv-drop.
53535         Reported by Simon Josefsson.
53537 2010-03-24  Simon Josefsson  <simon@josefsson.org>
53539         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
53540         suggestions from karl@freefriends.org (Karl Berry).
53542 2010-03-22  Eric Blake  <eblake@redhat.com>
53544         gethostname: further tweaks
53545         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
53546         are overriding gethostname.
53547         Suggested by Bruno Haible.
53549 2010-03-21  Bruno Haible  <bruno@clisp.org>
53551         Fix comments.
53552         * lib/forkpty.c (rpl_forkpty): Fix comment.
53553         * lib/openpty.c (rpl_openpty): Likewise.
53554         Reported by Eric Blake.
53556 2010-03-22  Eric Blake  <eblake@redhat.com>
53558         gethostname: fix build on mingw
53559         * lib/unistd.in.h (includes): Work around fact that mingw
53560         <winsock2.h> re-includes <unistd.h>, by avoiding any
53561         redeclarations if we are being included by <winsock2.h>.
53562         Reported by Matthias Bolte.
53564 2010-03-21  Bruno Haible  <bruno@clisp.org>
53566         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
53567         * lib/forkpty.c (forkpty): New replacement function, from glibc with
53568         modifications.
53569         * lib/pty.in.h (forkpty): Update declaration. Add comments.
53570         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
53571         provide the replacement.
53572         * modules/forkpty (Depends-on): Add openpty, login_tty.
53573         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
53574         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
53575         * doc/glibc-functions/forkpty.texi: More supported platforms.
53576         * config/srclist.txt: Add forkpty.c (commented).
53578 2010-03-21  Bruno Haible  <bruno@clisp.org>
53580         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
53581         (Makefile.am): Verify that PTY_LIB is defined.
53583         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
53585 2010-03-21  Bruno Haible  <bruno@clisp.org>
53587         Tests for module 'login_tty'.
53588         * modules/login_tty-tests: New file.
53589         * tests/test-login_tty.c: New file.
53591         New module 'login_tty'.
53592         * lib/login_tty.c: New file.
53593         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
53594         * modules/login_tty: New file.
53595         * doc/glibc-functions/login_tty.texi: Mention the new module.
53597 2010-03-21  Bruno Haible  <bruno@clisp.org>
53599         login_tty: Documentation.
53600         * doc/glibc-functions/login_tty.texi: New file.
53601         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
53603 2010-03-21  Bruno Haible  <bruno@clisp.org>
53605         pty: Consistent macro naming.
53606         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
53607         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
53608         * modules/pty (configure.ac): Update.
53610 2010-03-21  Bruno Haible  <bruno@clisp.org>
53612         Tests for openpty: Make stricter.
53613         * tests/test-openpty.c (main): Add test of canonical processing and
53614         erase.
53615         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
53617         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
53618         * lib/openpty.c (openpty): New replacement function.
53619         * lib/pty.in.h: Include <termios.h>.
53620         (openpty): Update declaration. Add comments.
53621         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
53622         is not declared, arrange to provide the replacement. Check for _getpty
53623         and posix_openpt.
53624         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
53625         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
53626         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
53627         * modules/pty-tests (test_pty_c___LDADD): New variable.
53628         * doc/glibc-functions/openpty.texi: More supported platforms.
53630 2010-03-21  Bruno Haible  <bruno@clisp.org>
53632         setenv: Tweaks.
53633         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
53634         the test program.
53635         * doc/posix-functions/setenv.texi: Update platforms list.
53637 2010-03-21  Bruno Haible  <bruno@clisp.org>
53639         New module 'unlockpt'.
53640         * lib/unlockpt.c: New file, from glibc with modifications.
53641         * m4/unlockpt.m4: New file.
53642         * modules/unlockpt: New file.
53643         * lib/stdlib.in.h (unlockpt): New declaration.
53644         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
53645         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
53646         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
53647         HAVE_UNLOCKPT.
53648         * doc/posix-functions/unlockpt.texi: Mention the new module.
53649         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
53650         * config/srclist.txt: Add unlockpt.c (commented).
53652 2010-03-21  Jim Meyering  <meyering@redhat.com>
53654         maint.mk: prohibit inclusion of "intprops.h" without use
53655         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
53657 2010-03-21  Bruno Haible  <bruno@clisp.org>
53659         New module 'grantpt'.
53660         * lib/grantpt.c: New file, from glibc with modifications.
53661         * m4/grantpt.m4: New file.
53662         * modules/grantpt: New file.
53663         * lib/stdlib.in.h (grantpt): New declaration.
53664         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
53665         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
53666         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
53667         HAVE_GRANTPT.
53668         * doc/posix-functions/grantpt.texi: Mention the new module.
53669         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
53670         * config/srclist.txt: Add grantpt.c (commented).
53672 2010-03-21  Bruno Haible  <bruno@clisp.org>
53674         New module 'pt_chown'.
53675         * lib/pt_chown.c: New file, from glibc with modifications.
53676         * lib/pty-private.h: New file, from glibc with modifications.
53677         * modules/pt_chown: New file.
53678         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
53680 2010-03-21  Bruno Haible  <bruno@clisp.org>
53682         Tests for module 'ptsname'.
53683         * modules/ptsname-tests: New file.
53684         * tests/test-ptsname.c: New file.
53686         New module 'ptsname'.
53687         * lib/ptsname.c: New file, from glibc with modifications.
53688         * m4/ptsname.m4: New file.
53689         * modules/ptsname: New file.
53690         * lib/stdlib.in.h (ptsname): New declaration.
53691         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
53692         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
53693         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
53694         HAVE_PTSNAME.
53695         * doc/posix-functions/ptsname.texi: Mention the new module.
53696         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
53697         * config/srclist.txt: Add ptsname.c (commented).
53699 2010-03-21  Bruno Haible  <bruno@clisp.org>
53701         Tests for module 'ttyname_r'.
53702         * modules/ttyname_r-tests: New file.
53703         * tests/test-ttyname_r.c: New file.
53705         New module 'ttyname_r'.
53706         * lib/ttyname_r.c: New file.
53707         * m4/ttyname_r.m4: New file.
53708         * modules/ttyname_r: New file.
53709         * lib/unistd.in.h (ttyname_r): New declaration.
53710         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
53711         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
53712         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
53713         HAVE_TTYNAME_R.
53714         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
53715         * doc/posix-functions/ttyname_r.texi: Mention the new module.
53717 2010-03-20  Bruno Haible  <bruno@clisp.org>
53719         signal: Undefine macro definitions in C++ mode.
53720         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
53721         sigfillset): Undefine macro definitions from the system header in C++
53722         mode.
53723         Reported by John W. Eaton <jwe@gnu.org>.
53725 2010-03-20  Bruno Haible  <bruno@clisp.org>
53727         Ensure no #include statements inside extern "C" { ... }.
53728         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
53729         contain #include statements.
53730         * lib/time.in.h: Likewise.
53732 2010-03-20  Bruno Haible  <bruno@clisp.org>
53734         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
53735         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
53736         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
53737         Reported by John W. Eaton <jwe@gnu.org>.
53739 2010-03-20  Bruno Haible  <bruno@clisp.org>
53741         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
53742         Reported by Jim Meyering.
53744 2010-03-20  Bruno Haible  <bruno@clisp.org>
53746         pipe: Set errno upon failure.
53747         * lib/pipe.h: Specify that when -1 is returned, errno is set.
53748         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
53749         errno value in error message.
53751 2010-03-20  Bruno Haible  <bruno@clisp.org>
53752             Jim Meyering  <meyering@redhat.com>
53754         lchown: Avoid "unused variable" warning.
53755         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
53757 2010-03-20  Bruno Haible  <bruno@clisp.org>
53759         Work around unlink() bug on MacOS X 10.5.6.
53760         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
53761         attempting to unlink a parent directory.
53762         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
53763         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
53764         activate for the replacement function.
53765         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
53767 2010-03-20  Bruno Haible  <bruno@clisp.org>
53769         Fix link errors on Solaris 8.
53770         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
53771         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
53773 2010-03-19  Jim Meyering  <meyering@redhat.com>
53775         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
53776         The _LIBC implementation of build_range_exp correctly honors the
53777         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
53778         However, the non-_LIBC implementation would ignore that syntax-bit
53779         flag and return REG_ERANGE unconditionally.
53780         This change makes it honor that flag.
53781         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
53782         Make two pointer parameters "const".
53783         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
53784         (parse_bracket_exp): Update caller.
53786         regex.m4: correct the reversed range endpoint ([b-a]) test
53787         * m4/regex.m4: When requiring that [b-a] evoke failure,
53788         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
53789         test pass once again for x86-based systems.
53791 2010-03-19  Bruno Haible  <bruno@clisp.org>
53793         scandir: Fix link error on Solaris 8.
53794         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
53795         macros.
53797 2010-03-19  Bruno Haible  <bruno@clisp.org>
53799         getusershell: Fix documentation.
53800         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
53801         module.
53802         * doc/glibc-functions/setusershell.texi: Likewise.
53804         getusershell: Provide declaration, missing on Solaris 9.
53805         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
53806         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
53807         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
53808         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
53809         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
53810         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
53811         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
53812         HAVE_GETUSERSHELL.
53813         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
53815 2010-03-19  Bruno Haible  <bruno@clisp.org>
53817         wctype: Provide iswblank function.
53818         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
53819         exists and is fine.
53820         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
53821         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
53822         * tests/test-wctype.c (main): Re-enable the iswblank tests.
53823         * doc/posix-functions/iswblank.texi: Update.
53825 2010-03-19  Bruno Haible  <bruno@clisp.org>
53827         Tests of module 'pty' in C++ mode.
53828         * modules/pty-tests: New file.
53829         * tests/test-pty-c++.cc: New file.
53830         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
53832 2010-03-19  Eric Blake  <eblake@redhat.com>
53834         logb: fix documentation
53835         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
53836         1.5 declaration bug.
53838         forkpty, openpty: prefer glibc's const-safe prototype
53839         * lib/forkpty.c (rpl_forkpty): New file.
53840         * lib/openpty.c (rpl_openpty): Likewise.
53841         * modules/forkpty (Files): Distribute it.
53842         * modules/openpty (Files): Likewise.
53843         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
53844         check...
53845         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
53846         replacement for non-const BSD signature.
53847         * modules/pty (Makefile.am): Substitute witnesses.
53848         * lib/pty.in.h (forkpty, openpty): Declare replacements.
53849         * tests/test-forkpty.c: Update signature check.
53850         * tests/test-openpty.c: Likewise.
53851         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
53852         * doc/glibc-functions/openpty.texi (openpty): Likewise.
53854         forkpty, openpty: split functions into new modules
53855         * modules/pty (Makefile.am): Substitute new witnesses.
53856         (Libraries): Move library detection...
53857         * modules/forkpty: ...into new module.
53858         * modules/openpty: Another new module.
53859         * modules/pty-tests: Rename and split...
53860         * modules/forkpty-tests: ...to this...
53861         * modules/openpty-tests: ...and this.
53862         * tests/test-pty.c: Rename and split...
53863         * tests/test-forkpty.c: ...to this...
53864         * tests/test-openpty.c: ...and this.
53865         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
53866         (gl_PTY): Split library searching...
53867         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
53868         (gl_FORKPTY, gl_OPENPTY): New macros.
53869         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
53870         * NEWS: Mention the split.
53871         * MODULES.html.sh (Misc): Document the modules.
53872         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
53873         * doc/glibc-functions/openpty.texi (openpty): Likewise.
53875         pty: improve replacement header
53876         * lib/pty.in.h: New file.
53877         * modules/pty (Files): Ship it.
53878         (Makefile.am): Always build replacement.
53879         * m4/pty.m4: Rename...
53880         * m4/pty_h.m4: ...to this.
53881         (gl_PTY): Modernize setting of witness macros; update check of
53882         forkpty to take proper advantage of cache.
53883         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
53885         getopt: avoid compiler warning
53886         * lib/getopt.c (attribute_hidden): Remove unused macro.
53888 2010-03-18  Bruno Haible  <bruno@clisp.org>
53890         Fix link errors on Solaris 8.
53891         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
53892         * modules/search-tests (test_search_c___LDADD): Likewise.
53893         * modules/signal-tests (test_signal_c___LDADD): Likewise.
53894         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
53895         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
53896         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
53897         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
53898         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
53899         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
53901 2010-03-18  Bruno Haible  <bruno@clisp.org>
53903         Fix bug introduced on 2010-03-14.
53904         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
53905         (gl_SPAWN_H): Require it.
53906         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
53907         Reported by Simon Josefsson.
53909 2010-03-18  Bruno Haible  <bruno@clisp.org>
53911         Fix typo introduced on 2009-12-31.
53912         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
53913         posix_spawn_file_actions_adddup2.
53915 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
53916         and Eric Blake  <eblake@redhat.com>
53918         test-vc-list-files-git: make more robust
53919         * tests/test-vc-list-files-git.sh: Unset problematic environment
53920         variables.  Chain commands together.
53922 2010-03-17  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
53924         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
53925         `AC_CHECK_DECL' invocation.
53927 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
53929         * lib/inttostr.c (inttostr): Make sure the invocation of verify
53930         appears before executable statements. Suggested by Petr Sumbera
53931         <Petr.Sumbera@Sun.COM>.
53933 2010-03-14  Bruno Haible  <bruno@clisp.org>
53935         * tests/test-flock.c (test_exclusive): Comment out a test that causes
53936         portability problems. Instead use a simpler test.
53937         (main): Check that invalid arguments are rejected only on Linux.
53939 2010-03-14  Bruno Haible  <bruno@clisp.org>
53941         Fix bug introduced on 2009-12-31.
53942         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
53943         gl_PREREQ_SYS_H_WINSOCK2 always.
53944         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
53945         SYS_SOCKET_H variable.
53946         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
53947         Update comments.
53948         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
53949         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
53950         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
53951         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
53952         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
53954 2010-03-14  Bruno Haible  <bruno@clisp.org>
53956         Fix values returned by sinl, cosl.
53957         * lib/trigl.h: Add specification comments.
53958         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
53959         that combines the values from the precomputed table with the values of
53960         the Chebyshev polynomials.
53962 2010-03-14  Bruno Haible  <bruno@clisp.org>
53964         Fix compilation error when modules 'posix_spawn[p]' are not used.
53965         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
53966         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
53968 2010-03-14  Bruno Haible  <bruno@clisp.org>
53970         Fix compilation error on mingw when module 'time_r' is not used.
53971         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
53972         is 1.
53973         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
53974         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
53975         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
53976         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
53978 2010-03-14  Bruno Haible  <bruno@clisp.org>
53980         Fix compilation error with Sun C.
53981         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
53982         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
53983         instead of GCC specific ULONG_LONG_MAX.
53984         * lib/xstrtoll.c: Likewise.
53985         * lib/xstrtoull.c: Likewise.
53987 2010-03-13  Bruno Haible  <bruno@clisp.org>
53989         Allow the user to disable C++ code and tests.
53990         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
53991         (gl_PROG_ANSI_CXX): Require it.
53993 2010-03-13  Bruno Haible  <bruno@clisp.org>
53995         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
53996         cases.
53998 2010-03-13  Bruno Haible  <bruno@clisp.org>
54000         Test that gnulib does not break the standard C++ headers.
54001         * tests/test-locale-c++2.cc: New file.
54002         * modules/locale-tests (Files): Add it.
54003         (Makefile.am): Compile it for test-locale-c++.
54004         * tests/test-math-c++2.cc: New file.
54005         * modules/math-tests (Files): Add it.
54006         (Makefile.am): Compile it for test-math-c++.
54007         * tests/test-signal-c++2.cc: New file.
54008         * modules/signal-tests (Files): Add it.
54009         (Makefile.am): Compile it for test-signal-c++.
54010         * tests/test-stdio-c++2.cc: New file.
54011         * modules/stdio-tests (Files): Add it.
54012         (Makefile.am): Compile it for test-stdio-c++.
54013         * tests/test-stdlib-c++2.cc: New file.
54014         * modules/stdlib-tests (Files): Add it.
54015         (Makefile.am): Compile it for test-stdlib-c++.
54016         * tests/test-string-c++2.cc: New file.
54017         * modules/string-tests (Files): Add it.
54018         (Makefile.am): Compile it for test-string-c++.
54019         * tests/test-time-c++2.cc: New file.
54020         * modules/time-tests (Files): Add it.
54021         (Makefile.am): Compile it for test-time-c++.
54022         Reported by John W. Eaton <jwe@gnu.org>.
54024 2010-03-13  Bruno Haible  <bruno@clisp.org>
54026         * gnulib-tool (func_usage): Clarify which options are available for
54027         --create-testdir and --create-megatestdir.
54029 2010-03-13  Bruno Haible  <bruno@clisp.org>
54031         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
54032         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
54033         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
54034         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
54035         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
54036         when appropriate.
54037         Reported by Jim Meyering.
54039 2010-03-12  Simon Josefsson  <simon@josefsson.org>
54041         * gnulib-tool (func_import): Explain origin of code.
54043 2010-03-12  Bruno Haible  <bruno@clisp.org>
54045         Fix problem with automake's definition of CXXLINK.
54046         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
54047         Reported by Simon Josefsson and Ludovic Courtès.
54049 2010-03-12  Bruno Haible  <bruno@clisp.org>
54051         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
54052         stable releases.
54054 2010-03-11  Bruno Haible  <bruno@clisp.org>
54056         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
54057         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
54058         whether the system provides one variant or multiple variants of the
54059         function.
54060         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
54061         C++ compilers.
54062         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
54063         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
54064         Reported by Jim Meyering.
54066 2010-03-09  Simon Josefsson  <simon@josefsson.org>
54068         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
54070 2010-03-08  Bruno Haible  <bruno@clisp.org>
54072         gnulib-tool: Add support for --libtool in --create-testdir.
54073         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
54074         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
54076 2010-03-08  Eric Blake  <eblake@redhat.com>
54078         gnulib-tool.texi: mention possibility of git submodule
54079         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
54080         submodules.
54081         * doc/.gitignore: Ignore another generated file.
54083 2010-03-08  Karl Berry  <karl@gnu.org>
54085         * doc/gnulib-tool.texi (VCS Issues): Mention third option
54086         of committing gnulib files while skipping others.
54088 2010-03-07  Bruno Haible  <bruno@clisp.org>
54090         Tests of module 'wctype' in C++ mode.
54091         * tests/test-wctype-c++.cc: New file.
54092         * modules/wctype-tests (Files): Add it and tests/signature.h.
54093         (Depends-on): Add ansi-c++-opt.
54094         (Makefile.am): Arrange to compile and run test-wctype-c++.
54096         Tests of module 'wchar' in C++ mode.
54097         * tests/test-wchar-c++.cc: New file.
54098         * modules/wchar-tests (Files): Add it and tests/signature.h.
54099         (Depends-on): Add ansi-c++-opt.
54100         (Makefile.am): Arrange to compile and run test-wchar-c++.
54101         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
54102         gl_MODULE_INDICATOR.
54104         Tests of module 'unistd' in C++ mode.
54105         * tests/test-unistd-c++.cc: New file.
54106         * modules/unistd-tests (Files): Add it and tests/signature.h.
54107         (Depends-on): Add ansi-c++-opt.
54108         (Makefile.am): Arrange to compile and run test-unistd-c++.
54109         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
54110         gl_MODULE_INDICATOR.
54112         Tests of module 'time' in C++ mode.
54113         * tests/test-time-c++.cc: New file.
54114         * modules/time-tests (Files): Add it and tests/signature.h.
54115         (Depends-on): Add ansi-c++-opt.
54116         (Makefile.am): Arrange to compile and run test-time-c++.
54117         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
54119         Tests of module 'sys_time' in C++ mode.
54120         * tests/test-sys_time-c++.cc: New file.
54121         * modules/sys_time-tests (Files): Add it and tests/signature.h.
54122         (Depends-on): Add ansi-c++-opt.
54123         (Makefile.am): Arrange to compile and run test-sys_time-c++.
54124         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
54125         gl_MODULE_INDICATOR.
54127         Tests of module 'sys_stat' in C++ mode.
54128         * tests/test-sys_stat-c++.cc: New file.
54129         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
54130         (Depends-on): Add ansi-c++-opt.
54131         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
54132         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
54133         gl_MODULE_INDICATOR.
54135         Tests of module 'sys_socket' in C++ mode.
54136         * tests/test-sys_socket-c++.cc: New file.
54137         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
54138         (Depends-on): Add ansi-c++-opt.
54139         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
54140         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
54141         gl_MODULE_INDICATOR.
54143         Tests of module 'sys_select' in C++ mode.
54144         * tests/test-sys_select-c++.cc: New file.
54145         * modules/sys_select-tests (Files): Add it and tests/signature.h.
54146         (Depends-on): Add ansi-c++-opt.
54147         (Makefile.am): Arrange to compile and run test-sys_select-c++.
54148         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
54149         gl_MODULE_INDICATOR.
54151         Tests of module 'sys_ioctl' in C++ mode.
54152         * tests/test-sys_ioctl-c++.cc: New file.
54153         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
54154         (Depends-on): Add ansi-c++-opt.
54155         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
54156         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
54157         gl_MODULE_INDICATOR.
54159         Tests of module 'string' in C++ mode.
54160         * tests/test-string-c++.cc: New file.
54161         * modules/string-tests (Files): Add it and tests/signature.h.
54162         (Depends-on): Add ansi-c++-opt.
54163         (Makefile.am): Arrange to compile and run test-string-c++.
54164         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
54165         gl_MODULE_INDICATOR.
54167         Tests of module 'stdlib' in C++ mode.
54168         * tests/test-stdlib-c++.cc: New file.
54169         * modules/stdlib-tests (Files): Add it and tests/signature.h.
54170         (Depends-on): Add ansi-c++-opt.
54171         (Makefile.am): Arrange to compile and run test-stdlib-c++.
54172         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
54173         gl_MODULE_INDICATOR.
54175         Tests of module 'stdio' in C++ mode.
54176         * tests/test-stdio-c++.cc: New file.
54177         * modules/stdio-tests (Files): Add it and tests/signature.h.
54178         (Depends-on): Add ansi-c++-opt.
54179         (Makefile.am): Arrange to compile and run test-stdio-c++.
54180         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
54181         gl_MODULE_INDICATOR.
54183         Tests of module 'spawn' in C++ mode.
54184         * tests/test-spawn-c++.cc: New file.
54185         * modules/spawn-tests (Files): Add it and tests/signature.h.
54186         (Depends-on): Add ansi-c++-opt.
54187         (Makefile.am): Arrange to compile and run test-spawn-c++.
54188         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
54189         gl_MODULE_INDICATOR.
54191         Tests of module 'signal' in C++ mode.
54192         * tests/test-signal-c++.cc: New file.
54193         * modules/signal-tests (Files): Add it and tests/signature.h.
54194         (Depends-on): Add ansi-c++-opt.
54195         (Makefile.am): Arrange to compile and run test-signal-c++.
54196         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
54197         gl_MODULE_INDICATOR.
54199         Tests of module 'search' in C++ mode.
54200         * tests/test-search-c++.cc: New file.
54201         * modules/search-tests (Files): Add it and tests/signature.h.
54202         (Depends-on): Add ansi-c++-opt.
54203         (Makefile.am): Arrange to compile and run test-search-c++.
54204         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
54205         gl_MODULE_INDICATOR.
54207         Tests of module 'math' in C++ mode.
54208         * tests/test-math-c++.cc: New file.
54209         * modules/math-tests (Files): Add it and tests/signature.h.
54210         (Depends-on): Add ansi-c++-opt.
54211         (Makefile.am): Arrange to compile and run test-math-c++.
54212         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
54214         Tests of module 'locale' in C++ mode.
54215         * tests/test-locale-c++.cc: New file.
54216         * modules/locale-tests (Files): Add it and tests/signature.h.
54217         (Depends-on): Add ansi-c++-opt.
54218         (Makefile.am): Arrange to compile and run test-locale-c++.
54219         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
54220         gl_MODULE_INDICATOR.
54222         Tests of module 'langinfo' in C++ mode.
54223         * tests/test-langinfo-c++.cc: New file.
54224         * modules/langinfo-tests (Files): Add it and tests/signature.h.
54225         (Depends-on): Add ansi-c++-opt.
54226         (Makefile.am): Arrange to compile and run test-langinfo-c++.
54227         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
54228         gl_MODULE_INDICATOR.
54230         Tests of module 'iconv-h' in C++ mode.
54231         * tests/test-iconv-h-c++.cc: New file.
54232         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
54233         (Depends-on): Add ansi-c++-opt.
54234         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
54236         Tests of module 'glob' in C++ mode.
54237         * tests/test-glob-c++.cc: New file.
54238         * modules/glob-tests (Files): Add it.
54239         (Depends-on): Add ansi-c++-opt.
54240         (Makefile.am): Arrange to compile and run test-glob-c++.
54242         Tests of module 'fcntl-h' in C++ mode.
54243         * tests/test-fcntl-h-c++.cc: New file.
54244         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
54245         (Depends-on): Add ansi-c++-opt.
54246         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
54247         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
54248         gl_MODULE_INDICATOR.
54250         Tests of module 'dirent' in C++ mode.
54251         * tests/test-dirent-c++.cc: New file.
54252         * modules/dirent-tests (Files): Add it and tests/signature.h.
54253         (Depends-on): Add ansi-c++-opt.
54254         (Makefile.am): Arrange to compile and run test-dirent-c++.
54255         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
54256         gl_MODULE_INDICATOR.
54258         New module 'ansi-c++-opt'.
54259         * modules/ansi-c++-opt: New file.
54260         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
54262         Document C++ namespace mode.
54263         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
54265         wctype: Avoid #define replacements in C++ mode.
54266         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
54267         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
54268         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
54269         In C++, define a namespaced alias symbol.
54270         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
54271         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
54272         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
54273         rule.
54275         wchar: Avoid #define replacements in C++ mode.
54276         * lib/wchar.in.h: Include c++defs.h.
54277         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
54278         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
54279         symbol.
54280         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
54281         * modules/wchar (Depends-on): Add c++defs.
54282         (Makefile.am): Update wchar.h rule.
54284         unistd: Avoid #define replacements in C++ mode.
54285         * lib/unistd.in.h: Include c++defs.h.
54286         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
54287         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
54288         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
54289         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
54290         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
54291         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
54292         symbol.
54293         (environ): Update.
54294         * modules/unistd (Depends-on): Add c++defs.
54295         (Makefile.am): Update unistd.h rule.
54297         time: Avoid #define replacements in C++ mode.
54298         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
54299         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
54300         define a namespaced alias symbol.
54301         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
54302         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
54303         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
54304         * modules/time (Depends-on): Add c++defs, warn-on-use.
54305         (Makefile.am): Update time.h rule.
54306         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
54307         * modules/nanosleep (configure.ac): Likewise.
54308         * modules/strptime (configure.ac): Likewise.
54309         * modules/timegm (configure.ac): Likewise.
54311         sys_time: Avoid #define replacements in C++ mode.
54312         * lib/sys_time.in.h: Include c++defs.h.
54313         (gettimeofday): In C++, define a namespaced alias symbol.
54314         * modules/sys_time (Depends-on): Add c++defs.
54315         (Makefile.am): Update sys/time.h rule.
54317         sys_stat: Avoid #define replacements in C++ mode.
54318         * lib/sys_stat.in.h: Include c++defs.h.
54319         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
54320         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
54321         namespaced alias symbol.
54322         In C++, define a namespaced alias symbol.
54323         * modules/sys_stat (Depends-on): Add c++defs.
54324         (Makefile.am): Update sys/stat.h rule.
54326         sys_socket: Avoid #define replacements in C++ mode.
54327         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
54328         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
54329         definitions also when the system has a <sys/socket.h>.
54330         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
54331         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
54332         In C++, define a namespaced alias symbol.
54333         * modules/sys_socket (Depends-on): Add c++defs.
54334         (Makefile.am): Update sys/socket.h rule.
54336         sys_select: Avoid #define replacements in C++ mode.
54337         * lib/sys_select.in.h: Include c++defs.h. Enable the function
54338         definitions also when the system has a <sys/select.h>.
54339         (select): In C++, define a namespaced alias symbol.
54340         * modules/sys_select (Depends-on): Add c++defs.
54341         (Makefile.am): Update sys/select.h rule.
54343         sys_ioctl: Avoid #define replacements in C++ mode.
54344         * lib/sys_ioctl.in.h: Include c++defs.h.
54345         (ioctl): In C++, define a namespaced alias symbol.
54346         * modules/sys_ioctl (Depends-on): Add c++defs.
54347         (Makefile.am): Update sys/ioctl.h rule.
54349         string: Avoid #define replacements in C++ mode.
54350         * lib/string.in.h: Include c++defs.h.
54351         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
54352         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
54353         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
54354         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
54355         strsignal, strverscmp): In C++, define a namespaced alias symbol.
54356         * modules/string (Depends-on): Add c++defs.
54357         (Makefile.am): Update string.h rule.
54359         stdlib: Avoid #define replacements in C++ mode.
54360         * lib/stdlib.in.h: Include c++defs.h.
54361         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
54362         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
54363         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
54364         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
54365         symbol.
54366         * modules/stdlib (Depends-on): Add c++defs.
54367         (Makefile.am): Update stdlib.h rule.
54369         stdio: Avoid #define replacements in C++ mode.
54370         * lib/stdio.in.h: Include c++defs.h.
54371         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
54372         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
54373         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
54374         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
54375         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
54376         namespaced alias symbol.
54377         * modules/stdio (Depends-on): Add c++defs.
54378         (Makefile.am): Update stdio.h rule.
54380         spawn: Avoid #define replacements in C++ mode.
54381         * lib/spawn.in.h: Include c++defs.h.
54382         (posix_spawn, posix_spawnp, posix_spawnattr_init,
54383         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
54384         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
54385         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
54386         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
54387         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
54388         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
54389         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
54390         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
54391         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
54392         In C++, define a namespaced alias symbol.
54393         * modules/spawn (Depends-on): Add c++defs.
54394         (Makefile.am): Update spawn.h rule.
54396         signal: Avoid #define replacements in C++ mode.
54397         * lib/signal.in.h: Include c++defs.h.
54398         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
54399         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
54400         namespaced alias symbol.
54401         * modules/signal (Depends-on): Add c++defs.
54402         (Makefile.am): Update signal.h rule.
54404         search: Avoid #define replacements in C++ mode.
54405         * lib/search.in.h: Include c++defs.h.
54406         (_gl_search_compar_fn, _gl_search_action_fn): New types.
54407         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
54408         symbol.
54409         * modules/search (Depends-on): Add c++defs.
54410         (Makefile.am): Update search.h rule.
54412         math: Avoid #define replacements in C++ mode.
54413         * lib/math.in.h: Include c++defs.h.
54414         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
54415         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
54416         trunc, truncl): In C++, define a namespaced alias symbol.
54417         * modules/math (Depends-on): Add c++defs.
54418         (Makefile.am): Update math.h rule.
54420         locale: Avoid #define replacements in C++ mode.
54421         * lib/locale.in.h: Include c++defs.h.
54422         (duplocale): In C++, define a namespaced alias symbol.
54423         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
54424         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
54425         * modules/locale (Depends-on): Add c++defs.
54426         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
54428         langinfo: Avoid #define replacements in C++ mode.
54429         * lib/langinfo.in.h: Include c++defs.h.
54430         (nl_langinfo): In C++, define a namespaced alias symbol.
54431         * modules/langinfo (Depends-on): Add c++defs.
54432         (Makefile.am): Update langinfo.h rule.
54434         iconv-h: Avoid #define replacements in C++ mode.
54435         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
54436         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
54437         symbol.
54438         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
54439         whenever iconv is present.
54440         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
54441         (Makefile.am): Update iconv.h rule.
54443         glob: Avoid #define replacements in C++ mode.
54444         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
54445         (_gl_glob_errfunc_fn): New type.
54446         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
54447         symbol.
54448         * modules/glob (Depends-on): Add c++defs, warn-on-use.
54449         (Makefile.am): Update glob.h rule.
54451         fcntl-h: Avoid #define replacements in C++ mode.
54452         * lib/fcntl.in.h: Include c++defs.h.
54453         (fcntl, open, openat): In C++, define a namespaced alias symbol.
54454         * modules/fcntl-h (Depends-on): Add c++defs.
54455         (Makefile.am): Update fcntl.h rule.
54457         dirent: Avoid #define replacements in C++ mode.
54458         * lib/dirent.in.h: Include c++defs.h.
54459         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
54460         namespaced alias symbol.
54461         (dirfd): Update declaration.
54462         * modules/dirent (Depends-on): Add c++defs.
54463         (Makefile.am): Update dirent.h rule.
54465         ctype: Make it usable in C++ code.
54466         * lib/ctype.in.h: Include c++defs.h.
54467         (isblank): Declare as extern "C".
54468         * modules/ctype (Depends-on): Add c++defs.
54469         (Makefile.am): Update ctype.h rule.
54471         New module 'c++defs'.
54472         * modules/c++defs: New file.
54473         * build-aux/c++defs.h: New file.
54474         Reported by John W. Eaton <jwe@gnu.org>.
54476 2010-03-07  Bruno Haible  <bruno@clisp.org>
54478         logb: Provide missing declaration for Cygwin.
54479         * lib/math.in.h (logb): New declaration.
54480         * m4/logb.m4: New file.
54481         * modules/logb (Files): Add m4/logb.m4.
54482         (Depends-on): Add math.
54483         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
54484         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
54485         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
54486         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
54487         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
54489 2010-03-07  Bruno Haible  <bruno@clisp.org>
54491         Fix test-cond link error.
54492         * tests/test-cond.c: Include <stdio.h>.
54494 2010-03-07  Bruno Haible  <bruno@clisp.org>
54496         Fix test-dirent-safer link error.
54497         * modules/dirent-safer-tests (Makefile.am): Define
54498         test_dirent_safer_LDADD.
54500 2010-03-07  Bruno Haible  <bruno@clisp.org>
54502         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
54503         among default module list.
54505 2010-03-07  Bruno Haible  <bruno@clisp.org>
54507         Fix link error on platforms with GNU libiconv.
54508         * modules/unistr/u8-strcoll-tests (Makefile): Define
54509         test_u8_strcoll_LDADD.
54510         * modules/unistr/u16-strcoll-tests (Makefile): Define
54511         test_u16_strcoll_LDADD.
54512         * modules/unistr/u32-strcoll-tests (Makefile): Define
54513         test_u32_strcoll_LDADD.
54515 2010-03-07  Bruno Haible  <bruno@clisp.org>
54517         Use POSIX declarations for socket functions.
54518         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
54519         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
54520         rpl_sendto): Change declaration to match POSIX.
54521         * lib/connect.c (rpl_connect): Likewise.
54522         * lib/accept.c (rpl_accept): Likewise.
54523         * lib/bind.c (rpl_bind): Likewise.
54524         * lib/getpeername.c (rpl_getpeername): Likewise.
54525         * lib/getsockname.c (rpl_getsockname): Likewise.
54526         * lib/recv.c (rpl_recv): Likewise.
54527         * lib/send.c (rpl_send): Likewise.
54528         * lib/recvfrom.c (rpl_recvfrom): Likewise.
54529         * lib/sendto.c (rpl_sendto): Likewise.
54531 2010-03-06  Bruno Haible  <bruno@clisp.org>
54533         Clarify access, euidaccess, faccessat.
54534         * doc/posix-functions/faccessat.texi: Mention security problem under
54535         "Other problems", not "Portability problems".
54536         * doc/posix-functions/access.texi: Likewise. Mention a related security
54537         problem.
54538         * doc/glibc-functions/euidaccess.texi: Mention security problems.
54539         * lib/euidaccess.c: Add comments about platforms.
54540         * lib/unistd.in.h (access, euidaccess): Add warnings.
54542 2010-03-07  Bruno Haible  <bruno@clisp.org>
54544         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
54545         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
54546         (POSIX_SPAWN_SETSCHEDULER): Likewise.
54547         (POSIX_SPAWN_USEVFORK): Define in a way that works when
54548         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
54549         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
54550         declare when POSIX_SPAWN_SETSCHEDULER is zero.
54551         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
54552         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
54553         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
54554         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
54555         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
54556         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
54557         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
54558         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
54559         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
54560         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
54561         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
54562         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
54563         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
54564         Likewise.
54565         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
54566         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
54567         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
54568         Likewise.
54569         * tests/test-spawn.c (main): Make it work when
54570         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
54572 2010-03-07  Bruno Haible  <bruno@clisp.org>
54574         Fix incorrect Makefile.am generation in German locale.
54575         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
54576         Execute sed command with character range in C locale.
54578 2010-03-06  Bruno Haible  <bruno@clisp.org>
54580         Tests for module 'iconv-h'.
54581         * modules/iconv-h-tests: New file.
54582         * tests/test-iconv-h.c: New file.
54584         New module 'iconv-h'.
54585         * modules/iconv-h: New file.
54586         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
54587         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
54588         (configure.ac): Remove gl_ICONV_H.
54589         (Makefile.am): Remove rule for iconv.h.
54591 2010-03-06  Bruno Haible  <bruno@clisp.org>
54593         More consistent naming of *.m4 files.
54594         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
54595         * modules/wctype (Files): Update.
54597         More consistent naming of *.m4 files.
54598         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
54599         * modules/wchar (Files): Update.
54601 2010-03-06  Jim Meyering  <meyering@redhat.com>
54603         euidaccess: relax license to LGPLv2+
54604         * modules/euidaccess (License): Relax to LGPLv2+.
54606 2010-03-06  Bruno Haible  <bruno@clisp.org>
54608         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
54609         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
54610         (Makefile.am): Augment lib_SOURCES instead.
54612 2010-03-04  Jim Meyering  <meyering@redhat.com>
54614         utime: remove obsolete module
54615         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
54616         unnecessary for years, and has been marked as obsolete for 10 months.
54617         * modules/utime: Remove file.
54618         * lib/utime.c: Remove file.
54619         * m4/utime.m4: Remove file.
54620         * m4/utimes-null.m4: Remove file.
54621         * doc/posix-functions/utime.texi (utime): Remove reference to
54622         the module.  Move the sole "fixed by gnulib" item into the
54623         "problems not fixed by Gnulib" list.
54624         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
54626 2010-03-05  Simon Josefsson  <simon@josefsson.org>
54628         * modules/exit (License): Relax license to LGPLv2+.
54629         (Status): Mark as obsolete.
54630         * NEWS: Mention deprecated 'exit' module.
54631         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
54632         of now obsolete 'exit'.
54634 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54636         fts-lgpl: remove unused module
54637         * modules/fts-lgpl: Remove.
54638         * MODULES.html.sh (func_all_modules): Adjust.
54639         * check-module (find_included_lib_files): Adjust.
54640         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
54642 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
54644         copy-acl: enhance Solaris ACL error handling
54645         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
54646         * lib/set-mode-acl.c (qset_acl): Likewise.
54648 2010-03-02  Bruno Haible  <bruno@clisp.org>
54650         spawn: Don't override the system defined values on FreeBSD 8.
54651         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
54652         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
54653         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
54654         if HAVE_POSIX_SPAWN is 1.
54655         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
54657 2010-03-01  Bruno Haible  <bruno@clisp.org>
54659         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
54660         regarding Automake.
54662 2010-02-25  Bruno Haible  <bruno@clisp.org>
54664         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
54665         * gnulib-tool: Define 'echo' as a function only before the ksh alias
54666         setting, not afterwards.
54667         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
54669 2010-02-24  Eric Blake  <eblake@redhat.com>
54671         bootstrap, git-version-gen: use timestamp
54672         * build-aux/git-version-gen (scriptversion): Force UTC.
54673         * build-aux/bootstrap (scriptversion): New variable.
54675         bootstrap: allow older git
54676         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
54677         older than 1.6.4.  Requested by the libvirt project.
54679 2010-02-23  Eric Blake  <eblake@redhat.com>
54681         warn-on-use: work with old autoconf
54682         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
54683         AS_VAR semantics of autoconf 2.60.
54684         Reported by Bruno Haible.
54686         bootstrap: improve some comments
54687         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
54688         clarification comments.
54690         gettimeofday: provide correct function
54691         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
54692         when replacement is declared, otherwise provide gettimeofday.
54693         Reported by Michael Goffioul.
54695 2010-02-23  Jim Meyering  <meyering@redhat.com>
54697         lib-ignore: relax license to "unlimited", not LGPLv2+
54698         * modules/lib-ignore (License): Relax to "unlimited".
54700 2010-02-23  Jim Meyering  <meyering@redhat.com>
54702         lib-ignore: relax license to LGPLv2+
54703         * modules/lib-ignore (License): Relax to LGPLv2+.
54705 2010-02-22  Eric Blake  <eblake@redhat.com>
54707         lseek: avoid bash 3.2 broken pipe bug
54708         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
54709         warning from bash 3.2.
54710         Reported by Ben Pfaff, with analysis from Bruno Haible.
54712         bootstrap: support non-FSF copyright holder
54713         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
54714         bootstrap.conf override of COPYRIGHT_HOLDER.
54715         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
54717         bootstrap: interoperate with gettext 0.14.1
54718         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
54720         bootstrap: allow for alternate submodule location
54721         * build-aux/bootstrap (gnulib_path): New variable; use instead of
54722         hardcoding submodule location.
54723         (gnulib_mk): Allow direct use of Makefile.am.
54725         bootstrap: use GNULIB_SRCDIR to reduce disk usage
54726         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
54727         rather than reconfiguring where the submodule points.
54729         gettimeofday: restore support for platforms that lack function
54730         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
54731         replacement if function is missing.
54732         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
54733         * modules/sys_time (Makefile.am): Substitute it.
54734         * lib/sys_time.in.h (gettimeofday): Check it.
54735         Reported by Michael Goffioul.
54737 2010-02-21  Bruno Haible  <bruno@clisp.org>
54739         * lib/stdio.in.h (obstack_printf): Fix typo.
54741 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
54743         vc-list-files: use bzr ls's -R option
54744         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
54745         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
54747 2010-02-21  Jim Meyering  <meyering@redhat.com>
54749         init.sh: fix EXEEXT shims to work also for names like test-prog
54750         * tests/init.sh: Re-exec a better shell, when needed.
54751         If the current shell lacks support for posix $(...), an init.sh-using
54752         test will now try to find a shell that supports that.  If EXEEXT is
54753         nonempty, we also require support for hyphen-in-alias-name and shell
54754         substitutions like ${var#glob}.  Failure to find such a shell results
54755         in a skipped test.
54757 2010-02-21  Bruno Haible  <bruno@clisp.org>
54759         Really work around "broken pipe" error message from bash 3.2.
54760         * gnulib-tool (func_reset_sigpipe): Remove function.
54761         (echo): In bash 3.2, define to a function that uses printf.
54762         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
54764 2010-02-20  Bruno Haible  <bruno@clisp.org>
54766         Restore support for automake 1.9.6 with autoconf 2.61.
54767         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
54768         Reported by James Youngman <jay@gnu.org>.
54770 2010-02-20  Bruno Haible  <bruno@clisp.org>
54772         Improve *printf warning condition.
54773         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
54774         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
54775         and the function is overridden due to SIGPIPE emulation.
54777 2010-02-20  Bruno Haible  <bruno@clisp.org>
54779         * lib/stdio.in.h: Tweak comments.
54781 2010-02-19  Bruno Haible  <bruno@clisp.org>
54783         Make it easier to find modules. New gnulib-tool option '--find'.
54784         * gnulib-tool: New option --find.
54785         (func_usage): Document it.
54786         (func_sanitize_modulelist): New function, extracted from
54787         func_all_modules.
54788         (func_all_modules): Invoke it.
54789         * doc/gnulib-tool.texi (Which modules?): New node.
54791 2010-02-18  Markus Duft  <mduft@gentoo.org>  (tiny change)
54793         * lib/sys_select.in.h: Provide select replacement even if
54794         sys/select.h exists on a system, for Interix.
54796 2010-02-18  Jim Meyering  <meyering@redhat.com>
54798         init.sh: don't use $(...) just yet
54799         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
54800         to accommodate e.g., Solaris' /bin/sh.
54802 2010-02-17  Bruno Haible  <bruno@clisp.org>
54804         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
54805         Reported by Ludovic Courtès <ludo@gnu.org>.
54807 2010-02-16  Simon Josefsson  <simon@josefsson.org>
54809         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
54810         linking with -lintl.
54812 2010-02-17  Simon Josefsson  <simon@josefsson.org>
54814         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
54815         if not provided by the system's netdb.h.  Reported by
54816         ludo@gnu.org (Ludovic Courtès).
54818 2010-02-15  Jim Meyering  <meyering@redhat.com>
54820         init.sh: improve portability and efficiency
54821         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
54822         "dummy" in a for loop.
54823         Use '!', not '^' to select the complement of a character set used
54824         in a "case" statement.
54825         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
54826         Suggestions from Eric Blake.
54828         init.sh: automatically accommodate programs with the .exe suffix
54829         Automatically arrange for an invocation of "prog" to execute the
54830         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
54831         may use the simpler "prog", yet still work when built on a system
54832         that requires specifying the added suffix.
54833         Do this by constructing a function named "prog" that invokes
54834         "prog.exe" for each .exe file in selected directories.
54835         * tests/init.sh (find_exe_basenames_): New function.
54836         (create_exe_shim_functions_): New function.
54837         (path_prepend_): Use it.
54839         maint.mk: mark syntax-check sc_*.m rules as .PHONY
54840         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
54841         "make -t syntax-check" doesn't create a ton of sc_*.m files.
54843 2010-02-14  Jim Meyering  <meyering@redhat.com>
54845         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
54846         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
54847         (sc_prohibit_hash_pjw_without_use): New rule.
54849         maint.mk: allow the default upload destination dir to be overridden
54850         * top/maint.mk (upload_dest_dir_): Define with a default that
54851         preserves the status quo.
54852         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
54853         Reported by Peter Simons.
54855         maint.mk: prohibit inclusion of "hash.h" without_use
54856         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
54858 2010-02-10  Jim Meyering  <meyering@redhat.com>
54860         maint.mk: prohibit inclusion of "ignore-value.h" without_use
54861         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
54863 2010-02-09  Eric Blake  <ebb9@byu.net>
54864         and Bruno Haible  <bruno@clisp.org>
54866         obstack-printf-posix: ensure declaration
54867         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
54868         extracted from gl_FUNC_OBSTACK_PRINTF.
54869         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
54870         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
54871         Likewise.
54872         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
54873         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
54874         0.
54876 2010-02-08  Bruno Haible  <bruno@clisp.org>
54878         gnulib-tool: Fix typo in 2010-02-07 commit.
54879         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
54880         Reported by Eric Blake.
54882 2010-02-07  Bruno Haible  <bruno@clisp.org>
54884         gnulib-tool: Fix up caching patches.
54885         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
54886         option --no-cache. Use associative arrays when supported by the shell.
54887         (sed_comments): New variable.
54888         (modcache): Renamed from do_cache.
54889         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
54890         abbreviate unnecessarily.
54891         (have_associative): New variable.
54892         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
54893         way also for ksh and zsh.
54894         (func_init_sed_convert_to_cache_statements): New function, extracted
54895         from func_cache_lookup_module. Add support for associative arrays.
54896         Don't set the c_MODULE_cached variable here. Ignore all lines before
54897         the first field header. Remove only the final newline, not all trailing
54898         newlines. Support empty fields correctly. Limit the use of 'eval' to
54899         assignments.
54900         (func_get_description, func_get_status, func_get_notice,
54901         func_get_applicability, func_get_filelist, func_get_dependencies,
54902         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
54903         func_get_automake_snippet, func_get_include_directive,
54904         func_get_link_directive, func_get_license, func_get_maintainer):
54905         Update documentation. List the unoptimized code first. Add support for
54906         associative arrays. Limit the use of 'eval' to assignments.
54907         (func_get_applicability): Undo stylistic pessimisations.
54908         (func_get_automake_snippet, func_get_include_directive): Reduce code
54909         duplication.
54910         (func_modules_transitive_closure, func_modules_add_dummy,
54911         func_modules_notice, func_modules_to_filelist, func_add_file,
54912         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
54913         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
54914         func_create_testdir, func_create_megatestdir): Update documentation.
54916 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54918         * gnulib-tool (func_cache_lookup_module): Store the module name
54919         belonging to the cache variable; error out if two different
54920         module names map to the same cache variable name.
54922 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54924         gnulib-tool: Make caching optional.
54925         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
54926         Update matching short versions of --no-changelog.
54927         (func_usage): Update.
54928         (sed_extract_cache_prog): Renamed from ...
54929         (sed_extract_prog): ... this; revert to old extraction script.
54930         (func_get_description, func_get_status)
54931         (func_get_notice, func_get_applicability, func_get_filelist)
54932         (func_get_dependencies, func_get_autoconf_early_snippet)
54933         (func_get_autoconf_snippet, func_get_automake_snippet)
54934         (func_get_include_directive, func_get_link_directive)
54935         (func_get_license, func_get_maintainer): If $do_cache is false,
54936         use old, non-caching extraction scripts.
54937         Suggestion by Bruno Haible.
54939 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54941         gnulib-tool: cache module metainformation.
54942         * gnulib-tool (sed_extract_prog): Match newline before each
54943         header, and rewrite header to a shell variable suffix.
54944         (func_cache_var, func_cache_lookup_module): New functions,
54945         to turn a module name into a cache variable prefix, and to
54946         look up and cache module metainformation.
54947         (func_get_description, func_get_status)
54948         (func_get_notice, func_get_applicability, func_get_filelist)
54949         (func_get_dependencies, func_get_autoconf_early_snippet)
54950         (func_get_autoconf_snippet, func_get_automake_snippet)
54951         (func_get_include_directive, func_get_link_directive)
54952         (func_get_license, func_get_maintainer): Use
54953         func_cache_lookup_module.
54955 2010-02-07  Bruno Haible  <bruno@clisp.org>
54957         fnctl: Fix missing dependency.
54958         * modules/fcntl (Depends-on): Add getdtablesize.
54959         Reported by John W. Eaton <jwe@gnu.org>.
54961 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
54963         Argp: fix recognition of short alias options.
54965         * lib/argp-parse.c (convert_options): Fix improper use of
54966         `|' between character values.
54967         * tests/test-argp.c (group1_option): New alias option
54968         --read (-r).
54969         (group1_parser): Special handling for 'r'.
54970         (test15): New test case.
54971         (test_fun): Add test15.
54972         * tests/test-argp-2.sh: Update expected --help and --usage
54973         outputs.
54975 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
54977         * tests/test-argp.c: Fix indentation.
54979 2010-02-04  Eric Blake  <ebb9@byu.net>
54981         gettimeofday: expose type of second argument
54982         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
54983         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
54984         * tests/test-gettimeofday.c: Use it to silence warning.
54985         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
54986         the issue.
54988 2010-02-03  Jim Meyering  <meyering@redhat.com>
54990         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
54991         * lib/regcomp.c (TYPE_SIGNED): Define.
54992         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
54994         regcomp.c: avoid a new -Wshadow warning
54995         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
54997 2010-02-01  Jim Meyering  <meyering@redhat.com>
54999         removing useless parentheses in cpp #define directives
55000         For motivation, see commit c0221df4, "define STREQ(a,b)
55001         consistently, removing useless parentheses"
55002         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
55003         * lib/mountlist.c (MNT_IGNORE): Likewise.
55004         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
55006 2010-02-01  Eric Blake  <ebb9@byu.net>
55008         sys_time: use link-warning
55009         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
55010         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
55011         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
55012         * modules/sys_time (Depends-on): Add warn-on-use.
55013         (Makefile.am): Always build replacement.
55014         (configure.ac): Update substitutions.
55015         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
55016         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
55017         bother with SYS_TIME_H.
55018         * modules/gettimeofday (configure.ac): Declare indicator.
55019         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
55020         in use.
55022         closein-tests: silence compiler warning
55023         * tests/test-closein.c (main): Ignore fread result.
55024         * modules/closein-tests (Depends-on): Add ignore-value.
55026         tests: silence warning about system return
55027         * tests/test-areadlink-with-size.c (main): Ignore system result.
55028         * tests/test-areadlink.c (main): Likewise.
55029         * tests/test-areadlinkat-with-size.c (main): Likewise.
55030         * tests/test-areadlinkat.c (main): Likewise.
55031         * tests/test-canonicalize-lgpl.c (main): Likewise.
55032         * tests/test-canonicalize.c (main): Likewise.
55033         * tests/test-chown.c (main): Likewise.
55034         * tests/test-fchownat.c (main): Likewise.
55035         * tests/test-fdutimensat.c (main): Likewise.
55036         * tests/test-fstatat.c (main): Likewise.
55037         * tests/test-futimens.c (main): Likewise.
55038         * tests/test-lchown.c (main): Likewise.
55039         * tests/test-link.c (main): Likewise.
55040         * tests/test-linkat.c (main): Likewise.
55041         * tests/test-lstat.c (main): Likewise.
55042         * tests/test-mkdir.c (main): Likewise.
55043         * tests/test-mkdirat.c (main): Likewise.
55044         * tests/test-mkfifo.c (main): Likewise.
55045         * tests/test-mkfifoat.c (main): Likewise.
55046         * tests/test-mknod.c (main): Likewise.
55047         * tests/test-readlink.c (main): Likewise.
55048         * tests/test-remove.c (main): Likewise.
55049         * tests/test-rename.c (main): Likewise.
55050         * tests/test-renameat.c (main): Likewise.
55051         * tests/test-rmdir.c (main): Likewise.
55052         * tests/test-symlink.c (main): Likewise.
55053         * tests/test-symlinkat.c (main): Likewise.
55054         * tests/test-unlink.c (main): Likewise.
55055         * tests/test-unlinkat.c (main): Likewise.
55056         * tests/test-utimens.c (main): Likewise.
55057         * tests/test-utimensat.c (main): Likewise.
55058         * modules/areadlink-tests (Depends-on): Add ignore-value.
55059         * modules/areadlink-with-size-tests (Depends-on): Likewise.
55060         * modules/areadlinkat-tests (Depends-on): Likewise.
55061         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
55062         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
55063         * modules/canonicalize-tests (Depends-on): Likewise.
55064         * modules/chown-tests (Depends-on): Likewise.
55065         * modules/fdutimensat-tests (Depends-on): Likewise.
55066         * modules/futimens-tests (Depends-on): Likewise.
55067         * modules/lchown-tests (Depends-on): Likewise.
55068         * modules/link-tests (Depends-on): Likewise.
55069         * modules/linkat-tests (Depends-on): Likewise.
55070         * modules/lstat-tests (Depends-on): Likewise.
55071         * modules/mkdir-tests (Depends-on): Likewise.
55072         * modules/mkfifo-tests (Depends-on): Likewise.
55073         * modules/mkfifoat-tests (Depends-on): Likewise.
55074         * modules/mknod-tests (Depends-on): Likewise.
55075         * modules/openat-tests (Depends-on): Likewise.
55076         * modules/readlink-tests (Depends-on): Likewise.
55077         * modules/remove-tests (Depends-on): Likewise.
55078         * modules/rename-tests (Depends-on): Likewise.
55079         * modules/renameat-tests (Depends-on): Likewise.
55080         * modules/rmdir-tests (Depends-on): Likewise.
55081         * modules/symlink-tests (Depends-on): Likewise.
55082         * modules/symlinkat-tests (Depends-on): Likewise.
55083         * modules/unlink-tests (Depends-on): Likewise.
55084         * modules/utimens-tests (Depends-on): Likewise.
55085         * modules/utimensat-tests (Depends-on): Likewise.
55087 2010-01-31  Bruno Haible  <bruno@clisp.org>
55089         Perform the same test for many <math.h> functions.
55090         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
55091         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
55092         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
55093         of gl_MATHFUNC.
55094         * modules/acos (configure.ac): Likewise.
55095         * modules/asin (configure.ac): Likewise.
55096         * modules/atan (configure.ac): Likewise.
55097         * modules/atan2 (configure.ac): Likewise.
55098         * modules/cbrt (configure.ac): Likewise.
55099         * modules/copysign (configure.ac): Likewise.
55100         * modules/cos (configure.ac): Likewise.
55101         * modules/cosh (configure.ac): Likewise.
55102         * modules/erf (configure.ac): Likewise.
55103         * modules/erfc (configure.ac): Likewise.
55104         * modules/exp (configure.ac): Likewise.
55105         * modules/fmod (configure.ac): Likewise.
55106         * modules/hypot (configure.ac): Likewise.
55107         * modules/j0 (configure.ac): Likewise.
55108         * modules/j1 (configure.ac): Likewise.
55109         * modules/jn (configure.ac): Likewise.
55110         * modules/lgamma (configure.ac): Likewise.
55111         * modules/log (configure.ac): Likewise.
55112         * modules/log10 (configure.ac): Likewise.
55113         * modules/log1p (configure.ac): Likewise.
55114         * modules/pow (configure.ac): Likewise.
55115         * modules/remainder (configure.ac): Likewise.
55116         * modules/sin (configure.ac): Likewise.
55117         * modules/sinh (configure.ac): Likewise.
55118         * modules/tan (configure.ac): Likewise.
55119         * modules/tanh (configure.ac): Likewise.
55120         * modules/y0 (configure.ac): Likewise.
55121         * modules/y1 (configure.ac): Likewise.
55122         * modules/yn (configure.ac): Likewise.
55123         Suggested by Paolo Bonzini.
55125 2010-01-31  Bruno Haible  <bruno@clisp.org>
55127         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
55129 2010-01-31  Bruno Haible  <bruno@clisp.org>
55131         Work around getdelim() bug on FreeBSD 8.0.
55132         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
55133         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
55134         not work.
55135         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
55136         is 1.
55137         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
55138         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
55139         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
55140         a non-zero size.
55141         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
55143 2010-01-31  Bruno Haible  <bruno@clisp.org>
55145         Work around getline() bug on FreeBSD 8.0.
55146         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
55147         and a non-zero size.
55148         * tests/test-getline.c (main): Likewise.
55149         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
55150         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
55152 2010-01-28  Eric Blake  <ebb9@byu.net>
55154         regex: fix build failure
55155         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
55156         platforms.
55158 2010-01-28  Jim Meyering  <meyering@redhat.com>
55160         regex: do not ignore memory allocation failure
55161         * lib/regex_internal.c (create_cd_newstate): Detect
55162         re_node_set_init_copy failure.   Extracted from glibc commit
55163         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
55165         regex: sync more white-space changes from libc
55166         * lib/regex_internal.c: White-space only changes.
55167         * lib/regexec.c: Likewise.
55169         regex: add many uses of __attribute_warn_unused_result__
55170         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
55171         * lib/regexec.c: Likewise.
55172         Extracted from a messy glibc commit.
55174         regcomp.c: spelling and merge-artifact from glibc
55175         * lib/regcomp.c: Merge remainder of glibc's
55176         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
55178         regcomp.c: sync white-space changes from glibc
55179         * lib/regcomp.c: Merge to accommodate white space
55180         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
55182         regcomp.c: do not ignore internal return values
55183         * lib/regcomp.c: Do not ignore internal return values.
55184         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
55185         but without its white-space changes and spelling fixes.
55187         regex_internal.h: define __attribute_warn_unused_result__
55188         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
55190         maint: add a syntax-check rule to check for vulnerable Makefile.in
55191         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
55193 2010-01-27  Jim Meyering  <meyering@redhat.com>
55195         ncftpput-ftp: clean up spaces
55196         * build-aux/ncftpput-ftp: Make Copyright line consistent.
55197         Remove trailing blanks.
55199 2010-01-27  Simon Josefsson  <simon@josefsson.org>
55201         * build-aux/git-version-gen: Fix copyright statement.
55202         * build-aux/gnupload: Likewise.
55203         * tests/test-arcfour.c: Likewise.
55204         * tests/test-arctwo.c: Likewise.
55205         * tests/test-count-one-bits.c: Likewise.
55206         * tests/test-crc.c: Likewise.
55207         * tests/test-des.c: Likewise.
55208         * tests/test-gc-arcfour.c: Likewise.
55209         * tests/test-gc-arctwo.c: Likewise.
55210         * tests/test-gc-des.c: Likewise.
55211         * tests/test-gc-hmac-md5.c: Likewise.
55212         * tests/test-gc-hmac-sha1.c: Likewise.
55213         * tests/test-gc-md2.c: Likewise.
55214         * tests/test-gc-md4.c: Likewise.
55215         * tests/test-gc-md5.c: Likewise.
55216         * tests/test-gc-pbkdf2-sha1.c: Likewise.
55217         * tests/test-gc-rijndael.c: Likewise.
55218         * tests/test-gc-sha1.c: Likewise.
55219         * tests/test-gc.c: Likewise.
55220         * tests/test-gethostname.c: Likewise.
55221         * tests/test-gettimeofday.c: Likewise.
55222         * tests/test-hash.c: Likewise.
55223         * tests/test-hmac-md5.c: Likewise.
55224         * tests/test-hmac-sha1.c: Likewise.
55225         * tests/test-md2.c: Likewise.
55226         * tests/test-md4.c: Likewise.
55227         * tests/test-md5.c: Likewise.
55228         * tests/test-memchr.c: Likewise.
55229         * tests/test-memchr2.c: Likewise.
55230         * tests/test-memcmp.c: Likewise.
55231         * tests/test-memmem.c: Likewise.
55232         * tests/test-memrchr.c: Likewise.
55233         * tests/test-rawmemchr.c: Likewise.
55234         * tests/test-read-file.c: Likewise.
55235         * tests/test-rijndael.c: Likewise.
55236         * tests/test-sockets.c: Likewise.
55237         * tests/test-strchrnul.c: Likewise.
55238         * tests/test-strstr.c: Likewise.
55239         * tests/test-strtod.c: Likewise.
55240         * build-aux/ncftpput-ftp: Likewise.
55242 2010-01-26  Eric Blake  <ebb9@byu.net>
55244         ignore-value: update recommended header name
55245         * modules/ignore-value (Include): Only use <> for headers that
55246         exist in glibc.
55248 2010-01-26  Jim Meyering  <meyering@redhat.com>
55250         test-userspec.c: avoid compiler warnings
55251         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
55252         and "initialization discards qualifiers..." warnings.
55253         Put the first "uid" in its own scope, and make char* members "const".
55255 2010-01-25  Bruno Haible  <bruno@clisp.org>
55257         gnulib-tool: Make warning diagnostics consistent.
55258         * gnulib-tool (func_warning): New function.
55259         Use it everywhere where gnulib-tool produces output to stderr and it is
55260         not a fatal error.
55262 2010-01-25  Bruno Haible  <bruno@clisp.org>
55264         Fix test dependencies.
55265         * modules/xstrtol-tests (Depends-on): Add inttypes.
55266         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
55268 2010-01-25  Pádraig Brady  <P@draigBrady.com>
55270         syntax-check: detect incorrect boolean macro values in config.h
55271         * modules/maintainer-makefile (configure.ac): Parameterize the location
55272         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
55273         The logic is from Eric Blake and the location indicated by Jim Meyering.
55274         Note the more natural CONFIG_HEADER name is prohibited by automake
55275         for backwards compatibility reasons.
55276         * top/maint.mk (sc_Wundef_boolean): New rule.
55278 2010-01-25  Jim Meyering  <meyering@redhat.com>
55280         bootstrap: detect MacOS 10.6's shasum, too
55281         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
55282         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
55284 2010-01-23  Jim Meyering  <meyering@redhat.com>
55286         xstrtoll: new module
55287         * modules/xstrtoll: New file.
55288         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
55289         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
55290         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
55291         ./configure fails if you use this module and lack "long long".
55292         * modules/xstrtoll-tests: New module.
55293         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
55294         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
55295         new init.sh-based test framework.
55297 2010-01-24  Bruno Haible  <bruno@clisp.org>
55299         Tests for module 'yn'.
55300         * modules/yn-tests: New file.
55301         * tests/test-yn.c: New file.
55303         Tests for module 'y1'.
55304         * modules/y1-tests: New file.
55305         * tests/test-y1.c: New file.
55307         Tests for module 'y0'.
55308         * modules/y0-tests: New file.
55309         * tests/test-y0.c: New file.
55311         Tests for module 'tanh'.
55312         * modules/tanh-tests: New file.
55313         * tests/test-tanh.c: New file.
55315         Tests for module 'tan'.
55316         * modules/tan-tests: New file.
55317         * tests/test-tan.c: New file.
55319         Tests for module 'sqrt'.
55320         * modules/sqrt-tests: New file.
55321         * tests/test-sqrt.c: New file.
55323         Tests for module 'sinh'.
55324         * modules/sinh-tests: New file.
55325         * tests/test-sinh.c: New file.
55327         Tests for module 'sin'.
55328         * modules/sin-tests: New file.
55329         * tests/test-sin.c: New file.
55331         Tests for module 'rint'.
55332         * modules/rint-tests: New file.
55333         * tests/test-rint.c: New file.
55335         Tests for module 'remainder'.
55336         * modules/remainder-tests: New file.
55337         * tests/test-remainder.c: New file.
55339         Tests for module 'pow'.
55340         * modules/pow-tests: New file.
55341         * tests/test-pow.c: New file.
55343         Tests for module 'nextafter'.
55344         * modules/nextafter-tests: New file.
55345         * tests/test-nextafter.c: New file.
55347         Tests for module 'modf'.
55348         * modules/modf-tests: New file.
55349         * tests/test-modf.c: New file.
55351         Tests for module 'logb'.
55352         * modules/logb-tests: New file.
55353         * tests/test-logb.c: New file.
55355         Tests for module 'log1p'.
55356         * modules/log1p-tests: New file.
55357         * tests/test-log1p.c: New file.
55359         Tests for module 'log10'.
55360         * modules/log10-tests: New file.
55361         * tests/test-log10.c: New file.
55363         Tests for module 'log'.
55364         * modules/log-tests: New file.
55365         * tests/test-log.c: New file.
55367         Tests for module 'lgamma'.
55368         * modules/lgamma-tests: New file.
55369         * tests/test-lgamma.c: New file.
55371         Tests for module 'ldexp'.
55372         * modules/ldexp-tests: New file.
55373         * tests/test-ldexp.c: New file.
55375         Tests for module 'jn'.
55376         * modules/jn-tests: New file.
55377         * tests/test-jn.c: New file.
55379         Tests for module 'j1'.
55380         * modules/j1-tests: New file.
55381         * tests/test-j1.c: New file.
55383         Tests for module 'j0'.
55384         * modules/j0-tests: New file.
55385         * tests/test-j0.c: New file.
55387         Tests for module 'hypot'.
55388         * modules/hypot-tests: New file.
55389         * tests/test-hypot.c: New file.
55391         Tests for module 'fmod'.
55392         * modules/fmod-tests: New file.
55393         * tests/test-fmod.c: New file.
55395         Tests for module 'fabs'.
55396         * modules/fabs-tests: New file.
55397         * tests/test-fabs.c: New file.
55399         Tests for module 'exp'.
55400         * modules/exp-tests: New file.
55401         * tests/test-exp.c: New file.
55403         Tests for module 'erfc'.
55404         * modules/erfc-tests: New file.
55405         * tests/test-erfc.c: New file.
55407         Tests for module 'erf'.
55408         * modules/erf-tests: New file.
55409         * tests/test-erf.c: New file.
55411         Tests for module 'cosh'.
55412         * modules/cosh-tests: New file.
55413         * tests/test-cosh.c: New file.
55415         Tests for module 'cos'.
55416         * modules/cos-tests: New file.
55417         * tests/test-cos.c: New file.
55419         Tests for module 'copysign'.
55420         * modules/copysign-tests: New file.
55421         * tests/test-copysign.c: New file.
55423         Tests for module 'cbrt'.
55424         * modules/cbrt-tests: New file.
55425         * tests/test-cbrt.c: New file.
55427         Tests for module 'atan2'.
55428         * modules/atan2-tests: New file.
55429         * tests/test-atan2.c: New file.
55431         Tests for module 'atan'.
55432         * modules/atan-tests: New file.
55433         * tests/test-atan.c: New file.
55435         Tests for module 'asin'.
55436         * modules/asin-tests: New file.
55437         * tests/test-asin.c: New file.
55439         Tests for module 'acos'.
55440         * modules/acos-tests: New file.
55441         * tests/test-acos.c: New file.
55443 2010-01-24  Bruno Haible  <bruno@clisp.org>
55445         Fix tests for common <math.h> functions.
55446         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
55447         code snippet that references the function pointer, rather than merely
55448         calling the function. Substitute the FUNC_LIBM variable.
55449         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
55450         * modules/acos (configure.ac): Likewise.
55451         * modules/asin (configure.ac): Likewise.
55452         * modules/atan (configure.ac): Likewise.
55453         * modules/atan2 (configure.ac): Likewise.
55454         * modules/cbrt (configure.ac): Likewise.
55455         * modules/copysign (configure.ac): Likewise.
55456         * modules/cos (configure.ac): Likewise.
55457         * modules/cosh (configure.ac): Likewise.
55458         * modules/erf (configure.ac): Likewise.
55459         * modules/erfc (configure.ac): Likewise.
55460         * modules/exp (configure.ac): Likewise.
55461         * modules/fabs (configure.ac): Likewise.
55462         * modules/fmod (configure.ac): Likewise.
55463         * modules/hypot (configure.ac): Likewise.
55464         * modules/j0 (configure.ac): Likewise.
55465         * modules/j1 (configure.ac): Likewise.
55466         * modules/jn (configure.ac): Likewise.
55467         * modules/ldexp (configure.ac): Likewise.
55468         * modules/lgamma (configure.ac): Likewise.
55469         * modules/log (configure.ac): Likewise.
55470         * modules/log10 (configure.ac): Likewise.
55471         * modules/log1p (configure.ac): Likewise.
55472         * modules/logb (configure.ac): Likewise.
55473         * modules/modf (configure.ac): Likewise.
55474         * modules/nextafter (configure.ac): Likewise.
55475         * modules/pow (configure.ac): Likewise.
55476         * modules/remainder (configure.ac): Likewise.
55477         * modules/rint (configure.ac): Likewise.
55478         * modules/sin (configure.ac): Likewise.
55479         * modules/sinh (configure.ac): Likewise.
55480         * modules/tan (configure.ac): Likewise.
55481         * modules/tanh (configure.ac): Likewise.
55482         * modules/y0 (configure.ac): Likewise.
55483         * modules/y1 (configure.ac): Likewise.
55484         * modules/yn (configure.ac): Likewise.
55486 2010-01-24  Bruno Haible  <bruno@clisp.org>
55488         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
55489         * tests/test-acosl.c (x): New variable.
55490         (main): Store argument in x and fetch it from x.
55491         * tests/test-asinl.c (x): New variable.
55492         (main): Store argument in x and fetch it from x.
55493         * tests/test-atanl.c (x): New variable.
55494         (main): Store argument in x and fetch it from x.
55495         * tests/test-cosl.c (x): New variable.
55496         (main): Store argument in x and fetch it from x.
55497         * tests/test-expl.c (x): New variable.
55498         (main): Store argument in x and fetch it from x.
55499         * tests/test-logl.c (x): New variable.
55500         (main): Store argument in x and fetch it from x.
55501         * tests/test-sinl.c (x): New variable.
55502         (main): Store argument in x and fetch it from x.
55503         * tests/test-sqrtl.c (x): New variable.
55504         (main): Store argument in x and fetch it from x.
55505         * tests/test-tanl.c (x): New variable.
55506         (main): Store argument in x and fetch it from x.
55508 2010-01-24  Bruno Haible  <bruno@clisp.org>
55510         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
55511         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
55512         assignments to the initial TESTS_ENVIRONMENT.
55513         * doc/gnulib.texi (Unit test modules): Document it.
55514         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
55515         TESTS_ENVIRONMENT.
55516         * modules/btowc-tests (Makefile.am): Likewise.
55517         * modules/c-stack-tests (Makefile.am): Likewise.
55518         * modules/c-strcase-tests (Makefile.am): Likewise.
55519         * modules/copy-file-tests (Makefile.am): Likewise.
55520         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
55521         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
55522         * modules/mbrtowc-tests (Makefile.am): Likewise.
55523         * modules/mbscasecmp-tests (Makefile.am): Likewise.
55524         * modules/mbscasestr-tests (Makefile.am): Likewise.
55525         * modules/mbschr-tests (Makefile.am): Likewise.
55526         * modules/mbscspn-tests (Makefile.am): Likewise.
55527         * modules/mbsinit-tests (Makefile.am): Likewise.
55528         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
55529         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
55530         * modules/mbspbrk-tests (Makefile.am): Likewise.
55531         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
55532         * modules/mbsrchr-tests (Makefile.am): Likewise.
55533         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
55534         * modules/mbsspn-tests (Makefile.am): Likewise.
55535         * modules/mbsstr-tests (Makefile.am): Likewise.
55536         * modules/nl_langinfo-tests (Makefile.am): Likewise.
55537         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
55538         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
55539         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
55540         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
55541         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
55542         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
55543         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
55544         * modules/wcrtomb-tests (Makefile.am): Likewise.
55545         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
55546         * modules/wcsrtombs-tests (Makefile.am): Likewise.
55547         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
55548         assignments from TESTS_ENVIRONMENT.
55549         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
55550         augmentation.
55551         * modules/argp-version-etc-tests (Makefile.am): Likewise.
55552         * modules/atexit-tests (Makefile.am): Likewise.
55553         * modules/binary-io-tests (Makefile.am): Likewise.
55554         * modules/closein-tests (Makefile.am): Likewise.
55555         * modules/dprintf-posix-tests (Makefile.am): Likewise.
55556         * modules/exclude-tests (Makefile.am): Likewise.
55557         * modules/fflush-tests (Makefile.am): Likewise.
55558         * modules/fpending-tests (Makefile.am): Likewise.
55559         * modules/fprintf-posix-tests (Makefile.am): Likewise.
55560         * modules/freadahead-tests (Makefile.am): Likewise.
55561         * modules/freadptr-tests (Makefile.am): Likewise.
55562         * modules/freadseek-tests (Makefile.am): Likewise.
55563         * modules/fseek-tests (Makefile.am): Likewise.
55564         * modules/fseeko-tests (Makefile.am): Likewise.
55565         * modules/ftell-tests (Makefile.am): Likewise.
55566         * modules/ftello-tests (Makefile.am): Likewise.
55567         * modules/idpriv-drop-tests (Makefile.am): Likewise.
55568         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
55569         * modules/lseek-tests (Makefile.am): Likewise.
55570         * modules/parse-duration-tests (Makefile.am): Likewise.
55571         * modules/perror-tests (Makefile.am): Likewise.
55572         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
55573         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
55574         * modules/pipe-tests (Makefile.am): Likewise.
55575         * modules/pread-tests (Makefile.am): Likewise.
55576         * modules/printf-posix-tests (Makefile.am): Likewise.
55577         * modules/select-tests (Makefile.am): Likewise.
55578         * modules/sigpipe-tests (Makefile.am): Likewise.
55579         * modules/tsearch-tests (Makefile.am): Likewise.
55580         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
55581         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
55582         * modules/uniname/uniname-tests (Makefile.am): Likewise.
55583         * modules/uniwidth/width-tests (Makefile.am): Likewise.
55584         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
55585         * modules/version-etc-tests (Makefile.am): Likewise.
55586         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
55587         * modules/vprintf-posix-tests (Makefile.am): Likewise.
55588         * modules/xalloc-die-tests (Makefile.am): Likewise.
55589         * modules/xprintf-posix-tests (Makefile.am): Likewise.
55590         * modules/xstrtoimax-tests (Makefile.am): Likewise.
55591         * modules/xstrtol-tests (Makefile.am): Likewise.
55592         * modules/xstrtoumax-tests (Makefile.am): Likewise.
55593         * modules/yesno-tests (Makefile.am): Likewise.
55594         Suggested by Jim Meyering.
55596 2010-01-24  Bruno Haible  <bruno@clisp.org>
55598         More documentation.
55599         * doc/gnulib.texi (Writing modules): New chapter.
55600         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
55601         the new chapter.
55603 2010-01-24  Jim Meyering  <meyering@redhat.com>
55605         maint.mk: do not prepend "./" after filtering
55606         * top/maint.mk (_prepend_srcdir_prefix): New variable
55607         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
55608         "./" when $(srcdir) is ".".
55610         define STREQ(a,b) consistently, removing useless parentheses
55611         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
55612         since the only risk is that "a" or "b" contains an unparenthesized
55613         comma, but if either did that, STREQ would have 3 or more arguments.
55614         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
55615         * lib/fts.c (STREQ): Remove unnecessary parentheses.
55616         * lib/hash-triple.c (STREQ): Likewise.
55617         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
55618         * lib/getugroups.c (STREQ): Likewise.
55620 2010-01-23  Jim Meyering  <meyering@redhat.com>
55622         maint.mk: fix syntax-check in a non-srcdir build directory
55623         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
55624         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
55626 2010-01-22  Jim Meyering  <meyering@redhat.com>
55628         userspec: add unit tests
55629         * tests/test-userspec.c: New file.
55630         * modules/userspec-tests: Likewise.
55632 2010-01-21  Jim Meyering  <meyering@redhat.com>
55634         maint.mk: handle source file names containing "." robustly
55635         * top/maint.mk (_dot_escaped_srcdir): Define.
55636         (VC_LIST): Use it in LHS of sed substitution.
55638 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
55640         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
55641         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
55642         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
55643         from a non-srcdir build.
55645 2010-01-20  Eric Blake  <ebb9@byu.net>
55647         warn-on-use: use instead of link-warning
55648         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
55649         * modules/unistd (Depends-on, Makefile.am): Likewise.
55650         * modules/arpa_inet (Depends-on): Replace link-warning with
55651         warn-on-use.
55652         (Makefile.am): Update rules accordingly.
55653         * modules/ctype (Depends-on, Makefile.am): Likewise.
55654         * modules/dirent (Depends-on, Makefile.am): Likewise.
55655         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
55656         * modules/inttypes (Depends-on, Makefile.am): Likewise.
55657         * modules/langinfo (Depends-on, Makefile.am): Likewise.
55658         * modules/locale (Depends-on, Makefile.am): Likewise.
55659         * modules/math (Depends-on, Makefile.am): Likewise.
55660         * modules/search (Depends-on, Makefile.am): Likewise.
55661         * modules/signal (Depends-on, Makefile.am): Likewise.
55662         * modules/spawn (Depends-on, Makefile.am): Likewise.
55663         * modules/stdlib (Depends-on, Makefile.am): Likewise.
55664         * modules/string (Depends-on, Makefile.am): Likewise.
55665         * modules/strings (Depends-on, Makefile.am): Likewise.
55666         * modules/sys_file (Depends-on, Makefile.am): Likewise.
55667         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
55668         * modules/sys_select (Depends-on, Makefile.am): Likewise.
55669         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
55670         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
55671         * modules/sys_times (Depends-on, Makefile.am): Likewise.
55672         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
55673         * modules/wchar (Depends-on, Makefile.am): Likewise.
55674         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
55675         should be poisoned.
55676         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
55677         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
55678         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
55679         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
55680         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
55681         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
55682         * m4/math_h.m4 (gl_MATH_H): Likewise.
55683         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
55684         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
55685         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
55686         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
55687         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
55688         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
55689         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
55690         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
55691         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
55692         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
55693         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
55694         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
55695         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
55696         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
55697         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
55698         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
55699         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
55700         GL_LINK_WARNING.
55701         * lib/ctype.in.h: Likewise.
55702         * lib/dirent.in.h: Likewise.
55703         * lib/fcntl.in.h: Likewise.
55704         * lib/inttypes.in.h: Likewise.
55705         * lib/langinfo.in.h: Likewise.
55706         * lib/locale.in.h: Likewise.
55707         * lib/math.in.h: Likewise.
55708         * lib/search.in.h: Likewise.
55709         * lib/signal.in.h: Likewise.
55710         * lib/spawn.in.h: Likewise.
55711         * lib/stdio.in.h: Likewise.
55712         * lib/stdlib.in.h: Likewise.
55713         * lib/string.in.h: Likewise.
55714         * lib/strings.in.h: Likewise.
55715         * lib/sys_file.in.h: Likewise.
55716         * lib/sys_ioctl.in.h: Likewise.
55717         * lib/sys_select.in.h: Likewise.
55718         * lib/sys_socket.in.h: Likewise.
55719         * lib/sys_stat.in.h: Likewise.
55720         * lib/sys_times.in.h: Likewise.
55721         * lib/sys_utsname.in.h: Likewise.
55722         * lib/unistd.in.h: Likewise.
55723         * lib/wchar.in.h: Likewise.
55725 2010-01-20  Bruno Haible  <bruno@clisp.org>
55727         Avoid duplicate -lm.
55728         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
55729         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
55730         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
55731         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
55732         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
55733         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
55734         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
55735         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
55736         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
55737         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
55738         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
55739         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
55740         Reported by Paolo Bonzini.
55742 2010-01-19  Bruno Haible  <bruno@clisp.org>
55744         langinfo, nl_langinfo: Relicense under LGPLv2+.
55745         * modules/langinfo (License): Change to LGPLv2+.
55746         * modules/nl_langinfo (License): Likewise.
55747         Patch by David Lutterkort <lutter@redhat.com>.
55749 2010-01-19  Bruno Haible  <bruno@clisp.org>
55751         Avoid compilation error with cc on OSF/1 5.1.
55752         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
55753         statement, not before.
55754         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55756 2010-01-18  Bruno Haible  <bruno@clisp.org>
55758         Avoid a link error due to the __printf__ symbol.
55759         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
55760         and 2.6.x.
55761         (__format__, __printf__): Remove definitions.
55762         * lib/argp-fmtstream.h: Likewise.
55763         * lib/argp.h: Likewise.
55764         * lib/error.h: Likewise.
55765         * lib/vasnprintf.h: Likewise.
55766         * lib/xprintf.h: Likewise.
55767         * lib/xvasprintf.h: Likewise.
55768         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55770 2010-01-18  Bruno Haible  <bruno@clisp.org>
55772         Tests for module 'tanl'.
55773         * modules/tanl-tests: New file.
55774         * tests/test-tanl.c: New file.
55776         Tests for module 'sqrtl'.
55777         * modules/sqrtl-tests: New file.
55778         * tests/test-sqrtl.c: New file.
55780         Tests for module 'sinl'.
55781         * modules/sinl-tests: New file.
55782         * tests/test-sinl.c: New file.
55784         Tests for module 'logl'.
55785         * modules/logl-tests: New file.
55786         * tests/test-logl.c: New file.
55788         Tests for module 'expl'.
55789         * modules/expl-tests: New file.
55790         * tests/test-expl.c: New file.
55792         Tests for module 'cosl'.
55793         * modules/cosl-tests: New file.
55794         * tests/test-cosl.c: New file.
55796         Tests for module 'atanl'.
55797         * modules/atanl-tests: New file.
55798         * tests/test-atanl.c: New file.
55800         Tests for module 'asinl'.
55801         * modules/asinl-tests: New file.
55802         * tests/test-asinl.c: New file.
55804         Tests for module 'acosl'.
55805         * modules/acosl-tests: New file.
55806         * tests/test-acosl.c: New file.
55808         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
55809         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
55810         tanl): Use the standard gnulib idiom.
55811         * lib/cosl.c: Don't include trigl.c and sincosl.c.
55812         * lib/sinl.c: Likewise.
55813         * lib/tanl.c: Don't include trigl.c.
55814         (kernel_tanl): Make static.
55815         * lib/sincosl.c: Include trigl.h first.
55816         * lib/trigl.c: Likewise.
55817         * m4/acosl.m4: New file.
55818         * m4/asinl.m4: New file.
55819         * m4/atanl.m4: New file.
55820         * m4/cosl.m4: New file.
55821         * m4/expl.m4: New file.
55822         * m4/logl.m4: New file.
55823         * m4/sinl.m4: New file.
55824         * m4/sqrtl.m4: New file.
55825         * m4/tanl.m4: New file.
55826         * m4/mathl.m4: Remove file.
55827         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
55828         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
55829         Don't initialize GNULIB_MATHL.
55830         * modules/acosl: New file.
55831         * modules/asinl: New file.
55832         * modules/atanl: New file.
55833         * modules/cosl: New file.
55834         * modules/expl: New file.
55835         * modules/logl: New file.
55836         * modules/sinl: New file.
55837         * modules/sqrtl: New file.
55838         * modules/tanl: New file.
55839         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
55840         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
55841         substitute GNULIB_MATHL.
55842         * modules/mathl: Rewritten.
55843         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
55844         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
55845         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
55846         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
55847         * doc/posix-functions/expl.texi: Mention the 'expl' module.
55848         * doc/posix-functions/logl.texi: Mention the 'logl' module.
55849         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
55850         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
55851         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
55853 2010-01-18  Bruno Haible  <bruno@clisp.org>
55855         sqrt: Make gl_FUNC_SQRT requirable.
55856         * m4/sqrt.m4: New file.
55857         * modules/sqrt (Files): Add it.
55858         (configure.ac): Invoke gl_FUNC_SQRT.
55860 2010-01-18  Bruno Haible  <bruno@clisp.org>
55862         New modules for common <math.h> functions.
55863         * m4/mathfunc.m4: New file.
55864         * modules/acos: New file.
55865         * modules/asin: New file.
55866         * modules/atan: New file.
55867         * modules/atan2: New file.
55868         * modules/cbrt: New file.
55869         * modules/copysign: New file.
55870         * modules/cos: New file.
55871         * modules/cosh: New file.
55872         * modules/erf: New file.
55873         * modules/erfc: New file.
55874         * modules/exp: New file.
55875         * modules/fabs: New file.
55876         * modules/fmod: New file.
55877         * modules/hypot: New file.
55878         * modules/j0: New file.
55879         * modules/j1: New file.
55880         * modules/jn: New file.
55881         * modules/ldexp: New file.
55882         * modules/lgamma: New file.
55883         * modules/log: New file.
55884         * modules/log10: New file.
55885         * modules/log1p: New file.
55886         * modules/logb: New file.
55887         * modules/modf: New file.
55888         * modules/nextafter: New file.
55889         * modules/pow: New file.
55890         * modules/remainder: New file.
55891         * modules/rint: New file.
55892         * modules/sin: New file.
55893         * modules/sinh: New file.
55894         * modules/sqrt: New file.
55895         * modules/tan: New file.
55896         * modules/tanh: New file.
55897         * modules/y0: New file.
55898         * modules/y1: New file.
55899         * modules/yn: New file.
55900         * doc/posix-functions/acos.texi: Mention the 'acos' module.
55901         * doc/posix-functions/asin.texi: Mention the 'asin' module.
55902         * doc/posix-functions/atan.texi: Mention the 'atan' module.
55903         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
55904         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
55905         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
55906         * doc/posix-functions/cos.texi: Mention the 'cos' module.
55907         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
55908         * doc/posix-functions/erf.texi: Mention the 'erf' module.
55909         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
55910         * doc/posix-functions/exp.texi: Mention the 'exp' module.
55911         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
55912         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
55913         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
55914         * doc/posix-functions/j0.texi: Mention the 'j0' module.
55915         * doc/posix-functions/j1.texi: Mention the 'j1' module.
55916         * doc/posix-functions/jn.texi: Mention the 'jn' module.
55917         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
55918         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
55919         * doc/posix-functions/log.texi: Mention the 'log' module.
55920         * doc/posix-functions/log10.texi: Mention the 'log10' module.
55921         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
55922         * doc/posix-functions/logb.texi: Mention the 'logb' module.
55923         * doc/posix-functions/modf.texi: Mention the 'modf' module.
55924         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
55925         * doc/posix-functions/pow.texi: Mention the 'pow' module.
55926         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
55927         * doc/posix-functions/rint.texi: Mention the 'rint' module.
55928         * doc/posix-functions/sin.texi: Mention the 'sin' module.
55929         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
55930         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
55931         * doc/posix-functions/tan.texi: Mention the 'tan' module.
55932         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
55933         * doc/posix-functions/y0.texi: Mention the 'y0' module.
55934         * doc/posix-functions/y1.texi: Mention the 'y1' module.
55935         * doc/posix-functions/yn.texi: Mention the 'yn' module.
55937 2010-01-18  Jim Meyering  <meyering@redhat.com>
55939         ignore-value: relax license to LGPLv2+
55940         * modules/ignore-value (License): Relax to LGPLv2+.
55942         getdate: don't leak when TZ contains two or more '"'s
55943         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
55944         double quote in TZ after the first one.
55946         readtokens: do not leak internal token_lengths buffer
55947         * lib/readtokens.c (readtokens): Free the local, lengths,
55948         when the supplied "token_lengths" parameter is NULL.
55950 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55952         Fix a couple of missing LIBTHREAD link failures on AIX.
55953         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
55954         $(LIBTHREAD).
55955         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
55957         Link test-poll against INET_PTON_LIB.
55958         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
55959         for inet_pton on Solaris 10.
55961 2010-01-17  Bruno Haible  <bruno@clisp.org>
55963         unistdio/*-sprintf: Fix typo in module description.
55964         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
55965         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
55966         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
55967         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
55968         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
55969         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
55970         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
55971         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55973 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55975         gnulib-tool: fix filelist for AIX, HP-UX ksh.
55976         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
55977         variables in shell case patterns, for AIX and HP-UX ksh.
55979         Split large sed scripts, for HP-UX sed.
55980         * modules/stdio: Split sed scripts around 50 sed commands,
55981         to avoid HP-UX limit of 99 commands, in the near future.
55982         * modules/string: Likewise.
55983         * modules/unistd: Likewise.
55985         gnulib-tool: avoid writing in the current directory.
55986         * gnulib-tool (func_emit_lib_Makefile_am)
55987         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
55988         not in the current directory, so concurrent gnulib-tool
55989         instances do not interfere.
55991 2010-01-16  Jim Meyering  <meyering@redhat.com>
55993         doc: update users.txt
55994         * users.txt: Add grep.
55995         (diffutils, gzip): Update URLs.
55997 2010-01-12  Bruno Haible  <bruno@clisp.org>
55999         posix_spawn: Avoid test failure on Cygwin.
56000         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
56001         characters.
56002         Reported by Simon Josefsson.
56004 2010-01-12  Bruno Haible  <bruno@clisp.org>
56006         * tests/test-cond.c (main): When skipping the test, show the reason.
56008 2010-01-12  Simon Josefsson  <simon@josefsson.org>
56010         * lib/striconv.c (str_cd_iconv): Avoid if before free.
56012 2010-01-12  Simon Josefsson  <simon@josefsson.org>
56014         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
56015         VC_LIST_ALWAYS_EXCLUDE_REGEX.
56017 2010-01-12  Eric Blake  <ebb9@byu.net>
56019         build: guarantee AS_VAR_IF
56020         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
56021         (gl_AS_VAR_IF): Move...
56022         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
56023         Reported by Simon Josefsson.
56025 2010-01-12  Simon Josefsson  <simon@josefsson.org>
56027         * lib/stdio.in.h: Fix typo.
56029 2010-01-12  Simon Josefsson  <simon@josefsson.org>
56031         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
56032         libgpg-error.
56034 2010-01-12  Simon Josefsson  <simon@josefsson.org>
56036         * tests/test-xalloc-die.sh: Use $EXEEXT.
56038 2010-01-12  Simon Josefsson  <simon@josefsson.org>
56039             Bruno Haible  <bruno@clisp.org>
56041         getlogin, getlogin_r: Avoid test failure.
56042         * tests/test-getlogin.c: Include <stdio.h>.
56043         (main): Skip the test when the function fails because stdin is not a
56044         tty.
56045         * tests/test-getlogin_r.c: Include <stdio.h>.
56046         (main): Skip the test when the function fails because stdin is not a
56047         tty.
56049 2010-01-11  Eric Blake  <ebb9@byu.net>
56051         tests: avoid more large file warnings
56052         * tests/test-fflush.c: Avoid warning about ftell use.
56053         * tests/test-fseek.c: Avoid warning about fseek use.
56055 2010-01-10  Bruno Haible  <bruno@clisp.org>
56057         nproc: Work better on Linux when /proc and /sys are not mounted.
56058         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
56059         as lower bound when, on glibc/Linux systems,
56060         sysconf (_SC_NPROCESSORS_CONF) returns 1.
56061         Suggested by Pádraig Brady <P@draigbrady.com>.
56062         Reported by Dmitry V. Levin <ldv@altlinux.org>.
56064         nproc: Refactor.
56065         * lib/nproc.c (num_processors_via_affinity_mask): New function,
56066         extracted from num_processors.
56067         (num_processors): Call it.
56069 2010-01-11  Jim Meyering  <meyering@redhat.com>
56071         utimecmp: avoid new warning from upcoming gcc-4.5.0
56072         * lib/utimecmp.c (BILLION): Define using #define rather than an
56073         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
56075 2010-01-11  Eric Blake  <ebb9@byu.net>
56077         math: add portability warnings for classification macros
56078         * modules/math (Depends-on): Add warn-on-use.
56079         (Makefile.am): Provide new substitutions.
56080         * m4/math_h.m4 (gl_MATH_H): Require inline.
56081         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
56082         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
56083         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
56084         implement warnings.
56086         unistd: warn on use of environ without module
56087         * modules/unistd (Depends-on): Add warn-on-use.
56088         (Makefile.am): Provide new substitutions.
56089         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
56090         * lib/unistd.in.h (environ): Wrap with a warning helper function.
56092         stdio: warn on suspicious uses
56093         * modules/stdio (Depends-on): Add warn-on-use.
56094         (Makefile.am): Provide new substitutions.
56095         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
56096         fseeko.
56097         * lib/stdio.in.h (gets): Always warn on use.
56098         (fseek, ftell): Adjust when warnings are issued, and honor
56099         _GL_NO_LARGE_FILES as a way to silence the warning.
56100         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
56101         any warning about large file offsets.
56102         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
56103         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
56104         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
56105         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
56106         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
56107         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
56108         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
56109         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
56111         warn-on-use: new module
56112         * modules/warn-on-use: New file.
56113         * build-aux/warn-on-use.h: Likewise.
56114         * m4/warn-on-use.m4: Likewise.
56115         * MODULES.html.sh (Support for building): Mention it.
56117 2010-01-10  Bruno Haible  <bruno@clisp.org>
56119         Tests for module 'unistr/u32-strdup'.
56120         * modules/unistr/u32-strdup-tests: New file.
56121         * tests/unistr/test-u32-strdup.c: New file.
56123         Tests for module 'unistr/u16-strdup'.
56124         * modules/unistr/u16-strdup-tests: New file.
56125         * tests/unistr/test-u16-strdup.c: New file.
56127         Tests for module 'unistr/u8-strdup'.
56128         * modules/unistr/u8-strdup-tests: New file.
56129         * tests/unistr/test-u8-strdup.c: New file.
56130         * tests/unistr/test-strdup.h: New file.
56132         Tests for module 'unistr/u32-strncmp'.
56133         * modules/unistr/u32-strncmp-tests: New file.
56134         * tests/unistr/test-u32-strncmp.c: New file.
56136         Tests for module 'unistr/u16-strncmp'.
56137         * modules/unistr/u16-strncmp-tests: New file.
56138         * tests/unistr/test-u16-strncmp.c: New file.
56140         Tests for module 'unistr/u8-strncmp'.
56141         * modules/unistr/u8-strncmp-tests: New file.
56142         * tests/unistr/test-u8-strncmp.c: New file.
56143         * tests/unistr/test-strncmp.h: New file.
56145         Tests for module 'unistr/u32-strcoll'.
56146         * modules/unistr/u32-strcoll-tests: New file.
56147         * tests/unistr/test-u32-strcoll.c: New file.
56149         Tests for module 'unistr/u16-strcoll'.
56150         * modules/unistr/u16-strcoll-tests: New file.
56151         * tests/unistr/test-u16-strcoll.c: New file.
56153         Tests for module 'unistr/u8-strcoll'.
56154         * modules/unistr/u8-strcoll-tests: New file.
56155         * tests/unistr/test-u8-strcoll.c: New file.
56157         Tests for module 'unistr/u32-strcmp'.
56158         * modules/unistr/u32-strcmp-tests: New file.
56159         * tests/unistr/test-u32-strcmp.c: New file.
56160         * tests/unistr/test-u32-strcmp.h: New file.
56162         Tests for module 'unistr/u16-strcmp'.
56163         * modules/unistr/u16-strcmp-tests: New file.
56164         * tests/unistr/test-u16-strcmp.c: New file.
56165         * tests/unistr/test-u16-strcmp.h: New file.
56167         Tests for module 'unistr/u8-strcmp'.
56168         * modules/unistr/u8-strcmp-tests: New file.
56169         * tests/unistr/test-u8-strcmp.c: New file.
56170         * tests/unistr/test-u8-strcmp.h: New file.
56171         * tests/unistr/test-strcmp.h: New file.
56173         Tests for module 'unistr/u32-strncat'.
56174         * modules/unistr/u32-strncat-tests: New file.
56175         * tests/unistr/test-u32-strncat.c: New file.
56177         Tests for module 'unistr/u16-strncat'.
56178         * modules/unistr/u16-strncat-tests: New file.
56179         * tests/unistr/test-u16-strncat.c: New file.
56181         Tests for module 'unistr/u8-strncat'.
56182         * modules/unistr/u8-strncat-tests: New file.
56183         * tests/unistr/test-u8-strncat.c: New file.
56184         * tests/unistr/test-strncat.h: New file.
56186         Tests for module 'unistr/u32-strcat'.
56187         * modules/unistr/u32-strcat-tests: New file.
56188         * tests/unistr/test-u32-strcat.c: New file.
56190         Tests for module 'unistr/u16-strcat'.
56191         * modules/unistr/u16-strcat-tests: New file.
56192         * tests/unistr/test-u16-strcat.c: New file.
56194         Tests for module 'unistr/u8-strcat'.
56195         * modules/unistr/u8-strcat-tests: New file.
56196         * tests/unistr/test-u8-strcat.c: New file.
56197         * tests/unistr/test-strcat.h: New file.
56199         Tests for module 'unistr/u32-stpncpy'.
56200         * modules/unistr/u32-stpncpy-tests: New file.
56201         * tests/unistr/test-u32-stpncpy.c: New file.
56203         Tests for module 'unistr/u16-stpncpy'.
56204         * modules/unistr/u16-stpncpy-tests: New file.
56205         * tests/unistr/test-u16-stpncpy.c: New file.
56207         Tests for module 'unistr/u8-stpncpy'.
56208         * modules/unistr/u8-stpncpy-tests: New file.
56209         * tests/unistr/test-u8-stpncpy.c: New file.
56210         * tests/unistr/test-stpncpy.h: New file.
56212         Tests for module 'unistr/u32-strncpy'.
56213         * modules/unistr/u32-strncpy-tests: New file.
56214         * tests/unistr/test-u32-strncpy.c: New file.
56216         Tests for module 'unistr/u16-strncpy'.
56217         * modules/unistr/u16-strncpy-tests: New file.
56218         * tests/unistr/test-u16-strncpy.c: New file.
56220         Tests for module 'unistr/u8-strncpy'.
56221         * modules/unistr/u8-strncpy-tests: New file.
56222         * tests/unistr/test-u8-strncpy.c: New file.
56223         * tests/unistr/test-strncpy.h: New file.
56225         Tests for module 'unistr/u32-stpcpy'.
56226         * modules/unistr/u32-stpcpy-tests: New file.
56227         * tests/unistr/test-u32-stpcpy.c: New file.
56229         Tests for module 'unistr/u16-stpcpy'.
56230         * modules/unistr/u16-stpcpy-tests: New file.
56231         * tests/unistr/test-u16-stpcpy.c: New file.
56233         Tests for module 'unistr/u8-stpcpy'.
56234         * modules/unistr/u8-stpcpy-tests: New file.
56235         * tests/unistr/test-u8-stpcpy.c: New file.
56236         * tests/unistr/test-stpcpy.h: New file.
56238         Tests for module 'unistr/u32-strcpy'.
56239         * modules/unistr/u32-strcpy-tests: New file.
56240         * tests/unistr/test-u32-strcpy.c: New file.
56242         Tests for module 'unistr/u16-strcpy'.
56243         * modules/unistr/u16-strcpy-tests: New file.
56244         * tests/unistr/test-u16-strcpy.c: New file.
56246         Tests for module 'unistr/u8-strcpy'.
56247         * modules/unistr/u8-strcpy-tests: New file.
56248         * tests/unistr/test-u8-strcpy.c: New file.
56249         * tests/unistr/test-strcpy.h: New file.
56251         Tests for module 'unistr/u32-strnlen'.
56252         * modules/unistr/u32-strnlen-tests: New file.
56253         * tests/unistr/test-u32-strnlen.c: New file.
56255         Tests for module 'unistr/u16-strnlen'.
56256         * modules/unistr/u16-strnlen-tests: New file.
56257         * tests/unistr/test-u16-strnlen.c: New file.
56259         Tests for module 'unistr/u8-strnlen'.
56260         * modules/unistr/u8-strnlen-tests: New file.
56261         * tests/unistr/test-u8-strnlen.c: New file.
56262         * tests/unistr/test-strnlen.h: New file.
56264         Tests for module 'unistr/u32-strlen'.
56265         * modules/unistr/u32-strlen-tests: New file.
56266         * tests/unistr/test-u32-strlen.c: New file.
56268         Tests for module 'unistr/u16-strlen'.
56269         * modules/unistr/u16-strlen-tests: New file.
56270         * tests/unistr/test-u16-strlen.c: New file.
56272         Tests for module 'unistr/u8-strlen'.
56273         * modules/unistr/u8-strlen-tests: New file.
56274         * tests/unistr/test-u8-strlen.c: New file.
56276         Tests for module 'unistr/u32-prev'.
56277         * modules/unistr/u32-prev-tests: New file.
56278         * tests/unistr/test-u32-prev.c: New file.
56280         Tests for module 'unistr/u16-prev'.
56281         * modules/unistr/u16-prev-tests: New file.
56282         * tests/unistr/test-u16-prev.c: New file.
56284         Tests for module 'unistr/u8-prev'.
56285         * modules/unistr/u8-prev-tests: New file.
56286         * tests/unistr/test-u8-prev.c: New file.
56288         Tests for module 'unistr/u32-next'.
56289         * modules/unistr/u32-next-tests: New file.
56290         * tests/unistr/test-u32-next.c: New file.
56292         Tests for module 'unistr/u16-next'.
56293         * modules/unistr/u16-next-tests: New file.
56294         * tests/unistr/test-u16-next.c: New file.
56296         Tests for module 'unistr/u8-next'.
56297         * modules/unistr/u8-next-tests: New file.
56298         * tests/unistr/test-u8-next.c: New file.
56300         Tests for module 'unistr/u32-strmbtouc'.
56301         * modules/unistr/u32-strmbtouc-tests: New file.
56302         * tests/unistr/test-u32-strmbtouc.c: New file.
56304         Tests for module 'unistr/u16-strmbtouc'.
56305         * modules/unistr/u16-strmbtouc-tests: New file.
56306         * tests/unistr/test-u16-strmbtouc.c: New file.
56308         Tests for module 'unistr/u8-strmbtouc'.
56309         * modules/unistr/u8-strmbtouc-tests: New file.
56310         * tests/unistr/test-u8-strmbtouc.c: New file.
56312         Tests for module 'unistr/u32-strmblen'.
56313         * modules/unistr/u32-strmblen-tests: New file.
56314         * tests/unistr/test-u32-strmblen.c: New file.
56316         Tests for module 'unistr/u16-strmblen'.
56317         * modules/unistr/u16-strmblen-tests: New file.
56318         * tests/unistr/test-u16-strmblen.c: New file.
56320         Tests for module 'unistr/u8-strmblen'.
56321         * modules/unistr/u8-strmblen-tests: New file.
56322         * tests/unistr/test-u8-strmblen.c: New file.
56324         Tests for module 'unistr/u32-cpy-alloc'.
56325         * modules/unistr/u32-cpy-alloc-tests: New file.
56326         * tests/unistr/test-u32-cpy-alloc.c: New file.
56328         Tests for module 'unistr/u16-cpy-alloc'.
56329         * modules/unistr/u16-cpy-alloc-tests: New file.
56330         * tests/unistr/test-u16-cpy-alloc.c: New file.
56332         Tests for module 'unistr/u8-cpy-alloc'.
56333         * modules/unistr/u8-cpy-alloc-tests: New file.
56334         * tests/unistr/test-u8-cpy-alloc.c: New file.
56335         * tests/unistr/test-cpy-alloc.h: New file.
56337         Tests for module 'unistr/u32-mbsnlen'.
56338         * modules/unistr/u32-mbsnlen-tests: New file.
56339         * tests/unistr/test-u32-mbsnlen.c: New file.
56341         Tests for module 'unistr/u16-mbsnlen'.
56342         * modules/unistr/u16-mbsnlen-tests: New file.
56343         * tests/unistr/test-u16-mbsnlen.c: New file.
56345         Tests for module 'unistr/u8-mbsnlen'.
56346         * modules/unistr/u8-mbsnlen-tests: New file.
56347         * tests/unistr/test-u8-mbsnlen.c: New file.
56349         Tests for module 'unistr/u32-chr'.
56350         * modules/unistr/u32-chr-tests: New file.
56351         * tests/unistr/test-u32-chr.c: New file.
56353         Tests for module 'unistr/u16-chr'.
56354         * modules/unistr/u16-chr-tests: New file.
56355         * tests/unistr/test-u16-chr.c: New file.
56357         Tests for module 'unistr/u8-chr'.
56358         * modules/unistr/u8-chr-tests: New file.
56359         * tests/unistr/test-u8-chr.c: New file.
56360         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
56362         Tests for module 'unistr/u32-cmp2'.
56363         * modules/unistr/u32-cmp2-tests: New file.
56364         * tests/unistr/test-u32-cmp2.c: New file.
56366         Tests for module 'unistr/u16-cmp2'.
56367         * modules/unistr/u16-cmp2-tests: New file.
56368         * tests/unistr/test-u16-cmp2.c: New file.
56370         Tests for module 'unistr/u8-cmp2'.
56371         * modules/unistr/u8-cmp2-tests: New file.
56372         * tests/unistr/test-u8-cmp2.c: New file.
56373         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
56375         Tests for module 'unistr/u32-cmp'.
56376         * modules/unistr/u32-cmp-tests: New file.
56377         * tests/unistr/test-u32-cmp.c: New file.
56379         Tests for module 'unistr/u16-cmp'.
56380         * modules/unistr/u16-cmp-tests: New file.
56381         * tests/unistr/test-u16-cmp.c: New file.
56383         Tests for module 'unistr/u8-cmp'.
56384         * modules/unistr/u8-cmp-tests: New file.
56385         * tests/unistr/test-u8-cmp.c: New file.
56386         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
56388         Tests for module 'unistr/u32-set'.
56389         * modules/unistr/u32-set-tests: New file.
56390         * tests/unistr/test-u32-set.c: New file.
56392         Tests for module 'unistr/u16-set'.
56393         * modules/unistr/u16-set-tests: New file.
56394         * tests/unistr/test-u16-set.c: New file.
56396         Tests for module 'unistr/u8-set'.
56397         * modules/unistr/u8-set-tests: New file.
56398         * tests/unistr/test-u8-set.c: New file.
56399         * tests/unistr/test-set.h: New file.
56401         Tests for module 'unistr/u32-move'.
56402         * modules/unistr/u32-move-tests: New file.
56403         * tests/unistr/test-u32-move.c: New file.
56405         Tests for module 'unistr/u16-move'.
56406         * modules/unistr/u16-move-tests: New file.
56407         * tests/unistr/test-u16-move.c: New file.
56409         Tests for module 'unistr/u8-move'.
56410         * modules/unistr/u8-move-tests: New file.
56411         * tests/unistr/test-u8-move.c: New file.
56412         * tests/unistr/test-move.h: New file.
56414         Tests for module 'unistr/u32-cpy'.
56415         * modules/unistr/u32-cpy-tests: New file.
56416         * tests/unistr/test-u32-cpy.c: New file.
56418         Tests for module 'unistr/u16-cpy'.
56419         * modules/unistr/u16-cpy-tests: New file.
56420         * tests/unistr/test-u16-cpy.c: New file.
56422         Tests for module 'unistr/u8-cpy'.
56423         * modules/unistr/u8-cpy-tests: New file.
56424         * tests/unistr/test-u8-cpy.c: New file.
56425         * tests/unistr/test-cpy.h: New file.
56427 2010-01-09  Bruno Haible  <bruno@clisp.org>
56429         Tests for module 'unistr/u32-uctomb'.
56430         * modules/unistr/u32-uctomb-tests: New file.
56431         * tests/unistr/test-u32-uctomb.c: New file.
56433         Tests for module 'unistr/u16-uctomb'.
56434         * modules/unistr/u16-uctomb-tests: New file.
56435         * tests/unistr/test-u16-uctomb.c: New file.
56437         Tests for module 'unistr/u8-uctomb'.
56438         * modules/unistr/u8-uctomb-tests: New file.
56439         * tests/unistr/test-u8-uctomb.c: New file.
56441         Tests for module 'unistr/u32-mbtoucr'.
56442         * modules/unistr/u32-mbtoucr-tests: New file.
56443         * tests/unistr/test-u32-mbtoucr.c: New file.
56445         Tests for module 'unistr/u16-mbtoucr'.
56446         * modules/unistr/u16-mbtoucr-tests: New file.
56447         * tests/unistr/test-u16-mbtoucr.c: New file.
56449         Tests for module 'unistr/u8-mbtoucr'.
56450         * modules/unistr/u8-mbtoucr-tests: New file.
56451         * tests/unistr/test-u8-mbtoucr.c: New file.
56453         Tests for module 'unistr/u32-mbtouc'.
56454         * modules/unistr/u32-mbtouc-tests: New file.
56455         * tests/unistr/test-u32-mbtouc.c: New file.
56457         Tests for module 'unistr/u16-mbtouc'.
56458         * modules/unistr/u16-mbtouc-tests: New file.
56459         * tests/unistr/test-u16-mbtouc.c: New file.
56461         Tests for module 'unistr/u8-mbtouc'.
56462         * modules/unistr/u8-mbtouc-tests: New file.
56463         * tests/unistr/test-u8-mbtouc.c: New file.
56465         Tests for module 'unistr/u32-mbtouc-unsafe'.
56466         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
56467         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
56468         * tests/unistr/test-u32-mbtouc.h: New file.
56470         Tests for module 'unistr/u16-mbtouc-unsafe'.
56471         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
56472         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
56473         * tests/unistr/test-u16-mbtouc.h: New file.
56475         Tests for module 'unistr/u8-mbtouc-unsafe'.
56476         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
56477         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
56478         * tests/unistr/test-u8-mbtouc.h: New file.
56480         Tests for module 'unistr/u32-mblen'.
56481         * modules/unistr/u32-mblen-tests: New file.
56482         * tests/unistr/test-u32-mblen.c: New file.
56484         Tests for module 'unistr/u16-mblen'.
56485         * modules/unistr/u16-mblen-tests: New file.
56486         * tests/unistr/test-u16-mblen.c: New file.
56488         Tests for module 'unistr/u8-mblen'.
56489         * modules/unistr/u8-mblen-tests: New file.
56490         * tests/unistr/test-u8-mblen.c: New file.
56492         Tests for module 'unistr/u32-to-u16'.
56493         * modules/unistr/u32-to-u16-tests: New file.
56494         * tests/unistr/test-u32-to-u16.c: New file.
56496         Tests for module 'unistr/u32-to-u8'.
56497         * modules/unistr/u32-to-u8-tests: New file.
56498         * tests/unistr/test-u32-to-u8.c: New file.
56500         Tests for module 'unistr/u16-to-u32'.
56501         * modules/unistr/u16-to-u32-tests: New file.
56502         * tests/unistr/test-u16-to-u32.c: New file.
56504         Tests for module 'unistr/u16-to-u8'.
56505         * modules/unistr/u16-to-u8-tests: New file.
56506         * tests/unistr/test-u16-to-u8.c: New file.
56508         Tests for module 'unistr/u8-to-u32'.
56509         * modules/unistr/u8-to-u32-tests: New file.
56510         * tests/unistr/test-u8-to-u32.c: New file.
56512         Tests for module 'unistr/u8-to-u16'.
56513         * modules/unistr/u8-to-u16-tests: New file.
56514         * tests/unistr/test-u8-to-u16.c: New file.
56516         Tests for module 'unistr/u32-check'.
56517         * modules/unistr/u32-check-tests: New file.
56518         * tests/unistr/test-u32-check.c: New file.
56520         Tests for module 'unistr/u16-check'.
56521         * modules/unistr/u16-check-tests: New file.
56522         * tests/unistr/test-u16-check.c: New file.
56524         Tests for module 'unistr/u8-check'.
56525         * modules/unistr/u8-check-tests: New file.
56526         * tests/unistr/test-u8-check.c: New file.
56528         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
56529         (category_equals): New function.
56530         (main): Add more tests.
56531         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
56533         * tests/unictype/test-bidi_byname.c (main): Add more tests.
56535 2010-01-10  Bruno Haible  <bruno@clisp.org>
56537         unistr/u*-strcoll: Try harder to distinguish different strings.
56538         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
56539         compare s1 and s2 to see if they are different.
56541 2010-01-10  Bruno Haible  <bruno@clisp.org>
56543         unistr/u*-stpncpy: Fix the return value.
56544         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
56545         description of the return value consistent with stpncpy in glibc.
56546         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
56547         written non-NUL unit.
56549 2010-01-10  Bruno Haible  <bruno@clisp.org>
56551         unistr/u*-next: Add missing dependencies.
56552         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
56553         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
56554         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
56556 2010-01-10  Bruno Haible  <bruno@clisp.org>
56558         unistr/u8-mbsnlen: Fix return value for incomplete character.
56559         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
56560         u8_mblen.
56561         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
56562         Remove unistr/u8-mblen.
56563         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
56564         u16_mblen.
56565         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
56566         Remove unistr/u16-mblen.
56568 2010-01-10  Bruno Haible  <bruno@clisp.org>
56570         wchar: Fix compilation error when <wchar.h> is used from coreutils.
56571         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
56572         Reported by Brian Gough <bjg@gnu.org> and
56573         Chris Clayton <chris2553@googlemail.com> via
56574         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
56576 2010-01-09  Bruno Haible  <bruno@clisp.org>
56578         unistr/u16-to-u32: Reject invalid input.
56579         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
56580         u16_mbtouc.
56581         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
56582         Remove unistr/u16-mbtouc.
56584         unistr/u16-to-u8: Reject invalid input.
56585         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
56586         u16_mbtouc.
56587         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
56588         Remove unistr/u16-mbtouc.
56590         unistr/u8-to-u32: Reject invalid input.
56591         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
56592         u8_mbtouc.
56593         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
56594         Remove unistr/u8-mbtouc.
56596         unistr/u8-to-u16: Reject invalid input.
56597         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
56598         u8_mbtouc.
56599         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
56600         Remove unistr/u8-mbtouc.
56602 2010-01-09  Bruno Haible  <bruno@clisp.org>
56604         Tests for module 'getlogin'.
56605         * modules/getlogin-tests: New file.
56606         * tests/test-getlogin.c: New file.
56608         New module 'getlogin'.
56609         * lib/unistd.in.h (getlogin): New declaration.
56610         * lib/getlogin.c: New file.
56611         * m4/getlogin.m4: New file.
56612         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
56613         HAVE_GETLOGIN.
56614         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
56615         HAVE_GETLOGIN.
56616         * modules/getlogin: New file.
56617         * doc/posix-functions/getlogin.texi: Mention the new module.
56618         Reported by John W. Eaton <jwe@gnu.org>.
56620 2010-01-09  Bruno Haible  <bruno@clisp.org>
56622         getlogin_r: Support for native Windows.
56623         * lib/getlogin_r.c: Include <windows.h>
56624         (getlogin_r): Implement for native Windows.
56625         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
56626         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
56627         via John W. Eaton <jwe@gnu.org>.
56629 2010-01-09  Bruno Haible  <bruno@clisp.org>
56631         getlogin_r: Small fixes.
56632         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
56633         succeeds.
56634         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
56635         before testing whether getlogin_r is declared. No need to set
56636         HAVE_DECL_GETLOGIN_R to 1.
56637         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
56639 2010-01-09  Bruno Haible  <bruno@clisp.org>
56641         * lib/unistd.in.h (getlogin_r): Add comment.
56643 2010-01-09  Bruno Haible  <bruno@clisp.org>
56645         Tests for module 'getlogin_r'.
56646         * modules/getlogin_r-tests: New file.
56647         * tests/test-getlogin_r.c: New file.
56649 2010-01-09  Jim Meyering  <meyering@redhat.com>
56651         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
56652         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
56653         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
56655 2010-01-08  Simon Josefsson  <simon@josefsson.org>
56657         * lib/dup2.c (rpl_dup2): Improve comment.
56659 2010-01-08  Eric Blake  <ebb9@byu.net>
56661         maint.mk: allow packages to add makefile @@ exceptions
56662         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
56663         (sc_makefile_check): Rename...
56664         (sc_makefile_at_at_check): ...to this, and use hook.
56666         dup2: work around mingw bug
56667         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
56668         Reported by Simon Josefsson.
56670 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
56672         glob: Fix C++ compilation.
56673         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
56674         C++.
56676 2010-01-07  Bruno Haible  <bruno@clisp.org>
56678         Fix indentation of wctype.in.h, broken since 2007-01-06.
56679         * lib/wctype.in.h: Fix indentation of preprocessor directives.
56681 2010-01-07  Bruno Haible  <bruno@clisp.org>
56683         mbslen: Avoid collision with system function.
56684         * lib/string.in.h [MirBSD]: Include <wchar.h>.
56685         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
56686         * m4/mbslen.m4: New file.
56687         * modules/mbslen (Files): Add it.
56688         (configure.ac): Invoke gl_MBSLEN.
56689         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
56690         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
56691         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
56692         via Ian Beckwith <ianb@erislabs.net>.
56694 2010-01-07  Bruno Haible  <bruno@clisp.org>
56696         dirent: Document the last fix.
56697         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
56699 2010-01-07  Bruno Haible  <bruno@clisp.org>
56701         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
56702         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
56703         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
56704         va_list are defined.
56705         * doc/posix-headers/stdio.texi: Document the bug of missing types.
56706         Reported by Eric Blake.
56708 2010-01-07  Bruno Haible  <bruno@clisp.org>
56710         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
56711         * modules/xlist (Depends-on): Add 'list',
56712         * modules/xoset (Depends-on): Add 'oset'.
56713         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56715 2010-01-07  Bruno Haible  <bruno@clisp.org>
56717         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
56718         * doc/posix-functions/strncasecmp.texi: Likewise.
56720 2010-01-07  Bruno Haible  <bruno@clisp.org>
56722         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
56724 2010-01-07  John W. Eaton  <jwe@octave.org>
56726         wctype: allow C++ use
56727         * lib/wctype.in.h: Add extern "C" block for C++.
56729 2010-01-06  Eric Blake  <ebb9@byu.net>
56731         maint.mk: detect incorrect GFDL usage
56732         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
56734 2010-01-06  Jim Meyering  <meyering@redhat.com>
56735         and Eric Blake  <ebb9@byu.net>
56737         maint.mk: ignore multi-line copyright in NEWS
56738         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
56740 2010-01-06  Eric Blake  <ebb9@byu.net>
56742         select: add missing dependency
56743         * modules/select-tests (Depends-on): Move sockets dependency...
56744         * modules/select (Depends-on): ...here.
56745         Reported by Ian Beckwith.
56747         doc: regenerate INSTALL
56748         * doc/INSTALL: Reflect recent autoconf update.
56749         * doc/INSTALL.ISO: Likewise.
56750         * doc/INSTALL.UTF-8: Likewise.
56752         pread: fix compilation on glibc
56753         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
56754         Reported by Ralf Wildenhues.
56756         dirent: fix test failure
56757         * lib/dirent.in.h (includes): Guarantee ino_t.
56758         Reported by Ralf Wildenhues.
56760 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
56762         linkat, renameat: avoid bad free
56763         * lib/at-func2.c (at_func2): Fix typo.
56764         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
56766 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56768         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
56769         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
56770         to avoid failure of symlink test later.
56772 2010-01-06  Eric Blake  <ebb9@byu.net>
56774         stdio, unistd: guarantee ssize_t
56775         * lib/unistd.in.h (includes): Ensure that types required by POSIX
56776         2008 are exposed when needed.
56777         * lib/stdio.in.h (includes): Likewise.
56778         Reported by Ralf Wildenhues.
56780 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
56782         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
56783         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
56784         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
56786 2010-01-06  Jim Meyering  <meyering@redhat.com>
56788         readtokens: this module *does* require xalloc.h
56789         It uses only functions that were omitted by the old syntax-check rule.
56790         * lib/readtokens.c: Include "xalloc.h" once again.
56791         * modules/readtokens (Depends-on): Add xalloc.
56792         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
56794 2010-01-05  Eric Blake  <ebb9@byu.net>
56796         maint: support 'make announcement' from a VPATH build
56797         * top/maint.mk (announcement): Look for correct NEWS file.
56799 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
56801         utimens (fdutimens): ignore a negative FD, per contract
56802         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
56803         when we have a valid file descriptor.  Otherwise, using a brand
56804         new glibc (with just-patched futimens that now fails with EBADF)
56805         would cause this function to fail with ENOSYS.
56806         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
56807         See also http://bugzilla.redhat.com/552320.
56809 2010-01-05  Eric Blake  <ebb9@byu.net>
56811         strcase: document what it provides
56812         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
56813         gnulib module.
56814         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
56815         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
56817 2010-01-05  Jim Meyering  <meyering@redhat.com>
56819         maint: remove useless inclusions of "xalloc.h"
56820         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
56821         * lib/readtokens.c: Likewise.
56822         * lib/same.c: Likewise.
56823         * modules/getloadavg (Depends-on): Remove xalloc.
56824         * modules/readtokens: Likewise.
56825         * modules/same: Likewise.
56827         maint.mk: include 4 more function names in alloca.h-checking regexp
56828         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
56829         regexp.  Before, we would give a false-positive (saying alloca.h
56830         is included unnecessarily) when the only uses involved omitted symbols.
56832         xalloc.h: use consistent formatting
56833         * lib/xalloc.h: Move declarations to start in the first column.
56835 2010-01-05  Eric Blake  <ebb9@byu.net>
56837         mkdir: avoid xalloc
56838         * lib/mkdir.c (includes): Drop unused header.
56839         Reported by John W. Eaton.
56841 2010-01-04  Jim Meyering  <meyering@redhat.com>
56843         nl_langinfo: avoid configure-time syntax error
56844         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
56845         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
56846         the empty string.  Don't let that provoke a shell syntax error.
56848         regcomp, regexec, fnmatch: avoid array bounds read error
56849         * lib/regcomp.c (build_equiv_class): From glibc:
56850         Use only the low 24 bits of a findidx return value as an index
56851         into the weights array.  Patch by Ulrich Drepper:
56852         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
56853         * lib/regexec.c (check_node_accept_bytes): Likewise.
56854         * lib/fnmatch_loop.c (FCT): Likewise.
56856         regcomp: skip collseq lookup when there are no rules
56857         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
56858         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
56860         regcomp: recognize ill-formed { } expressions
56861         * lib/regcomp.c (parse_dup_op): From glibc:
56862         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
56864         regcomp: fix typo in comment
56865         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
56866         s/satisfy/satisfies/.
56868         regcomp: sync from glibc: remove dead store
56869         * lib/regcomp.c (duplicate_node_closure): Remove useless
56870         search_duplicated_node call and dead store.
56872         regcomp: sync from glibc; always use nl_langinfo
56873         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
56874         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
56875         * modules/regex (Depends-on): Add nl_langinfo.
56877 2010-01-04  Eric Blake  <ebb9@byu.net>
56879         fdopendir: fix configure test
56880         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
56882 2010-01-01  Bruno Haible  <bruno@clisp.org>
56884         wchar: Remove unused configure check.
56885         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
56887 2010-01-01  Eric Blake  <ebb9@byu.net>
56889         headers: make check of system header explicit
56890         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
56891         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
56892         ourselves.
56893         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
56894         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
56895         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
56896         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
56897         internals.
56898         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
56899         missing.
56900         Suggested by Bruno Haible.
56902 2010-01-01  Jim Meyering  <meyering@redhat.com>
56904         ChangeLog: tweak to eliminate unnecessary copyright line
56905         * ChangeLog: Remove a copyright line that was mistakenly updated
56906         by today's update-copyright run.  Reported by Eric Blake.
56908         test-update-copyright: don't let envvar setting cause test failure
56909         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
56911 2010-01-01  Bruno Haible  <bruno@clisp.org>
56913         localename: Avoid gcc warning.
56914         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
56915         function if it is not used.
56917 2010-01-01  Jim Meyering  <meyering@redhat.com>
56919         update nearly all FSF copyright year lists to include 2010
56920         Use the same procedure as for 2009, outlined in
56921         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
56923         version-etc: set COPYRIGHT_YEAR to 2010
56924         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
56926 2009-12-31  Eric Blake  <ebb9@byu.net>
56928         doc: correct availability of cygwin 1.5.x getopt
56929         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
56930         variables.
56931         * doc/posix-functions/opterr.texi (opterr): Likewise.
56932         * doc/posix-functions/optind.texi (optind): Likewise.
56933         * doc/posix-functions/optopt.texi (optopt): Likewise.
56934         * doc/posix-functions/tzname.texi (tzname): Likewise.
56936         openat: update maintainer
56937         * modules/openat (Maintainer): Add myself.
56939         utimens: avoid shadowing warning
56940         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
56941         buffers into one, to avoid shadowing, as well as avoiding a
56942         redundant stat.
56943         Reported by Jim Meyering.
56945         test-dup2: avoid compiler warning
56946         * tests/test-dup2.c (is_inheritable): Only define if used.
56948 2010-01-01  Bruno Haible  <bruno@clisp.org>
56950         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
56951         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
56952         defined, use wctomb instead of wcrtomb.
56954 2010-01-01  Bruno Haible  <bruno@clisp.org>
56956         iconv: Reject native Solaris iconv.
56957         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
56958         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
56960 2009-12-31  Bruno Haible  <bruno@clisp.org>
56962         * tests/test-signal.c (main): Remove test of 'SIG'.
56964 2009-12-31  Bruno Haible  <bruno@clisp.org>
56966         spawn: Fix incomplete fix.
56967         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
56968         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
56969         warnings for GNULIB_POSIXCHECK again.
56970         Reported by Eric Blake.
56972 2009-12-31  Bruno Haible  <bruno@clisp.org>
56974         Avoid namespace pollution on glibc systems.
56975         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
56976         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
56977         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
56978         glibc systems.
56980 2009-12-31  Bruno Haible  <bruno@clisp.org>
56982         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
56983         (gl_REPLACE_WCHAR_H): Turn into a no-op.
56984         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
56985         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
56986         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
56987         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
56988         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
56990 2009-12-31  Bruno Haible  <bruno@clisp.org>
56992         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
56993         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
56994         afterwards.
56996 2009-12-31  Bruno Haible  <bruno@clisp.org>
56998         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
56999         SYS_UTSNAME_H.
57001 2009-12-31  Bruno Haible  <bruno@clisp.org>
57003         spawn: Fix misapplied patch.
57004         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
57005         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
57006         warnings for GNULIB_POSIXCHECK.
57008 2009-12-31  Bruno Haible  <bruno@clisp.org>
57010         times: Update after sys_times changed.
57011         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
57012         * modules/times (Files): Add it.
57013         (configure.ac): Invoke gl_FUNC_TIMES.
57015 2009-12-31  Bruno Haible  <bruno@clisp.org>
57017         Use AC_C_INLINE where necessary.
57018         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
57019         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
57020         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
57021         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
57022         * m4/mbfile.m4 (gl_MBFILE): Likewise.
57023         * m4/mbiter.m4 (gl_MBITER): Likewise.
57024         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
57025         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
57026         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
57027         * modules/u64 (configure.ac): Likewise.
57029 2009-12-31  Bruno Haible  <bruno@clisp.org>
57031         Use AC_C_INLINE instead of module 'inline' where possible.
57032         * modules/inline (Description): Clarify purpose.
57033         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
57034         * modules/count-one-bits (Depends-on): Remove inline.
57035         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
57036         * modules/openat (Depends-on): Remove inline.
57037         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
57038         instead of depending on module 'inline'.
57039         * modules/filevercmp (Depends-on, configure.ac): Likewise.
57040         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
57041         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
57042         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
57043         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
57044         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
57045         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
57046         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
57047         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
57048         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
57049         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
57050         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
57051         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
57052         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
57053         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
57054         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
57055         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
57056         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
57057         Likewise.
57058         * modules/unictype/property-ascii-hex-digit (Depends-on,
57059         configure.ac): Likewise.
57060         * modules/unictype/property-bidi-arabic-digit (Depends-on,
57061         configure.ac): Likewise.
57062         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
57063         configure.ac): Likewise.
57064         * modules/unictype/property-bidi-block-separator (Depends-on,
57065         configure.ac): Likewise.
57066         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
57067         configure.ac): Likewise.
57068         * modules/unictype/property-bidi-common-separator (Depends-on,
57069         configure.ac): Likewise.
57070         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
57071         Likewise.
57072         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
57073         configure.ac): Likewise.
57074         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
57075         configure.ac): Likewise.
57076         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
57077         configure.ac): Likewise.
57078         * modules/unictype/property-bidi-european-digit (Depends-on,
57079         configure.ac): Likewise.
57080         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
57081         configure.ac): Likewise.
57082         * modules/unictype/property-bidi-left-to-right (Depends-on,
57083         configure.ac): Likewise.
57084         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
57085         configure.ac): Likewise.
57086         * modules/unictype/property-bidi-other-neutral (Depends-on,
57087         configure.ac): Likewise.
57088         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
57089         Likewise.
57090         * modules/unictype/property-bidi-segment-separator (Depends-on,
57091         configure.ac): Likewise.
57092         * modules/unictype/property-bidi-whitespace (Depends-on,
57093         configure.ac): Likewise.
57094         * modules/unictype/property-combining (Depends-on, configure.ac):
57095         Likewise.
57096         * modules/unictype/property-composite (Depends-on, configure.ac):
57097         Likewise.
57098         * modules/unictype/property-currency-symbol (Depends-on,
57099         configure.ac): Likewise.
57100         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
57101         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
57102         Likewise.
57103         * modules/unictype/property-default-ignorable-code-point (Depends-on,
57104         configure.ac): Likewise.
57105         * modules/unictype/property-deprecated (Depends-on, configure.ac):
57106         Likewise.
57107         * modules/unictype/property-diacritic (Depends-on, configure.ac):
57108         Likewise.
57109         * modules/unictype/property-extender (Depends-on, configure.ac):
57110         Likewise.
57111         * modules/unictype/property-format-control (Depends-on, configure.ac):
57112         Likewise.
57113         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
57114         Likewise.
57115         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
57116         Likewise.
57117         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
57118         Likewise.
57119         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
57120         Likewise.
57121         * modules/unictype/property-hyphen (Depends-on, configure.ac):
57122         Likewise.
57123         * modules/unictype/property-id-continue (Depends-on, configure.ac):
57124         Likewise.
57125         * modules/unictype/property-id-start (Depends-on, configure.ac):
57126         Likewise.
57127         * modules/unictype/property-ideographic (Depends-on, configure.ac):
57128         Likewise.
57129         * modules/unictype/property-ids-binary-operator (Depends-on,
57130         configure.ac): Likewise.
57131         * modules/unictype/property-ids-trinary-operator (Depends-on,
57132         configure.ac): Likewise.
57133         * modules/unictype/property-ignorable-control (Depends-on,
57134         configure.ac): Likewise.
57135         * modules/unictype/property-iso-control (Depends-on, configure.ac):
57136         Likewise.
57137         * modules/unictype/property-join-control (Depends-on, configure.ac):
57138         Likewise.
57139         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
57140         Likewise.
57141         * modules/unictype/property-line-separator (Depends-on, configure.ac):
57142         Likewise.
57143         * modules/unictype/property-logical-order-exception (Depends-on,
57144         configure.ac): Likewise.
57145         * modules/unictype/property-lowercase (Depends-on, configure.ac):
57146         Likewise.
57147         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
57148         * modules/unictype/property-non-break (Depends-on, configure.ac):
57149         Likewise.
57150         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
57151         Likewise.
57152         * modules/unictype/property-numeric (Depends-on, configure.ac):
57153         Likewise.
57154         * modules/unictype/property-other-alphabetic (Depends-on,
57155         configure.ac): Likewise.
57156         * modules/unictype/property-other-default-ignorable-code-point
57157         (Depends-on, configure.ac): Likewise.
57158         * modules/unictype/property-other-grapheme-extend (Depends-on,
57159         configure.ac): Likewise.
57160         * modules/unictype/property-other-id-continue (Depends-on,
57161         configure.ac): Likewise.
57162         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
57163         Likewise.
57164         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
57165         Likewise.
57166         * modules/unictype/property-other-math (Depends-on, configure.ac):
57167         Likewise.
57168         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
57169         Likewise.
57170         * modules/unictype/property-paired-punctuation (Depends-on,
57171         configure.ac): Likewise.
57172         * modules/unictype/property-paragraph-separator (Depends-on,
57173         configure.ac): Likewise.
57174         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
57175         Likewise.
57176         * modules/unictype/property-pattern-white-space (Depends-on,
57177         configure.ac): Likewise.
57178         * modules/unictype/property-private-use (Depends-on, configure.ac):
57179         Likewise.
57180         * modules/unictype/property-punctuation (Depends-on, configure.ac):
57181         Likewise.
57182         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
57183         Likewise.
57184         * modules/unictype/property-radical (Depends-on, configure.ac):
57185         Likewise.
57186         * modules/unictype/property-sentence-terminal (Depends-on,
57187         configure.ac): Likewise.
57188         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
57189         Likewise.
57190         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
57191         * modules/unictype/property-terminal-punctuation (Depends-on,
57192         configure.ac): Likewise.
57193         * modules/unictype/property-titlecase (Depends-on, configure.ac):
57194         Likewise.
57195         * modules/unictype/property-unassigned-code-value (Depends-on,
57196         configure.ac): Likewise.
57197         * modules/unictype/property-unified-ideograph (Depends-on,
57198         configure.ac): Likewise.
57199         * modules/unictype/property-uppercase (Depends-on, configure.ac):
57200         Likewise.
57201         * modules/unictype/property-variation-selector (Depends-on,
57202         configure.ac): Likewise.
57203         * modules/unictype/property-white-space (Depends-on, configure.ac):
57204         Likewise.
57205         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
57206         Likewise.
57207         * modules/unictype/property-xid-start (Depends-on, configure.ac):
57208         Likewise.
57209         * modules/unictype/property-zero-width (Depends-on, configure.ac):
57210         Likewise.
57211         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
57212         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
57213         Likewise.
57215 2009-12-31  Bruno Haible  <bruno@clisp.org>
57217         Remove unnecessary AC_C_INLINE invocation.
57218         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
57219         since 2009-08-21.
57221 2009-12-31  Jim Meyering  <meyering@redhat.com>
57223         maint.mk: don't require explicit gpg_key_ID in cfg.mk
57224         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
57225         With this change, we can all remove the gpg_key_ID = ... definition
57226         from our respective cfg.mk files.
57228         maint.mk: create announcement template in ~/, not in /tmp
57229         * top/maint.mk (emit_upload_commands): Adjust.
57230         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
57231         Remove temporary file, .ci-msg.
57233 2009-12-31  Eric Blake  <ebb9@byu.net>
57235         link-warning: always build headers with link warnings
57236         * modules/arpa_inet (Makefile.am): Always build replacement
57237         header.
57238         * modules/ctype (Makefile.am): Likewise.
57239         * modules/dirent (Makefile.am): Likewise.
57240         * modules/inttypes (Makefile.am): Likewise.
57241         * modules/langinfo (Makefile.am): Likewise.
57242         * modules/locale (Makefile.am): Likewise.
57243         * modules/spawn (Makefile.am): Likewise.
57244         * modules/sys_file (Makefile.am): Likewise.
57245         * modules/sys_ioctl (Makefile.am): Likewise.
57246         * modules/sys_select (Makefile.am): Likewise.
57247         * modules/sys_socket (Makefile.am): Likewise.
57248         * modules/sys_times (Makefile.am): Likewise.
57249         * modules/sys_utsname (Makefile.am): Likewise.
57250         * modules/sys_wait (Makefile.am): Likewise.
57251         * modules/wchar (Makefile.am): Likewise.
57252         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
57253         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
57254         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
57255         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
57256         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
57257         Likewise.
57258         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
57259         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
57260         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
57261         Likewise.
57262         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
57263         Likewise.
57264         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
57265         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
57266         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
57267         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
57268         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
57269         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
57270         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
57271         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
57272         (gl_WCHAR_H_DEFAULTS): Likewise.
57274 2009-12-31  Eric Blake  <ebb9@byu.net>
57276         signal, spawn: use link warnings
57277         * lib/signal.in.h (sigset_t): Make unconditional.
57278         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
57279         (sigpending, sigprocmask, sigaction): Add link warnings.
57280         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
57281         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
57282         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
57283         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
57284         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
57285         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
57286         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
57287         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
57288         (posix_spawn_file_actions_destroy)
57289         (posix_spawn_file_actions_addopen)
57290         (posix_spawn_file_actions_addclose)
57291         (posix_spawn_file_actions_adddup2): Likewise.
57292         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
57293         * tests/test-signal.c (main): Enhance test.
57295         spawn: improve wrapper support
57296         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
57297         (gl_SPAWN_H_DEFAULTS): New defaults.
57298         * modules/spawn (Makefile.am): Substitute them.
57299         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
57300         Only declare if missing or broken.
57302         sys_times, sys_utsname: use include_next
57303         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
57304         header.
57305         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
57306         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
57307         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
57308         * modules/sys_times (Depends-on): Add include_next.
57309         (Makefile.am): Substitute additional values.
57310         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
57311         * lib/sys_times.in.h (includes): Include native header, if
57312         available.
57313         * lib/sys_utsname.in.h (includes): Likewise.
57314         * tests/test-sys_times.c (main): Enhance test.
57316         fdutimensat: revert prior patch
57317         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
57318         utimens.h.
57319         Reported by Bruno Haible.
57321 2009-12-30  Eric Blake  <ebb9@byu.net>
57323         sys_wait: drop link-warning dependency
57324         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
57325         link-warning efforts.
57326         * lib/sys_wait.in.h: Likewise.
57328         fdutimensat: remove bogus dependency
57329         * modules/fdutimensat (Depends-on): Drop inline.
57331         unistd: fix typo
57332         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
57334 2009-12-30  Bruno Haible  <bruno@clisp.org>
57336         Fix compilation error with Solaris cc.
57337         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
57338         * lib/unicase/u16-is-invariant.c: Likewise.
57339         * lib/unicase/u32-is-invariant.c: Likewise.
57340         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
57342 2009-12-30  Bruno Haible  <bruno@clisp.org>
57344         Fix test crash.
57345         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
57346         locales.
57347         Reported by Simon Josefsson <simon@josefsson.org>.
57349 2009-12-30  Bruno Haible  <bruno@clisp.org>
57351         Fix compilation error on most platforms.
57352         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
57353         Reported by Simon Josefsson <simon@josefsson.org>
57354         and Nelson H. F. Beebe <beebe@math.utah.edu>.
57356 2009-12-30  Eric Blake  <ebb9@byu.net>
57358         futimens, utimensat: work around ntfs-3g bug
57359         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
57360         a ctime bug is present, and expand workaround to cover ntfs-3g.
57361         * lib/utimens.c (fdutimens, lutimens): Likewise.
57362         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
57363         (validate_timespec): Adjust return value.
57364         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
57365         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
57366         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
57368 2009-12-29  Eric Blake  <ebb9@byu.net>
57370         link-warning: make usage consistent
57371         * modules/ctype (Depends-on): Add link-warning.
57372         (Makefile.am): Update rules accordingly.
57373         * modules/langinfo (Depends-on, Makefile.am): Likewise.
57374         * modules/locale (Depends-on, Makefile.am): Likewise.
57375         * modules/sys_file (Makefile.am): Likewise.
57376         * modules/getopt-posix (Makefile.am): Delete unused link warning
57377         efforts.
57378         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
57379         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
57380         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
57381         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
57383         stdio: remove unused variables
57384         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
57385         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
57386         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
57388         tests: test more substitute headers
57389         * modules/ctype-tests: New file.
57390         * modules/dirent-tests: Likewise.
57391         * modules/spawn-tests: Likewise.
57392         * modules/sys_file-tests: Likewise.
57393         * modules/sys_ioctl-tests: Likewise.
57394         * modules/sys_wait-tests: Likewise.
57395         * tests/test-ctype.c: Likewise.
57396         * tests/test-dirent.c: Likewise.
57397         * tests/test-spawn.c: Likewise.
57398         * tests/test-sys_file.c: Likewise.
57399         * tests/test-sys_ioctl.c: Likewise.
57400         * tests/test-sys_wait.c: Likewise.
57401         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
57402         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
57403         whether or not flock is in use.
57405         tests: remove License section from module
57406         * modules/arpa_inet-tests: Remove unneeded section.
57407         * modules/byteswap-tests: Likewise.
57408         * modules/ceilf-tests: Likewise.
57409         * modules/ceill-tests: Likewise.
57410         * modules/crypto/des-tests: Likewise.
57411         * modules/crypto/gc-arcfour-tests: Likewise.
57412         * modules/crypto/gc-arctwo-tests: Likewise.
57413         * modules/crypto/gc-des-tests: Likewise.
57414         * modules/crypto/gc-hmac-md5-tests: Likewise.
57415         * modules/crypto/gc-hmac-sha1-tests: Likewise.
57416         * modules/crypto/gc-md2-tests: Likewise.
57417         * modules/crypto/gc-md4-tests: Likewise.
57418         * modules/crypto/gc-md5-tests: Likewise.
57419         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
57420         * modules/crypto/gc-rijndael-tests: Likewise.
57421         * modules/crypto/gc-sha1-tests: Likewise.
57422         * modules/crypto/gc-tests: Likewise.
57423         * modules/crypto/md2-tests: Likewise.
57424         * modules/crypto/md4-tests: Likewise.
57425         * modules/fcntl-h-tests: Likewise.
57426         * modules/floorf-tests: Likewise.
57427         * modules/floorl-tests: Likewise.
57428         * modules/frexp-nolibm-tests: Likewise.
57429         * modules/frexp-tests: Likewise.
57430         * modules/frexpl-nolibm-tests: Likewise.
57431         * modules/frexpl-tests: Likewise.
57432         * modules/getaddrinfo-tests: Likewise.
57433         * modules/inttypes-tests: Likewise.
57434         * modules/isfinite-tests: Likewise.
57435         * modules/isinf-tests: Likewise.
57436         * modules/ldexpl-tests: Likewise.
57437         * modules/locale-tests: Likewise.
57438         * modules/math-tests: Likewise.
57439         * modules/netdb-tests: Likewise.
57440         * modules/netinet_in-tests: Likewise.
57441         * modules/printf-frexp-tests: Likewise.
57442         * modules/printf-frexpl-tests: Likewise.
57443         * modules/priv-set-tests: Likewise.
57444         * modules/random_r-tests: Likewise.
57445         * modules/round-tests: Likewise.
57446         * modules/roundf-tests: Likewise.
57447         * modules/roundl-tests: Likewise.
57448         * modules/search-tests: Likewise.
57449         * modules/select-tests: Likewise.
57450         * modules/signal-tests: Likewise.
57451         * modules/stdbool-tests: Likewise.
57452         * modules/stddef-tests: Likewise.
57453         * modules/stdint-tests: Likewise.
57454         * modules/stdio-tests: Likewise.
57455         * modules/stdlib-tests: Likewise.
57456         * modules/string-tests: Likewise.
57457         * modules/strings-tests: Likewise.
57458         * modules/sys_select-tests: Likewise.
57459         * modules/sys_socket-tests: Likewise.
57460         * modules/sys_stat-tests: Likewise.
57461         * modules/sys_time-tests: Likewise.
57462         * modules/sys_utsname-tests: Likewise.
57463         * modules/sysexits-tests: Likewise.
57464         * modules/time-tests: Likewise.
57465         * modules/trunc-tests: Likewise.
57466         * modules/truncf-tests: Likewise.
57467         * modules/truncl-tests: Likewise.
57468         * modules/tsearch-tests: Likewise.
57469         * modules/unistd-tests: Likewise.
57470         * modules/wchar-tests: Likewise.
57471         * modules/wctype-tests: Likewise.
57473         tests: fix license on several tests
57474         * tests/test-des.c: Update to GPLv3+.
57475         * tests/test-flock.c: Likewise.
57476         * tests/test-fsync.c: Likewise.
57477         * tests/test-futimens.h: Likewise.
57478         * tests/test-gc-arcfour.c: Likewise.
57479         * tests/test-gc-arctwo.c: Likewise.
57480         * tests/test-gc-des.c: Likewise.
57481         * tests/test-gc-hmac-md5.c: Likewise.
57482         * tests/test-gc-hmac-sha1.c: Likewise.
57483         * tests/test-gc-md2.c: Likewise.
57484         * tests/test-gc-md4.c: Likewise.
57485         * tests/test-gc-md5.c: Likewise.
57486         * tests/test-gc-pbkdf2-sha1.c: Likewise.
57487         * tests/test-gc-rijndael.c: Likewise.
57488         * tests/test-gc-sha1.c: Likewise.
57489         * tests/test-gc.c: Likewise.
57490         * tests/test-getcwd.c: Likewise.
57491         * tests/test-link.c: Likewise.
57492         * tests/test-link.h: Likewise.
57493         * tests/test-lutimens.h: Likewise.
57494         * tests/test-md2.c: Likewise.
57495         * tests/test-md4.c: Likewise.
57496         * tests/test-mkdir.h: Likewise.
57497         * tests/test-rename.c: Likewise.
57498         * tests/test-rename.h: Likewise.
57499         * tests/test-safe-alloc.c: Likewise.
57500         * tests/test-utimens-common.h: Likewise.
57501         * tests/test-utimens.h: Likewise.
57503         maint: sync license texts
57504         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
57505         * doc/gpl-3.0.texi: Revert copyright year update.
57506         * doc/lgpl-3.0.texi: Likewise.
57508 2009-12-29  Jim Meyering  <meyering@redhat.com>
57510         update nearly all FSF copyright year lists to include 2009
57511         The files named by the following are exempted:
57512             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
57513               test -f "$dst" && { echo "$dst"; continue; }
57514               test -d "$dst" || continue
57515               echo "$dst"/$(basename "$src")
57516             done > exempt
57517             git ls-files tests/unictype >> exempt
57518         In the remaining files, convert to all-interval notation if
57519         - there is already at least one year interval like 2000-2003
57520         - the file is maintained by me
57521         - the file is in lib/uni*/, where that style already prevails
57522         Otherwise, use update-copyright's default.
57524 2009-12-29  Simon Josefsson  <simon@josefsson.org>
57525         and Eric Blake  <ebb9@byu.net>
57527         tests: don't require debug system() to pass
57528         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
57529         * tests/test-rmdir.h (test_rmdir_func): Likewise.
57530         * tests/test-unlink.h (test_unlink_func): Likewise.
57531         * tests/test-fstatat.c (main): ...into callers.
57532         * tests/test-lstat.c (main): Likewise.
57533         * tests/test-rmdir.c (main): Likewise.
57534         * tests/test-unlink.c (main): Likewise.
57535         * tests/test-unlinkat.c (main): Likewise.
57536         * tests/test-areadlink-with-size.c (main): Don't require a
57537         debug-only system call to pass, aiding cross-testing to mingw.
57538         * tests/test-areadlink.c (main): Likewise.
57539         * tests/test-areadlinkat-with-size.c (main): Likewise.
57540         * tests/test-areadlinkat.c (main): Likewise.
57541         * tests/test-canonicalize-lgpl.c (main): Likewise.
57542         * tests/test-canonicalize.c (main): Likewise.
57543         * tests/test-chown.c (main): Likewise.
57544         * tests/test-fchownat.c (main): Likewise.
57545         * tests/test-lchown.c (main): Likewise.
57546         * tests/test-fdutimensat.c (main): Likewise.
57547         * tests/test-futimens.c (main): Likewise.
57548         * tests/test-link.c (main): Likewise.
57549         * tests/test-linkat.c (main): Likewise.
57550         * tests/test-mkdir.c (main): Likewise.
57551         * tests/test-mkdirat.c (main): Likewise.
57552         * tests/test-mkfifo.c (main): Likewise.
57553         * tests/test-mkfifoat.c (main): Likewise.
57554         * tests/test-mknod.c (main): Likewise.
57555         * tests/test-readlink.c (main): Likewise.
57556         * tests/test-remove.c (main): Likewise.
57557         * tests/test-rename.c (main): Likewise.
57558         * tests/test-renameat.c (main): Likewise.
57559         * tests/test-symlink.c (main): Likewise.
57560         * tests/test-symlinkat.c (main): Likewise.
57561         * tests/test-utimens.c (main): Likewise.
57562         * tests/test-utimensat.c (main): Likewise.
57564 2009-12-29  Simon Josefsson  <simon@josefsson.org>
57566         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
57567         on $(UNUSED_PARAMETER_H) to avoid build failure.
57569 2009-12-28  Jim Meyering  <meyering@redhat.com>
57571         update-copyright: you may specify a max. line length other than 72
57572         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
57574         maint: use consistent FSF copyright line syntax
57575         * lib/posixtm.c: Add missing comma in FSF copyright line.
57576         * lib/posixtm.h: Likewise.
57577         * lib/getugroups.c: Add missing ", Inc.".
57579         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
57580         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
57581         FSF copyright line.  Remove trailing blanks.
57583 2009-12-28  Eric Blake  <ebb9@byu.net>
57585         test-dup2: reduce dependencies
57586         * modules/cloexec (Configure.ac): Set witness.
57587         * modules/dup2-tests (Depends-on): Drop cloexec.
57588         * tests/test-dup2.c (main): Skip portion of test if cloexec module
57589         not present.
57590         Suggested by Bruno Haible.
57592 2009-12-26  Bruno Haible  <bruno@clisp.org>
57594         Remove an unneeded dependency.
57595         * modules/fseterr (Depends-on): Remove dup2.
57597 2009-12-26  Eric Blake  <ebb9@byu.net>
57599         tests: use macros.h in more places
57600         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
57601         (ASSERT_STREAM): Provide default of stderr.
57602         * tests/test-dirent-safer.c: Include macros.h, using alternate
57603         stream for assertions.
57604         * tests/test-dup-safer.c: Likewise.
57605         * tests/test-freopen-safer.c: Likewise.
57606         * tests/test-getopt.c: Likewise.
57607         * tests/test-openat-safer.c: Likewise.
57608         * tests/test-pipe.c: Likewise.
57609         * tests/test-popen-safer.c: Likewise.
57610         * modules/dirent-safer-tests (Files): Include macros.h.
57611         * modules/unistd-safer-tests (Files): Likewise.
57612         * modules/freopen-safer-tests (Files): Likewise.
57613         * modules/getopt-posix-tests (Files): Likewise.
57614         * modules/openat-safer-tests (Files): Likewise.
57615         * modules/pipe-tests (Files): Likewise.
57617 2009-12-26  Bruno Haible  <bruno@clisp.org>
57619         javacomp-script: Portability fix.
57620         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
57621         that it also works on Solaris.
57623 2009-12-26  Bruno Haible  <bruno@clisp.org>
57625         localename: Fix storage allocation of gl_locale_name_thread's result.
57626         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
57627         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
57628         all platforms that have 'uselocale'.
57629         (gl_locale_name_thread_unsafe): New function, extracted from
57630         gl_locale_name_thread.
57631         (gl_locale_name_thread): Call struniq on all platforms that have
57632         'uselocale'.
57633         * tests/test-localename.c (test_locale_name_thread): Check that the
57634         resulting strings are permanently allocated.
57635         * modules/localename-tests (Depends-on): Add strdup.
57637 2009-12-26  Bruno Haible  <bruno@clisp.org>
57639         * tests/test-localename.c (categories): Fill in the strings.
57641 2009-12-26  Jim Meyering  <meyering@redhat.com>
57643         isdir: complete the removal of m4/isdir.m4
57644         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
57646         isdir: clean up, since at least grep still uses it
57647         * lib/isdir.c: Include "isdir.h".
57648         (S_ISDIR): Remove now-unneeded definition.
57649         * modules/isdir (Files): Add lib/isdir.h.
57650         * lib/isdir.h: New file, with declaration.
57651         * m4/isdir.m4: Remove file -- unneeded.
57653 2009-12-25  Bruno Haible  <bruno@clisp.org>
57655         selinux-h: Make generated .h files standalone.
57656         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
57657         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
57658         * lib/se-selinux.in.h: Likewise.
57659         * modules/selinux-h (Depends-on): Add unused-parameter.
57660         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
57661         selinux/selinux.h and selinux/context.h.
57662         Suggested by Eric Blake.
57664 2009-12-25  Bruno Haible  <bruno@clisp.org>
57666         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
57667         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
57668         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
57669         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
57670         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
57672 2009-12-24  Bruno Haible  <bruno@clisp.org>
57674         openat: Fix warning.
57675         * lib/openat-proc.c: Include <unistd.h>.
57677 2009-12-24  Bruno Haible  <bruno@clisp.org>
57679         New module 'unused-parameter'.
57680         * build-aux/unused-parameter.h: New file, extracted from earlier
57681         gnulib-common.m4.
57682         * modules/unused-parameter: New file.
57683         * lib/unistr.h: Include unused-parameter.h.
57684         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
57685         _GL_UNUSED.
57686         * modules/unistr/base (Depends-on): Add unused-parameter.
57688 2009-12-24  Bruno Haible  <bruno@clisp.org>
57690         Add missing dependencies to 'extensions' module.
57691         * m4/extensions.m4: Add comment.
57692         * modules/accept4 (Depends-on): Add extensions.
57693         * modules/dup3 (Depends-on): Likewise.
57694         * modules/fcntl (Depends-on): Likewise.
57695         * modules/futimens (Depends-on): Likewise.
57696         * modules/mknod (Depends-on): Likewise.
57697         * modules/pipe2 (Depends-on): Likewise.
57698         * modules/stat-time (Depends-on): Likewise.
57699         * modules/strcasestr-simple (Depends-on): Likewise.
57700         * modules/strsignal (Depends-on): Likewise.
57701         * modules/utimensat (Depends-on): Likewise.
57702         * modules/localcharset (Depends-on): Likewise. Needed because of
57703         gl_FCNTL_O_FLAGS.
57704         * modules/wcrtomb (Depends-on): Likewise. Needed because of
57705         AC_TYPE_MBSTATE_T.
57706         * modules/wcsnrtombs (Depends-on): Likewise.
57707         * modules/wcsrtombs (Depends-on): Likewise.
57709 2009-12-24  Bruno Haible  <bruno@clisp.org>
57711         binary-io: Avoid gcc warning due to SET_BINARY.
57712         * lib/binary-io.h (SET_BINARY): Cast the result to void.
57713         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
57715 2009-12-24  Bruno Haible  <bruno@clisp.org>
57717         Avoid future namespace pollution on glibc systems.
57718         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
57719         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
57720         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
57721         glibc systems.
57723 2009-12-24  Bruno Haible  <bruno@clisp.org>
57725         Refactor common macros used in tests.
57726         * tests/macros.h: New file.
57727         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
57728         and/or <stdlib.h>, if appropriate.
57729         (ASSERT, SIZEOF): Remove macros.
57730         * tests/test-areadlink-with-size.c: Likewise.
57731         * tests/test-areadlinkat.c: Likewise.
57732         * tests/test-areadlinkat-with-size.c: Likewise.
57733         * tests/test-argmatch.c: Likewise.
57734         * tests/test-argv-iter.c: Likewise.
57735         * tests/test-array-mergesort.c: Likewise.
57736         * tests/test-array_list.c: Likewise.
57737         * tests/test-array_oset.c: Likewise.
57738         * tests/test-avltree_list.c: Likewise.
57739         * tests/test-avltree_oset.c: Likewise.
57740         * tests/test-avltreehash_list.c: Likewise.
57741         * tests/test-base64.c: Likewise.
57742         * tests/test-binary-io.c: Likewise.
57743         * tests/test-bitrotate.c: Likewise.
57744         * tests/test-btowc.c: Likewise.
57745         * tests/test-byteswap.c: Likewise.
57746         * tests/test-c-ctype.c: Likewise.
57747         * tests/test-c-stack.c: Likewise.
57748         * tests/test-c-strcasecmp.c: Likewise.
57749         * tests/test-c-strcasestr.c: Likewise.
57750         * tests/test-c-strncasecmp.c: Likewise.
57751         * tests/test-c-strstr.c: Likewise.
57752         * tests/test-canonicalize-lgpl.c: Likewise.
57753         * tests/test-canonicalize.c: Likewise.
57754         * tests/test-carray_list.c: Likewise.
57755         * tests/test-ceilf1.c: Likewise.
57756         * tests/test-ceilf2.c: Likewise.
57757         * tests/test-ceill.c: Likewise.
57758         * tests/test-chown.c: Likewise.
57759         * tests/test-cloexec.c: Likewise.
57760         * tests/test-copy-acl.c: Likewise.
57761         * tests/test-copy-file.c: Likewise.
57762         * tests/test-count-one-bits.c: Likewise.
57763         * tests/test-dprintf-posix.c: Likewise.
57764         * tests/test-dup2.c: Likewise.
57765         * tests/test-dup3.c: Likewise.
57766         * tests/test-duplocale.c: Likewise.
57767         * tests/test-fbufmode.c: Likewise.
57768         * tests/test-fchdir.c: Likewise.
57769         * tests/test-fchownat.c: Likewise.
57770         * tests/test-fcntl-safer.c: Likewise.
57771         * tests/test-fcntl.c: Likewise.
57772         * tests/test-fdopendir.c: Likewise.
57773         * tests/test-fdutimensat.c: Likewise.
57774         * tests/test-fflush2.c: Likewise.
57775         * tests/test-file-has-acl.c: Likewise.
57776         * tests/test-filevercmp.c: Likewise.
57777         * tests/test-flock.c: Likewise.
57778         * tests/test-floorf1.c: Likewise.
57779         * tests/test-floorf2.c: Likewise.
57780         * tests/test-floorl.c: Likewise.
57781         * tests/test-fnmatch.c: Likewise.
57782         * tests/test-fopen.h: Likewise.
57783         * tests/test-fpending.c: Likewise.
57784         * tests/test-fprintf-posix.c: Likewise.
57785         * tests/test-fpurge.c: Likewise.
57786         * tests/test-freadable.c: Likewise.
57787         * tests/test-freadahead.c: Likewise.
57788         * tests/test-freading.c: Likewise.
57789         * tests/test-freadptr.c: Likewise.
57790         * tests/test-freadptr2.c: Likewise.
57791         * tests/test-freadseek.c: Likewise.
57792         * tests/test-freopen.c: Likewise.
57793         * tests/test-frexp.c: Likewise.
57794         * tests/test-frexpl.c: Likewise.
57795         * tests/test-fseek.c: Likewise.
57796         * tests/test-fseeko.c: Likewise.
57797         * tests/test-fstatat.c: Likewise.
57798         * tests/test-fstrcmp.c: Likewise.
57799         * tests/test-fsync.c: Likewise.
57800         * tests/test-ftell.c: Likewise.
57801         * tests/test-ftello.c: Likewise.
57802         * tests/test-func.c: Likewise.
57803         * tests/test-futimens.c: Likewise.
57804         * tests/test-fwritable.c: Likewise.
57805         * tests/test-fwriting.c: Likewise.
57806         * tests/test-getcwd.c: Likewise.
57807         * tests/test-getdate.c: Likewise.
57808         * tests/test-getdelim.c: Likewise.
57809         * tests/test-getdtablesize.c: Likewise.
57810         * tests/test-getgroups.c: Likewise.
57811         * tests/test-getline.c: Likewise.
57812         * tests/test-getndelim2.c: Likewise.
57813         * tests/test-glob.c: Likewise.
57814         * tests/test-hash.c: Likewise.
57815         * tests/test-i-ring.c: Likewise.
57816         * tests/test-iconv-utf.c: Likewise.
57817         * tests/test-iconv.c: Likewise.
57818         * tests/test-idpriv-drop.c: Likewise.
57819         * tests/test-idpriv-droptemp.c: Likewise.
57820         * tests/test-inet_ntop.c: Likewise.
57821         * tests/test-inet_pton.c: Likewise.
57822         * tests/test-isblank.c: Likewise.
57823         * tests/test-isfinite.c: Likewise.
57824         * tests/test-isinf.c: Likewise.
57825         * tests/test-isnan.c: Likewise.
57826         * tests/test-isnand.h: Likewise.
57827         * tests/test-isnanf.h: Likewise.
57828         * tests/test-isnanl.h: Likewise.
57829         * tests/test-lchown.c: Likewise.
57830         * tests/test-ldexpl.c: Likewise.
57831         * tests/test-link.c: Likewise.
57832         * tests/test-linkat.c: Likewise.
57833         * tests/test-linked_list.c: Likewise.
57834         * tests/test-linkedhash_list.c: Likewise.
57835         * tests/test-localename.c: Likewise.
57836         * tests/test-lseek.c: Likewise.
57837         * tests/test-lstat.c: Likewise.
57838         * tests/test-mbmemcasecmp.c: Likewise.
57839         * tests/test-mbmemcasecoll.c: Likewise.
57840         * tests/test-mbrtowc.c: Likewise.
57841         * tests/test-mbscasecmp.c: Likewise.
57842         * tests/test-mbscasestr1.c: Likewise.
57843         * tests/test-mbscasestr2.c: Likewise.
57844         * tests/test-mbscasestr3.c: Likewise.
57845         * tests/test-mbscasestr4.c: Likewise.
57846         * tests/test-mbschr.c: Likewise.
57847         * tests/test-mbscspn.c: Likewise.
57848         * tests/test-mbsinit.c: Likewise.
57849         * tests/test-mbsncasecmp.c: Likewise.
57850         * tests/test-mbsnrtowcs.c: Likewise.
57851         * tests/test-mbspbrk.c: Likewise.
57852         * tests/test-mbspcasecmp.c: Likewise.
57853         * tests/test-mbsrchr.c: Likewise.
57854         * tests/test-mbsrtowcs.c: Likewise.
57855         * tests/test-mbsspn.c: Likewise.
57856         * tests/test-mbsstr1.c: Likewise.
57857         * tests/test-mbsstr2.c: Likewise.
57858         * tests/test-mbsstr3.c: Likewise.
57859         * tests/test-memchr.c: Likewise.
57860         * tests/test-memchr2.c: Likewise.
57861         * tests/test-memcmp.c: Likewise.
57862         * tests/test-memmem.c: Likewise.
57863         * tests/test-memrchr.c: Likewise.
57864         * tests/test-mkdir.c: Likewise.
57865         * tests/test-mkdirat.c: Likewise.
57866         * tests/test-mkfifo.c: Likewise.
57867         * tests/test-mkfifoat.c: Likewise.
57868         * tests/test-mknod.c: Likewise.
57869         * tests/test-nanosleep.c: Likewise.
57870         * tests/test-nl_langinfo.c: Likewise.
57871         * tests/test-obstack-printf.c: Likewise.
57872         * tests/test-open.c: Likewise.
57873         * tests/test-openat.c: Likewise.
57874         * tests/test-pipe-filter-gi1.c: Likewise.
57875         * tests/test-pipe-filter-gi2-main.c: Likewise.
57876         * tests/test-pipe-filter-ii1.c: Likewise.
57877         * tests/test-pipe-filter-ii2-main.c: Likewise.
57878         * tests/test-pipe2.c: Likewise.
57879         * tests/test-popen.h: Likewise.
57880         * tests/test-posixtm.c: Likewise.
57881         * tests/test-pread.c: Likewise.
57882         * tests/test-printf-frexp.c: Likewise.
57883         * tests/test-printf-frexpl.c: Likewise.
57884         * tests/test-printf-posix.c: Likewise.
57885         * tests/test-priv-set.c: Likewise.
57886         * tests/test-quotearg.c: Likewise.
57887         * tests/test-random_r.c: Likewise.
57888         * tests/test-rawmemchr.c: Likewise.
57889         * tests/test-rbtree_list.c: Likewise.
57890         * tests/test-rbtree_oset.c: Likewise.
57891         * tests/test-rbtreehash_list.c: Likewise.
57892         * tests/test-readlink.c: Likewise.
57893         * tests/test-remove.c: Likewise.
57894         * tests/test-rename.c: Likewise.
57895         * tests/test-renameat.c: Likewise.
57896         * tests/test-rmdir.c: Likewise.
57897         * tests/test-round1.c: Likewise.
57898         * tests/test-roundf1.c: Likewise.
57899         * tests/test-roundl.c: Likewise.
57900         * tests/test-safe-alloc.c: Likewise.
57901         * tests/test-sameacls.c: Likewise.
57902         * tests/test-set-mode-acl.c: Likewise.
57903         * tests/test-setenv.c: Likewise.
57904         * tests/test-sigaction.c: Likewise.
57905         * tests/test-signbit.c: Likewise.
57906         * tests/test-sleep.c: Likewise.
57907         * tests/test-snprintf-posix.c: Likewise.
57908         * tests/test-snprintf.c: Likewise.
57909         * tests/test-sprintf-posix.c: Likewise.
57910         * tests/test-stat-time.c: Likewise.
57911         * tests/test-stat.c: Likewise.
57912         * tests/test-strcasestr.c: Likewise.
57913         * tests/test-strchrnul.c: Likewise.
57914         * tests/test-strerror.c: Likewise.
57915         * tests/test-striconv.c: Likewise.
57916         * tests/test-striconveh.c: Likewise.
57917         * tests/test-striconveha.c: Likewise.
57918         * tests/test-strsignal.c: Likewise.
57919         * tests/test-strstr.c: Likewise.
57920         * tests/test-strtod.c: Likewise.
57921         * tests/test-strverscmp.c: Likewise.
57922         * tests/test-symlink.c: Likewise.
57923         * tests/test-symlinkat.c: Likewise.
57924         * tests/test-trunc1.c: Likewise.
57925         * tests/test-trunc2.c: Likewise.
57926         * tests/test-truncf1.c: Likewise.
57927         * tests/test-truncf2.c: Likewise.
57928         * tests/test-truncl.c: Likewise.
57929         * tests/test-uname.c: Likewise.
57930         * tests/test-unlink.c: Likewise.
57931         * tests/test-unlinkat.c: Likewise.
57932         * tests/test-unsetenv.c: Likewise.
57933         * tests/test-usleep.c: Likewise.
57934         * tests/test-utimens.c: Likewise.
57935         * tests/test-utimensat.c: Likewise.
57936         * tests/test-vasnprintf-posix.c: Likewise.
57937         * tests/test-vasnprintf-posix2.c: Likewise.
57938         * tests/test-vasnprintf.c: Likewise.
57939         * tests/test-vasprintf-posix.c: Likewise.
57940         * tests/test-vasprintf.c: Likewise.
57941         * tests/test-vdprintf-posix.c: Likewise.
57942         * tests/test-vfprintf-posix.c: Likewise.
57943         * tests/test-vprintf-posix.c: Likewise.
57944         * tests/test-vsnprintf-posix.c: Likewise.
57945         * tests/test-vsnprintf.c: Likewise.
57946         * tests/test-vsprintf-posix.c: Likewise.
57947         * tests/test-wcrtomb.c: Likewise.
57948         * tests/test-wcsnrtombs.c: Likewise.
57949         * tests/test-wcsrtombs.c: Likewise.
57950         * tests/test-wctype.c: Likewise.
57951         * tests/test-wcwidth.c: Likewise.
57952         * tests/test-xfprintf-posix.c: Likewise.
57953         * tests/test-xmemdup0.c: Likewise.
57954         * tests/test-xprintf-posix.c: Likewise.
57955         * tests/test-xvasprintf.c: Likewise.
57956         * tests/unicase/test-locale-language.c: Likewise.
57957         * tests/unicase/test-mapping-part1.h: Likewise.
57958         * tests/unicase/test-predicate-part1.h: Likewise.
57959         * tests/unicase/test-u8-casecmp.c: Likewise.
57960         * tests/unicase/test-u8-casecoll.c: Likewise.
57961         * tests/unicase/test-u8-casefold.c: Likewise.
57962         * tests/unicase/test-u8-is-cased.c: Likewise.
57963         * tests/unicase/test-u8-is-casefolded.c: Likewise.
57964         * tests/unicase/test-u8-is-lowercase.c: Likewise.
57965         * tests/unicase/test-u8-is-titlecase.c: Likewise.
57966         * tests/unicase/test-u8-is-uppercase.c: Likewise.
57967         * tests/unicase/test-u8-tolower.c: Likewise.
57968         * tests/unicase/test-u8-totitle.c: Likewise.
57969         * tests/unicase/test-u8-toupper.c: Likewise.
57970         * tests/unicase/test-u16-casecmp.c: Likewise.
57971         * tests/unicase/test-u16-casecoll.c: Likewise.
57972         * tests/unicase/test-u16-casefold.c: Likewise.
57973         * tests/unicase/test-u16-is-cased.c: Likewise.
57974         * tests/unicase/test-u16-is-casefolded.c: Likewise.
57975         * tests/unicase/test-u16-is-lowercase.c: Likewise.
57976         * tests/unicase/test-u16-is-titlecase.c: Likewise.
57977         * tests/unicase/test-u16-is-uppercase.c: Likewise.
57978         * tests/unicase/test-u16-tolower.c: Likewise.
57979         * tests/unicase/test-u16-totitle.c: Likewise.
57980         * tests/unicase/test-u16-toupper.c: Likewise.
57981         * tests/unicase/test-u32-casecmp.c: Likewise.
57982         * tests/unicase/test-u32-casecoll.c: Likewise.
57983         * tests/unicase/test-u32-casefold.c: Likewise.
57984         * tests/unicase/test-u32-is-cased.c: Likewise.
57985         * tests/unicase/test-u32-is-casefolded.c: Likewise.
57986         * tests/unicase/test-u32-is-lowercase.c: Likewise.
57987         * tests/unicase/test-u32-is-titlecase.c: Likewise.
57988         * tests/unicase/test-u32-is-uppercase.c: Likewise.
57989         * tests/unicase/test-u32-tolower.c: Likewise.
57990         * tests/unicase/test-u32-totitle.c: Likewise.
57991         * tests/unicase/test-u32-toupper.c: Likewise.
57992         * tests/unicase/test-ulc-casecmp.c: Likewise.
57993         * tests/unicase/test-ulc-casecoll.c: Likewise.
57994         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
57995         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
57996         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
57997         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
57998         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
57999         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
58000         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
58001         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
58002         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
58003         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
58004         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
58005         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
58006         * tests/unictype/test-bidi_byname.c: Likewise.
58007         * tests/unictype/test-bidi_name.c: Likewise.
58008         * tests/unictype/test-bidi_of.c: Likewise.
58009         * tests/unictype/test-bidi_test.c: Likewise.
58010         * tests/unictype/test-block_list.c: Likewise.
58011         * tests/unictype/test-block_of.c: Likewise.
58012         * tests/unictype/test-block_test.c: Likewise.
58013         * tests/unictype/test-categ_and.c: Likewise.
58014         * tests/unictype/test-categ_and_not.c: Likewise.
58015         * tests/unictype/test-categ_byname.c: Likewise.
58016         * tests/unictype/test-categ_name.c: Likewise.
58017         * tests/unictype/test-categ_none.c: Likewise.
58018         * tests/unictype/test-categ_of.c: Likewise.
58019         * tests/unictype/test-categ_or.c: Likewise.
58020         * tests/unictype/test-categ_test_withtable.c: Likewise.
58021         * tests/unictype/test-combining.c: Likewise.
58022         * tests/unictype/test-decdigit.c: Likewise.
58023         * tests/unictype/test-digit.c: Likewise.
58024         * tests/unictype/test-mirror.c: Likewise.
58025         * tests/unictype/test-numeric.c: Likewise.
58026         * tests/unictype/test-pr_byname.c: Likewise.
58027         * tests/unictype/test-pr_test.c: Likewise.
58028         * tests/unictype/test-predicate-part1.h: Likewise.
58029         * tests/unictype/test-scripts.c: Likewise.
58030         * tests/unictype/test-sy_c_ident.c: Likewise.
58031         * tests/unictype/test-sy_java_ident.c: Likewise.
58032         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
58033         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
58034         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
58035         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
58036         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
58037         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
58038         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
58039         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
58040         * tests/uninorm/test-canonical-decomposition.c: Likewise.
58041         * tests/uninorm/test-compat-decomposition.c: Likewise.
58042         * tests/uninorm/test-composition.c: Likewise.
58043         * tests/uninorm/test-decomposing-form.c: Likewise.
58044         * tests/uninorm/test-decomposition.c: Likewise.
58045         * tests/uninorm/test-u8-nfc.c: Likewise.
58046         * tests/uninorm/test-u8-nfd.c: Likewise.
58047         * tests/uninorm/test-u8-nfkc.c: Likewise.
58048         * tests/uninorm/test-u8-nfkd.c: Likewise.
58049         * tests/uninorm/test-u8-normcmp.c: Likewise.
58050         * tests/uninorm/test-u8-normcoll.c: Likewise.
58051         * tests/uninorm/test-u16-nfc.c: Likewise.
58052         * tests/uninorm/test-u16-nfd.c: Likewise.
58053         * tests/uninorm/test-u16-nfkc.c: Likewise.
58054         * tests/uninorm/test-u16-nfkd.c: Likewise.
58055         * tests/uninorm/test-u16-normcmp.c: Likewise.
58056         * tests/uninorm/test-u16-normcoll.c: Likewise.
58057         * tests/uninorm/test-u32-nfc.c: Likewise.
58058         * tests/uninorm/test-u32-nfd.c: Likewise.
58059         * tests/uninorm/test-u32-nfkc.c: Likewise.
58060         * tests/uninorm/test-u32-nfkd.c: Likewise.
58061         * tests/uninorm/test-u32-normalize-big.c: Likewise.
58062         * tests/uninorm/test-u32-normcmp.c: Likewise.
58063         * tests/uninorm/test-u32-normcoll.c: Likewise.
58064         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
58065         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
58066         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
58067         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
58068         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
58069         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
58070         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
58071         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
58072         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
58073         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
58074         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
58075         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
58076         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
58077         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
58078         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
58079         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
58080         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
58081         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
58082         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
58083         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
58084         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
58085         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
58086         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
58087         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
58088         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
58089         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
58090         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
58091         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
58092         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
58093         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
58094         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
58095         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
58096         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
58097         * tests/uniwidth/test-u8-strwidth.c: Likewise.
58098         * tests/uniwidth/test-u8-width.c: Likewise.
58099         * tests/uniwidth/test-u16-strwidth.c: Likewise.
58100         * tests/uniwidth/test-u16-width.c: Likewise.
58101         * tests/uniwidth/test-u32-strwidth.c: Likewise.
58102         * tests/uniwidth/test-u32-width.c: Likewise.
58103         * tests/uniwidth/test-uc_width.c: Likewise.
58104         * tests/uniwidth/test-uc_width2.c: Likewise.
58105         * modules/acl-tests (Files): Add tests/macros.h.
58106         * modules/areadlink-tests (Files): Likewise.
58107         * modules/areadlink-with-size-tests (Files): Likewise.
58108         * modules/areadlinkat-tests (Files): Likewise.
58109         * modules/areadlinkat-with-size-tests (Files): Likewise.
58110         * modules/argmatch-tests (Files): Likewise.
58111         * modules/argv-iter-tests (Files): Likewise.
58112         * modules/array-list-tests (Files): Likewise.
58113         * modules/array-mergesort-tests (Files): Likewise.
58114         * modules/array-oset-tests (Files): Likewise.
58115         * modules/avltree-list-tests (Files): Likewise.
58116         * modules/avltree-oset-tests (Files): Likewise.
58117         * modules/avltreehash-list-tests (Files): Likewise.
58118         * modules/base64-tests (Files): Likewise.
58119         * modules/binary-io-tests (Files): Likewise.
58120         * modules/bitrotate-tests (Files): Likewise.
58121         * modules/btowc-tests (Files): Likewise.
58122         * modules/byteswap-tests (Files): Likewise.
58123         * modules/c-ctype-tests (Files): Likewise.
58124         * modules/c-stack-tests (Files): Likewise.
58125         * modules/c-strcase-tests (Files): Likewise.
58126         * modules/c-strcasestr-tests (Files): Likewise.
58127         * modules/c-strstr-tests (Files): Likewise.
58128         * modules/canonicalize-lgpl-tests (Files): Likewise.
58129         * modules/canonicalize-tests (Files): Likewise.
58130         * modules/carray-list-tests (Files): Likewise.
58131         * modules/ceilf-tests (Files): Likewise.
58132         * modules/ceill-tests (Files): Likewise.
58133         * modules/chown-tests (Files): Likewise.
58134         * modules/cloexec-tests (Files): Likewise.
58135         * modules/copy-file-tests (Files): Likewise.
58136         * modules/count-one-bits-tests (Files): Likewise.
58137         * modules/dprintf-posix-tests (Files): Likewise.
58138         * modules/dup2-tests (Files): Likewise.
58139         * modules/dup3-tests (Files): Likewise.
58140         * modules/duplocale-tests (Files): Likewise.
58141         * modules/fbufmode-tests (Files): Likewise.
58142         * modules/fchdir-tests (Files): Likewise.
58143         * modules/fcntl-safer-tests (Files): Likewise.
58144         * modules/fcntl-tests (Files): Likewise.
58145         * modules/fdopendir-tests (Files): Likewise.
58146         * modules/fdutimensat-tests (Files): Likewise.
58147         * modules/fflush-tests (Files): Likewise.
58148         * modules/filevercmp-tests (Files): Likewise.
58149         * modules/flock-tests (Files): Likewise.
58150         * modules/floorf-tests (Files): Likewise.
58151         * modules/floorl-tests (Files): Likewise.
58152         * modules/fnmatch-tests (Files): Likewise.
58153         * modules/fopen-safer-tests (Files): Likewise.
58154         * modules/fopen-tests (Files): Likewise.
58155         * modules/fpending-tests (Files): Likewise.
58156         * modules/fprintf-posix-tests (Files): Likewise.
58157         * modules/fpurge-tests (Files): Likewise.
58158         * modules/freadable-tests (Files): Likewise.
58159         * modules/freadahead-tests (Files): Likewise.
58160         * modules/freading-tests (Files): Likewise.
58161         * modules/freadptr-tests (Files): Likewise.
58162         * modules/freadseek-tests (Files): Likewise.
58163         * modules/freopen-tests (Files): Likewise.
58164         * modules/frexp-nolibm-tests (Files): Likewise.
58165         * modules/frexp-tests (Files): Likewise.
58166         * modules/frexpl-nolibm-tests (Files): Likewise.
58167         * modules/frexpl-tests (Files): Likewise.
58168         * modules/fseek-tests (Files): Likewise.
58169         * modules/fseeko-tests (Files): Likewise.
58170         * modules/fstrcmp-tests (Files): Likewise.
58171         * modules/fsync-tests (Files): Likewise.
58172         * modules/ftell-tests (Files): Likewise.
58173         * modules/ftello-tests (Files): Likewise.
58174         * modules/func-tests (Files): Likewise.
58175         * modules/futimens-tests (Files): Likewise.
58176         * modules/fwritable-tests (Files): Likewise.
58177         * modules/fwriting-tests (Files): Likewise.
58178         * modules/getcwd-tests (Files): Likewise.
58179         * modules/getdate-tests (Files): Likewise.
58180         * modules/getdelim-tests (Files): Likewise.
58181         * modules/getdtablesize-tests (Files): Likewise.
58182         * modules/getgroups-tests (Files): Likewise.
58183         * modules/getline-tests (Files): Likewise.
58184         * modules/getndelim2-tests (Files): Likewise.
58185         * modules/glob-tests (Files): Likewise.
58186         * modules/hash-tests (Files): Likewise.
58187         * modules/i-ring-tests (Files): Likewise.
58188         * modules/iconv-tests (Files): Likewise.
58189         * modules/iconv_open-utf-tests (Files): Likewise.
58190         * modules/idpriv-drop-tests (Files): Likewise.
58191         * modules/idpriv-droptemp-tests (Files): Likewise.
58192         * modules/inet_ntop-tests (Files): Likewise.
58193         * modules/inet_pton-tests (Files): Likewise.
58194         * modules/isblank-tests (Files): Likewise.
58195         * modules/isfinite-tests (Files): Likewise.
58196         * modules/isinf-tests (Files): Likewise.
58197         * modules/isnan-tests (Files): Likewise.
58198         * modules/isnand-nolibm-tests (Files): Likewise.
58199         * modules/isnand-tests (Files): Likewise.
58200         * modules/isnanf-nolibm-tests (Files): Likewise.
58201         * modules/isnanf-tests (Files): Likewise.
58202         * modules/isnanl-nolibm-tests (Files): Likewise.
58203         * modules/isnanl-tests (Files): Likewise.
58204         * modules/lchown-tests (Files): Likewise.
58205         * modules/ldexpl-tests (Files): Likewise.
58206         * modules/link-tests (Files): Likewise.
58207         * modules/linkat-tests (Files): Likewise.
58208         * modules/linked-list-tests (Files): Likewise.
58209         * modules/linkedhash-list-tests (Files): Likewise.
58210         * modules/localename-tests (Files): Likewise.
58211         * modules/lseek-tests (Files): Likewise.
58212         * modules/lstat-tests (Files): Likewise.
58213         * modules/mbmemcasecmp-tests (Files): Likewise.
58214         * modules/mbmemcasecoll-tests (Files): Likewise.
58215         * modules/mbrtowc-tests (Files): Likewise.
58216         * modules/mbscasecmp-tests (Files): Likewise.
58217         * modules/mbscasestr-tests (Files): Likewise.
58218         * modules/mbschr-tests (Files): Likewise.
58219         * modules/mbscspn-tests (Files): Likewise.
58220         * modules/mbsinit-tests (Files): Likewise.
58221         * modules/mbsncasecmp-tests (Files): Likewise.
58222         * modules/mbsnrtowcs-tests (Files): Likewise.
58223         * modules/mbspbrk-tests (Files): Likewise.
58224         * modules/mbspcasecmp-tests (Files): Likewise.
58225         * modules/mbsrchr-tests (Files): Likewise.
58226         * modules/mbsrtowcs-tests (Files): Likewise.
58227         * modules/mbsspn-tests (Files): Likewise.
58228         * modules/mbsstr-tests (Files): Likewise.
58229         * modules/memchr-tests (Files): Likewise.
58230         * modules/memchr2-tests (Files): Likewise.
58231         * modules/memcmp-tests (Files): Likewise.
58232         * modules/memmem-tests (Files): Likewise.
58233         * modules/memrchr-tests (Files): Likewise.
58234         * modules/mkdir-tests (Files): Likewise.
58235         * modules/mkfifo-tests (Files): Likewise.
58236         * modules/mkfifoat-tests (Files): Likewise.
58237         * modules/mknod-tests (Files): Likewise.
58238         * modules/nanosleep-tests (Files): Likewise.
58239         * modules/nl_langinfo-tests (Files): Likewise.
58240         * modules/obstack-printf-tests (Files): Likewise.
58241         * modules/open-tests (Files): Likewise.
58242         * modules/openat-tests (Files): Likewise.
58243         * modules/pipe-filter-gi-tests (Files): Likewise.
58244         * modules/pipe-filter-ii-tests (Files): Likewise.
58245         * modules/pipe2-tests (Files): Likewise.
58246         * modules/popen-safer-tests (Files): Likewise.
58247         * modules/popen-tests (Files): Likewise.
58248         * modules/posixtm-tests (Files): Likewise.
58249         * modules/pread-tests (Files): Likewise.
58250         * modules/printf-frexp-tests (Files): Likewise.
58251         * modules/printf-frexpl-tests (Files): Likewise.
58252         * modules/printf-posix-tests (Files): Likewise.
58253         * modules/priv-set-tests (Files): Likewise.
58254         * modules/quotearg-tests (Files): Likewise.
58255         * modules/random_r-tests (Files): Likewise.
58256         * modules/rawmemchr-tests (Files): Likewise.
58257         * modules/rbtree-list-tests (Files): Likewise.
58258         * modules/rbtree-oset-tests (Files): Likewise.
58259         * modules/rbtreehash-list-tests (Files): Likewise.
58260         * modules/readlink-tests (Files): Likewise.
58261         * modules/remove-tests (Files): Likewise.
58262         * modules/rename-tests (Files): Likewise.
58263         * modules/renameat-tests (Files): Likewise.
58264         * modules/rmdir-tests (Files): Likewise.
58265         * modules/round-tests (Files): Likewise.
58266         * modules/roundf-tests (Files): Likewise.
58267         * modules/roundl-tests (Files): Likewise.
58268         * modules/safe-alloc-tests (Files): Likewise.
58269         * modules/setenv-tests (Files): Likewise.
58270         * modules/sigaction-tests (Files): Likewise.
58271         * modules/signbit-tests (Files): Likewise.
58272         * modules/sleep-tests (Files): Likewise.
58273         * modules/snprintf-posix-tests (Files): Likewise.
58274         * modules/snprintf-tests (Files): Likewise.
58275         * modules/sprintf-posix-tests (Files): Likewise.
58276         * modules/stat-tests (Files): Likewise.
58277         * modules/stat-time-tests (Files): Likewise.
58278         * modules/strcasestr-tests (Files): Likewise.
58279         * modules/strchrnul-tests (Files): Likewise.
58280         * modules/strerror-tests (Files): Likewise.
58281         * modules/striconv-tests (Files): Likewise.
58282         * modules/striconveh-tests (Files): Likewise.
58283         * modules/striconveha-tests (Files): Likewise.
58284         * modules/strsignal-tests (Files): Likewise.
58285         * modules/strstr-tests (Files): Likewise.
58286         * modules/strtod-tests (Files): Likewise.
58287         * modules/strverscmp-tests (Files): Likewise.
58288         * modules/symlink-tests (Files): Likewise.
58289         * modules/symlinkat-tests (Files): Likewise.
58290         * modules/trunc-tests (Files): Likewise.
58291         * modules/truncf-tests (Files): Likewise.
58292         * modules/truncl-tests (Files): Likewise.
58293         * modules/uname-tests (Files): Likewise.
58294         * modules/unicase/cased-tests (Files): Likewise.
58295         * modules/unicase/ignorable-tests (Files): Likewise.
58296         * modules/unicase/locale-language-tests (Files): Likewise.
58297         * modules/unicase/tolower-tests (Files): Likewise.
58298         * modules/unicase/totitle-tests (Files): Likewise.
58299         * modules/unicase/toupper-tests (Files): Likewise.
58300         * modules/unicase/u8-casecmp-tests (Files): Likewise.
58301         * modules/unicase/u8-casecoll-tests (Files): Likewise.
58302         * modules/unicase/u8-casefold-tests (Files): Likewise.
58303         * modules/unicase/u8-is-cased-tests (Files): Likewise.
58304         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
58305         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
58306         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
58307         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
58308         * modules/unicase/u8-tolower-tests (Files): Likewise.
58309         * modules/unicase/u8-totitle-tests (Files): Likewise.
58310         * modules/unicase/u8-toupper-tests (Files): Likewise.
58311         * modules/unicase/u16-casecmp-tests (Files): Likewise.
58312         * modules/unicase/u16-casecoll-tests (Files): Likewise.
58313         * modules/unicase/u16-casefold-tests (Files): Likewise.
58314         * modules/unicase/u16-is-cased-tests (Files): Likewise.
58315         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
58316         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
58317         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
58318         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
58319         * modules/unicase/u16-tolower-tests (Files): Likewise.
58320         * modules/unicase/u16-totitle-tests (Files): Likewise.
58321         * modules/unicase/u16-toupper-tests (Files): Likewise.
58322         * modules/unicase/u32-casecmp-tests (Files): Likewise.
58323         * modules/unicase/u32-casecoll-tests (Files): Likewise.
58324         * modules/unicase/u32-casefold-tests (Files): Likewise.
58325         * modules/unicase/u32-is-cased-tests (Files): Likewise.
58326         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
58327         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
58328         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
58329         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
58330         * modules/unicase/u32-tolower-tests (Files): Likewise.
58331         * modules/unicase/u32-totitle-tests (Files): Likewise.
58332         * modules/unicase/u32-toupper-tests (Files): Likewise.
58333         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
58334         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
58335         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
58336         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
58337         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
58338         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
58339         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
58340         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
58341         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
58342         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
58343         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
58344         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
58345         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
58346         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
58347         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
58348         * modules/unictype/bidicategory-name-tests (Files): Likewise.
58349         * modules/unictype/bidicategory-of-tests (Files): Likewise.
58350         * modules/unictype/bidicategory-test-tests (Files): Likewise.
58351         * modules/unictype/block-list-tests (Files): Likewise.
58352         * modules/unictype/block-of-tests (Files): Likewise.
58353         * modules/unictype/block-test-tests (Files): Likewise.
58354         * modules/unictype/category-C-tests (Files): Likewise.
58355         * modules/unictype/category-Cc-tests (Files): Likewise.
58356         * modules/unictype/category-Cf-tests (Files): Likewise.
58357         * modules/unictype/category-Cn-tests (Files): Likewise.
58358         * modules/unictype/category-Co-tests (Files): Likewise.
58359         * modules/unictype/category-Cs-tests (Files): Likewise.
58360         * modules/unictype/category-L-tests (Files): Likewise.
58361         * modules/unictype/category-Ll-tests (Files): Likewise.
58362         * modules/unictype/category-Lm-tests (Files): Likewise.
58363         * modules/unictype/category-Lo-tests (Files): Likewise.
58364         * modules/unictype/category-Lt-tests (Files): Likewise.
58365         * modules/unictype/category-Lu-tests (Files): Likewise.
58366         * modules/unictype/category-M-tests (Files): Likewise.
58367         * modules/unictype/category-Mc-tests (Files): Likewise.
58368         * modules/unictype/category-Me-tests (Files): Likewise.
58369         * modules/unictype/category-Mn-tests (Files): Likewise.
58370         * modules/unictype/category-N-tests (Files): Likewise.
58371         * modules/unictype/category-Nd-tests (Files): Likewise.
58372         * modules/unictype/category-Nl-tests (Files): Likewise.
58373         * modules/unictype/category-No-tests (Files): Likewise.
58374         * modules/unictype/category-P-tests (Files): Likewise.
58375         * modules/unictype/category-Pc-tests (Files): Likewise.
58376         * modules/unictype/category-Pd-tests (Files): Likewise.
58377         * modules/unictype/category-Pe-tests (Files): Likewise.
58378         * modules/unictype/category-Pf-tests (Files): Likewise.
58379         * modules/unictype/category-Pi-tests (Files): Likewise.
58380         * modules/unictype/category-Po-tests (Files): Likewise.
58381         * modules/unictype/category-Ps-tests (Files): Likewise.
58382         * modules/unictype/category-S-tests (Files): Likewise.
58383         * modules/unictype/category-Sc-tests (Files): Likewise.
58384         * modules/unictype/category-Sk-tests (Files): Likewise.
58385         * modules/unictype/category-Sm-tests (Files): Likewise.
58386         * modules/unictype/category-So-tests (Files): Likewise.
58387         * modules/unictype/category-Z-tests (Files): Likewise.
58388         * modules/unictype/category-Zl-tests (Files): Likewise.
58389         * modules/unictype/category-Zp-tests (Files): Likewise.
58390         * modules/unictype/category-Zs-tests (Files): Likewise.
58391         * modules/unictype/category-and-not-tests (Files): Likewise.
58392         * modules/unictype/category-and-tests (Files): Likewise.
58393         * modules/unictype/category-byname-tests (Files): Likewise.
58394         * modules/unictype/category-name-tests (Files): Likewise.
58395         * modules/unictype/category-none-tests (Files): Likewise.
58396         * modules/unictype/category-of-tests (Files): Likewise.
58397         * modules/unictype/category-or-tests (Files): Likewise.
58398         * modules/unictype/category-test-withtable-tests (Files): Likewise.
58399         * modules/unictype/combining-class-tests (Files): Likewise.
58400         * modules/unictype/ctype-alnum-tests (Files): Likewise.
58401         * modules/unictype/ctype-alpha-tests (Files): Likewise.
58402         * modules/unictype/ctype-blank-tests (Files): Likewise.
58403         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
58404         * modules/unictype/ctype-digit-tests (Files): Likewise.
58405         * modules/unictype/ctype-graph-tests (Files): Likewise.
58406         * modules/unictype/ctype-lower-tests (Files): Likewise.
58407         * modules/unictype/ctype-print-tests (Files): Likewise.
58408         * modules/unictype/ctype-punct-tests (Files): Likewise.
58409         * modules/unictype/ctype-space-tests (Files): Likewise.
58410         * modules/unictype/ctype-upper-tests (Files): Likewise.
58411         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
58412         * modules/unictype/decimal-digit-tests (Files): Likewise.
58413         * modules/unictype/digit-tests (Files): Likewise.
58414         * modules/unictype/mirror-tests (Files): Likewise.
58415         * modules/unictype/numeric-tests (Files): Likewise.
58416         * modules/unictype/property-alphabetic-tests (Files): Likewise.
58417         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
58418         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
58419         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
58420         Likewise.
58421         * modules/unictype/property-bidi-block-separator-tests (Files):
58422         Likewise.
58423         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
58424         Likewise.
58425         * modules/unictype/property-bidi-common-separator-tests (Files):
58426         Likewise.
58427         * modules/unictype/property-bidi-control-tests (Files): Likewise.
58428         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
58429         Likewise.
58430         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
58431         Likewise.
58432         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
58433         Likewise.
58434         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
58435         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
58436         Likewise.
58437         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
58438         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
58439         Likewise.
58440         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
58441         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
58442         * modules/unictype/property-bidi-segment-separator-tests (Files):
58443         Likewise.
58444         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
58445         * modules/unictype/property-byname-tests (Files): Likewise.
58446         * modules/unictype/property-combining-tests (Files): Likewise.
58447         * modules/unictype/property-composite-tests (Files): Likewise.
58448         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
58449         * modules/unictype/property-dash-tests (Files): Likewise.
58450         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
58451         * modules/unictype/property-default-ignorable-code-point-tests (Files):
58452         Likewise.
58453         * modules/unictype/property-deprecated-tests (Files): Likewise.
58454         * modules/unictype/property-diacritic-tests (Files): Likewise.
58455         * modules/unictype/property-extender-tests (Files): Likewise.
58456         * modules/unictype/property-format-control-tests (Files): Likewise.
58457         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
58458         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
58459         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
58460         * modules/unictype/property-hex-digit-tests (Files): Likewise.
58461         * modules/unictype/property-hyphen-tests (Files): Likewise.
58462         * modules/unictype/property-id-continue-tests (Files): Likewise.
58463         * modules/unictype/property-id-start-tests (Files): Likewise.
58464         * modules/unictype/property-ideographic-tests (Files): Likewise.
58465         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
58466         * modules/unictype/property-ids-trinary-operator-tests (Files):
58467         Likewise.
58468         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
58469         * modules/unictype/property-iso-control-tests (Files): Likewise.
58470         * modules/unictype/property-join-control-tests (Files): Likewise.
58471         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
58472         * modules/unictype/property-line-separator-tests (Files): Likewise.
58473         * modules/unictype/property-logical-order-exception-tests (Files):
58474         Likewise.
58475         * modules/unictype/property-lowercase-tests (Files): Likewise.
58476         * modules/unictype/property-math-tests (Files): Likewise.
58477         * modules/unictype/property-non-break-tests (Files): Likewise.
58478         * modules/unictype/property-not-a-character-tests (Files): Likewise.
58479         * modules/unictype/property-numeric-tests (Files): Likewise.
58480         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
58481         * modules/unictype/property-other-default-ignorable-code-point-tests
58482         (Files): Likewise.
58483         * modules/unictype/property-other-grapheme-extend-tests (Files):
58484         Likewise.
58485         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
58486         * modules/unictype/property-other-id-start-tests (Files): Likewise.
58487         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
58488         * modules/unictype/property-other-math-tests (Files): Likewise.
58489         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
58490         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
58491         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
58492         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
58493         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
58494         * modules/unictype/property-private-use-tests (Files): Likewise.
58495         * modules/unictype/property-punctuation-tests (Files): Likewise.
58496         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
58497         * modules/unictype/property-radical-tests (Files): Likewise.
58498         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
58499         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
58500         * modules/unictype/property-space-tests (Files): Likewise.
58501         * modules/unictype/property-terminal-punctuation-tests (Files):
58502         Likewise.
58503         * modules/unictype/property-test-tests (Files): Likewise.
58504         * modules/unictype/property-titlecase-tests (Files): Likewise.
58505         * modules/unictype/property-unassigned-code-value-tests (Files):
58506         Likewise.
58507         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
58508         * modules/unictype/property-uppercase-tests (Files): Likewise.
58509         * modules/unictype/property-variation-selector-tests (Files): Likewise.
58510         * modules/unictype/property-white-space-tests (Files): Likewise.
58511         * modules/unictype/property-xid-continue-tests (Files): Likewise.
58512         * modules/unictype/property-xid-start-tests (Files): Likewise.
58513         * modules/unictype/property-zero-width-tests (Files): Likewise.
58514         * modules/unictype/scripts-tests (Files): Likewise.
58515         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
58516         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
58517         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
58518         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
58519         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
58520         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
58521         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
58522         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
58523         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
58524         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
58525         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
58526         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
58527         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
58528         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
58529         * modules/uninorm/composition-tests (Files): Likewise.
58530         * modules/uninorm/decomposing-form-tests (Files): Likewise.
58531         * modules/uninorm/decomposition-tests (Files): Likewise.
58532         * modules/uninorm/filter-tests (Files): Likewise.
58533         * modules/uninorm/nfc-tests (Files): Likewise.
58534         * modules/uninorm/nfd-tests (Files): Likewise.
58535         * modules/uninorm/nfkc-tests (Files): Likewise.
58536         * modules/uninorm/nfkd-tests (Files): Likewise.
58537         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
58538         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
58539         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
58540         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
58541         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
58542         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
58543         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
58544         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
58545         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
58546         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
58547         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
58548         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
58549         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
58550         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
58551         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
58552         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
58553         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
58554         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
58555         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
58556         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
58557         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
58558         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
58559         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
58560         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
58561         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
58562         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
58563         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
58564         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
58565         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
58566         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
58567         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
58568         * modules/uniwidth/u8-width-tests (Files): Likewise.
58569         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
58570         * modules/uniwidth/u16-width-tests (Files): Likewise.
58571         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
58572         * modules/uniwidth/u32-width-tests (Files): Likewise.
58573         * modules/uniwidth/width-tests (Files): Likewise.
58574         * modules/unlink-tests (Files): Likewise.
58575         * modules/unsetenv-tests (Files): Likewise.
58576         * modules/usleep-tests (Files): Likewise.
58577         * modules/utimens-tests (Files): Likewise.
58578         * modules/utimensat-tests (Files): Likewise.
58579         * modules/vasnprintf-posix-tests (Files): Likewise.
58580         * modules/vasnprintf-tests (Files): Likewise.
58581         * modules/vasprintf-posix-tests (Files): Likewise.
58582         * modules/vasprintf-tests (Files): Likewise.
58583         * modules/vdprintf-posix-tests (Files): Likewise.
58584         * modules/vfprintf-posix-tests (Files): Likewise.
58585         * modules/vprintf-posix-tests (Files): Likewise.
58586         * modules/vsnprintf-posix-tests (Files): Likewise.
58587         * modules/vsnprintf-tests (Files): Likewise.
58588         * modules/vsprintf-posix-tests (Files): Likewise.
58589         * modules/wcrtomb-tests (Files): Likewise.
58590         * modules/wcsnrtombs-tests (Files): Likewise.
58591         * modules/wcsrtombs-tests (Files): Likewise.
58592         * modules/wctype-tests (Files): Likewise.
58593         * modules/wcwidth-tests (Files): Likewise.
58594         * modules/xmemdup0-tests (Files): Likewise.
58595         * modules/xprintf-posix-tests (Files): Likewise.
58596         * modules/xvasprintf-tests (Files): Likewise.
58598 2009-12-24  Eric Blake  <ebb9@byu.net>
58600         test-nanosleep: fix typo
58601         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
58602         patch.
58603         Reported by Bruno Haible.
58605 2009-12-24  Bruno Haible  <bruno@clisp.org>
58607         Reduce namespace pollution on glibc systems.
58608         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
58609         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
58610         systems.
58611         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
58612         <getopt.h> on glibc systems.
58613         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
58614         systems.
58615         * lib/fcntl.c: Include <unistd.h> here instead.
58617 2009-12-24  Bruno Haible  <bruno@clisp.org>
58619         * lib/stdlib.in.h (includes): Fix typo in today's commit.
58621 2009-12-24  Eric Blake  <ebb9@byu.net>
58623         tests: add signature checks
58624         * tests/signature.h (SIGNATURE_CHECK): New file.
58625         * modules/atexit-tests (Files): Use it.
58626         * modules/btowc-tests (Files): Likewise.
58627         * modules/canonicalize-lgpl-tests (Files): Likewise.
58628         * modules/ceilf-tests (Files): Likewise.
58629         * modules/ceill-tests (Files): Likewise.
58630         * modules/chown-tests (Files): Likewise.
58631         * modules/dprintf-posix-tests (Files): Likewise.
58632         * modules/dup2-tests (Files): Likewise.
58633         * modules/dup3-tests (Files): Likewise.
58634         * modules/duplocale-tests (Files): Likewise.
58635         * modules/fchdir-tests (Files): Likewise.
58636         * modules/fcntl-tests (Files): Likewise.
58637         * modules/fdopendir-tests (Files): Likewise.
58638         * modules/fflush-tests (Files): Likewise.
58639         * modules/flock-tests (Files): Likewise.
58640         * modules/floorf-tests (Files): Likewise.
58641         * modules/floorl-tests (Files): Likewise.
58642         * modules/fnmatch-tests (Files): Likewise.
58643         * modules/fopen-tests (Files): Likewise.
58644         * modules/fprintf-posix-tests (Files): Likewise.
58645         * modules/freopen-tests (Files): Likewise.
58646         * modules/frexp-nolibm-tests (Files): Likewise.
58647         * modules/frexp-tests (Files): Likewise.
58648         * modules/frexpl-nolibm-tests (Files): Likewise.
58649         * modules/frexpl-tests (Files): Likewise.
58650         * modules/fseek-tests (Files): Likewise.
58651         * modules/fseeko-tests (Files): Likewise.
58652         * modules/fsync-tests (Files): Likewise.
58653         * modules/ftell-tests (Files): Likewise.
58654         * modules/ftello-tests (Files): Likewise.
58655         * modules/futimens-tests (Files): Likewise.
58656         * modules/getaddrinfo-tests (Files): Likewise.
58657         * modules/getcwd-tests (Files): Likewise.
58658         * modules/getdelim-tests (Files): Likewise.
58659         * modules/getdtablesize-tests (Files): Likewise.
58660         * modules/getgroups-tests (Files): Likewise.
58661         * modules/gethostname-tests (Files): Likewise.
58662         * modules/getline-tests (Files): Likewise.
58663         * modules/getopt-posix-tests (Files): Likewise.
58664         * modules/gettimeofday-tests (Files): Likewise.
58665         * modules/glob-tests (Files): Likewise.
58666         * modules/iconv-tests (Files): Likewise.
58667         * modules/inet_ntop-tests (Files): Likewise.
58668         * modules/inet_pton-tests (Files): Likewise.
58669         * modules/isblank-tests (Files): Likewise.
58670         * modules/lchown-tests (Files): Likewise.
58671         * modules/ldexpl-tests (Files): Likewise.
58672         * modules/link-tests (Files): Likewise.
58673         * modules/linkat-tests (Files): Likewise.
58674         * modules/lseek-tests (Files): Likewise.
58675         * modules/lstat-tests (Files): Likewise.
58676         * modules/mbrtowc-tests (Files): Likewise.
58677         * modules/mbsinit-tests (Files): Likewise.
58678         * modules/mbsnrtowcs-tests (Files): Likewise.
58679         * modules/mbsrtowcs-tests (Files): Likewise.
58680         * modules/memchr-tests (Files): Likewise.
58681         * modules/memcmp-tests (Files): Likewise.
58682         * modules/memmem-tests (Files): Likewise.
58683         * modules/memrchr-tests (Files): Likewise.
58684         * modules/mkdir-tests (Files): Likewise.
58685         * modules/mkfifo-tests (Files): Likewise.
58686         * modules/mkfifoat-tests (Files): Likewise.
58687         * modules/mknod-tests (Files): Likewise.
58688         * modules/nanosleep-tests (Files): Likewise.
58689         * modules/nl_langinfo-tests (Files): Likewise.
58690         * modules/obstack-printf-tests (Files): Likewise.
58691         * modules/open-tests (Files): Likewise.
58692         * modules/openat-tests (Files): Likewise.
58693         * modules/perror-tests (Files): Likewise.
58694         * modules/pipe2-tests (Files): Likewise.
58695         * modules/poll-tests (Files): Likewise.
58696         * modules/popen-tests (Files): Likewise.
58697         * modules/posix_spawn-tests (Files): Likewise.
58698         * modules/posix_spawnp-tests (Files): Likewise.
58699         * modules/pread-tests (Files): Likewise.
58700         * modules/printf-posix-tests (Files): Likewise.
58701         * modules/pty-tests (Files): Likewise.
58702         * modules/random_r-tests (Files): Likewise.
58703         * modules/rawmemchr-tests (Files): Likewise.
58704         * modules/readlink-tests (Files): Likewise.
58705         * modules/remove-tests (Files): Likewise.
58706         * modules/rename-tests (Files): Likewise.
58707         * modules/renameat-tests (Files): Likewise.
58708         * modules/rmdir-tests (Files): Likewise.
58709         * modules/round-tests (Files): Likewise.
58710         * modules/roundf-tests (Files): Likewise.
58711         * modules/roundl-tests (Files): Likewise.
58712         * modules/select-tests (Files): Likewise.
58713         * modules/setenv-tests (Files): Likewise.
58714         * modules/sigaction-tests (Files): Likewise.
58715         * modules/sleep-tests (Files): Likewise.
58716         * modules/snprintf-posix-tests (Files): Likewise.
58717         * modules/snprintf-tests (Files): Likewise.
58718         * modules/sprintf-posix-tests (Files): Likewise.
58719         * modules/stat-tests (Files): Likewise.
58720         * modules/strcasestr-tests (Files): Likewise.
58721         * modules/strchrnul-tests (Files): Likewise.
58722         * modules/strerror-tests (Files): Likewise.
58723         * modules/strsignal-tests (Files): Likewise.
58724         * modules/strstr-tests (Files): Likewise.
58725         * modules/strtod-tests (Files): Likewise.
58726         * modules/strverscmp-tests (Files): Likewise.
58727         * modules/symlink-tests (Files): Likewise.
58728         * modules/symlinkat-tests (Files): Likewise.
58729         * modules/times-tests (Files): Likewise.
58730         * modules/trunc-tests (Files): Likewise.
58731         * modules/truncf-tests (Files): Likewise.
58732         * modules/truncl-tests (Files): Likewise.
58733         * modules/tsearch-tests (Files): Likewise.
58734         * modules/uname-tests (Files): Likewise.
58735         * modules/unlink-tests (Files): Likewise.
58736         * modules/unsetenv-tests (Files): Likewise.
58737         * modules/usleep-tests (Files): Likewise.
58738         * modules/utimensat-tests (Files): Likewise.
58739         * modules/vasprintf-tests (Files): Likewise.
58740         * modules/vdprintf-posix-tests (Files): Likewise.
58741         * modules/vfprintf-posix-tests (Files): Likewise.
58742         * modules/vprintf-posix-tests (Files): Likewise.
58743         * modules/vsnprintf-posix-tests (Files): Likewise.
58744         * modules/vsnprintf-tests (Files): Likewise.
58745         * modules/vsprintf-posix-tests (Files): Likewise.
58746         * modules/wcrtomb-tests (Files): Likewise.
58747         * modules/wcsnrtombs-tests (Files): Likewise.
58748         * modules/wcsrtombs-tests (Files): Likewise.
58749         * modules/wcwidth-tests (Files): Likewise.
58750         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
58751         * tests/test-isinf.c (isinf): Likewise.
58752         * tests/test-isnan.c (isnan): Likewise.
58753         * tests/test-signbit.c (signbit): Likewise.
58754         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
58755         declaration, either as macro or with correct signature.
58756         (select): Ensure function under test is declared with correct
58757         signature in correct header.
58758         * tests/test-atexit.c (atexit): Likewise.
58759         * tests/test-btowc.c (btowc): Likewise.
58760         * tests/test-canonicalize-lgpl.c (realpath)
58761         (canonicalize_file_name): Likewise.
58762         * tests/test-ceilf1.c (ceilf): Likewise.
58763         * tests/test-ceill.c (ceill): Likewise.
58764         * tests/test-chown.c (chown): Likewise.
58765         * tests/test-dprintf-posix.c (dprintf): Likewise.
58766         * tests/test-dup2.c (dup2): Likewise.
58767         * tests/test-dup3.c (dup3): Likewise.
58768         * tests/test-duplocale.c (duplocale): Likewise.
58769         * tests/test-fchdir.c (fchdir): Likewise.
58770         * tests/test-fchownat.c (fchownat): Likewise.
58771         * tests/test-fcntl.c (fcntl): Likewise.
58772         * tests/test-fdopendir.c (fdopendir): Likewise.
58773         * tests/test-fflush.c (fflush): Likewise.
58774         * tests/test-flock.c (flock): Likewise.
58775         * tests/test-floorf1.c (floorf): Likewise.
58776         * tests/test-floorl.c (floorl): Likewise.
58777         * tests/test-fnmatch.c (fnmatch): Likewise.
58778         * tests/test-fopen.c (fopen): Likewise.
58779         * tests/test-fprintf-posix.c (fprintf): Likewise.
58780         * tests/test-freopen.c (freopen): Likewise.
58781         * tests/test-frexp.c (frexp): Likewise.
58782         * tests/test-frexpl.c (frexpl): Likewise.
58783         * tests/test-fseek.c (fseek): Likewise.
58784         * tests/test-fseeko.c (fseeko): Likewise.
58785         * tests/test-fstatat.c (fstatat): Likewise.
58786         * tests/test-fsync.c (fsync): Likewise.
58787         * tests/test-ftell.c (ftell): Likewise.
58788         * tests/test-ftello.c (ftello): Likewise.
58789         * tests/test-futimens.c (futimens): Likewise.
58790         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
58791         (gai_strerror): Likewise.
58792         * tests/test-getcwd.c (getcwd): Likewise.
58793         * tests/test-getdelim.c (getdelim): Likewise.
58794         * tests/test-getdtablesize.c (getdtablesize): Likewise.
58795         * tests/test-getgroups.c (getgroups): Likewise.
58796         * tests/test-gethostname.c (gethostname): Likewise.
58797         * tests/test-getline.c (getline): Likewise.
58798         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
58799         Likewise.
58800         * tests/test-gettimeofday.c (gettimeofday): Likewise.
58801         * tests/test-glob.c (glob, globfree): Likewise.
58802         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
58803         * tests/test-inet_ntop.c (inet_ntop): Likewise.
58804         * tests/test-inet_pton.c (inet_pton): Likewise.
58805         * tests/test-isblank.c (isblank): Likewise.
58806         * tests/test-lchown.c (lchown): Likewise.
58807         * tests/test-ldexpl.c (ldexpl): Likewise.
58808         * tests/test-link.c (link): Likewise.
58809         * tests/test-linkat.c (linkat): Likewise.
58810         * tests/test-lseek.c (lseek): Likewise.
58811         * tests/test-lstat.c (lstat): Likewise.
58812         * tests/test-mbrtowc.c (mbrtowc): Likewise.
58813         * tests/test-mbsinit.c (mbsinit): Likewise.
58814         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
58815         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
58816         * tests/test-memchr.c (memchr): Likewise.
58817         * tests/test-memcmp.c (memcmp): Likewise.
58818         * tests/test-memmem.c (memmem): Likewise.
58819         * tests/test-memrchr.c (memrchr): Likewise.
58820         * tests/test-mkdir.c (mkdir): Likewise.
58821         * tests/test-mkdirat.c (mkdirat): Likewise.
58822         * tests/test-mkfifo.c (mkfifo): Likewise.
58823         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
58824         * tests/test-mknod.c (mknod): Likewise.
58825         * tests/test-nanosleep.c (nanosleep): Likewise.
58826         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
58827         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
58828         Likewise.
58829         * tests/test-open.c (open): Likewise.
58830         * tests/test-openat.c (openat): Likewise.
58831         * tests/test-perror.c (perror): Likewise.
58832         * tests/test-pipe2.c (pipe2): Likewise.
58833         * tests/test-poll.c (poll): Likewise.
58834         * tests/test-popen.c (popen, pclose): Likewise.
58835         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
58836         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
58837         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
58838         (posix_spawn_file_actions_destroy)
58839         (posix_spawn_file_actions_addclose)
58840         (posix_spawn_file_actions_addopen)
58841         (posix_spawn_file_actions_adddup2): Likewise.
58842         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
58843         * tests/test-pread.c (pread): Likewise.
58844         * tests/test-printf-posix.c (printf): Likewise.
58845         * tests/test-pty.c (openpty, forkpty): Likewise.
58846         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
58847         (random_r): Likewise.
58848         * tests/test-rawmemchr.c (rawmemchr): Likewise.
58849         * tests/test-readlink.c (readlink): Likewise.
58850         * tests/test-remove.c (remove): Likewise.
58851         * tests/test-rename.c (rename): Likewise.
58852         * tests/test-renameat.c (renameat): Likewise.
58853         * tests/test-rmdir.c (rmdir): Likewise.
58854         * tests/test-round1.c (round): Likewise.
58855         * tests/test-roundf1.c (roundf): Likewise.
58856         * tests/test-roundl.c (roundl): Likewise.
58857         * tests/test-setenv.c (setenv): Likewise.
58858         * tests/test-sigaction.c (sigaction): Likewise.
58859         * tests/test-sleep.c (sleep): Likewise.
58860         * tests/test-snprintf.c (snprintf): Likewise.
58861         * tests/test-sprintf-posix.c (sprintf): Likewise.
58862         * tests/test-stat.c (stat): Likewise.
58863         * tests/test-stpncpy.c (stpncpy): Likewise.
58864         * tests/test-strcasestr.c (strcasestr): Likewise.
58865         * tests/test-strchrnul.c (strchrnul): Likewise.
58866         * tests/test-strerror.c (strerror): Likewise.
58867         * tests/test-strsignal.c (strsignal): Likewise.
58868         * tests/test-strstr.c (strstr): Likewise.
58869         * tests/test-strtod.c (strtod): Likewise.
58870         * tests/test-strverscmp.c (strverscmp): Likewise.
58871         * tests/test-symlink.c (symlink): Likewise.
58872         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
58873         * tests/test-times.c (times): Likewise.
58874         * tests/test-trunc1.c (trunc): Likewise.
58875         * tests/test-truncf1.c (truncf): Likewise.
58876         * tests/test-truncl.c (truncl): Likewise.
58877         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
58878         Likewise.
58879         * tests/test-uname.c (uname): Likewise.
58880         * tests/test-unlink.c (unlink): Likewise.
58881         * tests/test-unlinkat.c (unlinkat): Likewise.
58882         * tests/test-unsetenv.c (unsetenv): Likewise.
58883         * tests/test-usleep.c (usleep): Likewise.
58884         * tests/test-utimensat.c (utimensat): Likewise.
58885         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
58886         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
58887         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
58888         * tests/test-vprintf-posix.c (vprintf): Likewise.
58889         * tests/test-vsnprintf.c (vsnprintf): Likewise.
58890         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
58891         * tests/test-wcrtomb.c (wcrtomb): Likewise.
58892         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
58893         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
58894         * tests/test-wcwidth.c (wcwidth): Likewise.
58896         build: pull in conditional headers during GNULIB_POSIXCHECK
58897         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
58898         definitions from any conditionally-included headers.
58899         * lib/stdlib.in.h (includes): Likewise.
58900         * lib/unistd.in.h (includes): Likewise.
58902 2009-12-24  Bruno Haible  <bruno@clisp.org>
58904         * tests/test-argv-iter.c: Include header file being tested immediately
58905         after config.h.
58906         * tests/test-base64.c: Likewise.
58907         * tests/test-flock.c: Likewise.
58908         * tests/test-fsync.c: Likewise.
58909         * tests/test-getdate.c: Likewise.
58910         * tests/test-getndelim2.c: Likewise.
58911         * tests/test-isfinite.c: Likewise.
58912         * tests/test-isinf.c: Likewise.
58913         * tests/test-strerror.c: Likewise.
58914         * tests/test-strsignal.c: Likewise.
58916 2009-12-23  Eric Blake  <ebb9@byu.net>
58918         unistd: work around cygwin bug
58919         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
58920         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
58921         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
58923 2009-12-23  Bruno Haible  <bruno@clisp.org>
58925         localename: More tests.
58926         * tests/test-localename.c (SIZEOF): New macro.
58927         (categories): New variable.
58928         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
58929         test_locale_name_default): Add test w.r.t. thread locale.
58930         (test_locale_name_thread): New function.
58931         (main): Invoke it.
58933         localename: Make aware of thread locale.
58934         * lib/localename.h (gl_locale_name_thread): New declaration.
58935         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
58936         behaviour with respect to thread locale.
58937         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
58938         <langinfo.h>, glthread/lock.h.
58939         (SIZE_BITS): New macro.
58940         (string_hash): New function.
58941         (struct hash_node): New type.
58942         (HASH_TABLE_SIZE): New macro.
58943         (struniq_hash_table, struniq_lock): New variables.
58944         (struniq): New function.
58945         (gl_locale_name_thread): New function.
58946         (gl_locale_name): Invoke it.
58947         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
58948         * modules/localename (Depends-on): Add lock.
58949         Reported by Mike Gran <spk121@yahoo.com>.
58951 2009-12-23  Eric Blake  <ebb9@byu.net>
58953         va-args: new module
58954         * modules/va-args: New file.
58955         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
58956         * MODULES.html.sh (Core language properties): Mention it.
58958         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
58959         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
58960         named alias for __attribute__((__unused__)).
58961         * lib/chown.c: Update client.
58962         * lib/fchmodat.c: Likewise.
58963         * lib/fts.c: Likewise.
58964         * lib/getdate.y: Likewise.
58965         * lib/getgroups.c: Likewise.
58966         * lib/getopt.c: Likewise.
58967         * lib/getugroups.c: Likewise.
58968         * lib/mkdir.c: Likewise.
58969         * lib/mkfifo.c: Likewise.
58970         * lib/mkfifoat.c: Likewise.
58971         * lib/mknod.c: Likewise.
58972         * lib/mknodat.c: Likewise.
58973         * lib/readlink.c: Likewise.
58974         * lib/se-context.in.h: Likewise.
58975         * lib/se-selinux.in.h: Likewise.
58976         * lib/sockets.c: Likewise.
58977         * lib/symlink.c: Likewise.
58978         * lib/symlinkat.c: Likewise.
58979         * lib/unicodeio.c: Likewise.
58980         * lib/unistr.h: Likewise.
58981         * tests/test-areadlink.c: Likewise.
58982         * tests/test-areadlinkat.c: Likewise.
58983         * tests/test-filenamecat.c: Likewise.
58984         * tests/test-fseeko.c: Likewise.
58985         * tests/test-ftello.c: Likewise.
58986         * tests/test-getdate.c: Likewise.
58987         * tests/test-getgroups.c: Likewise.
58988         * tests/test-gethostname.c: Likewise.
58989         * tests/test-quotearg.c: Likewise.
58990         * tests/test-version-etc.c: Likewise.
58991         * tests/test-xalloc-die.c: Likewise.
58992         * tests/test-xfprintf-posix.c: Likewise.
58993         * tests/test-xprintf-posix.c: Likewise.
58994         * tests/test-xvasprintf.c: Likewise.
58996         tests: avoid compiler warnings
58997         * tests/test-fcntl.c (main): Delete unused parameters.
58998         * tests/test-freopen-safer.c (main): Likewise.
58999         * tests/test-xalloc-die.c (main): Mark unused parameters.
59000         * tests/test-fseeko.c (main): Likewise.
59001         * tests/test-ftello.c (main): Likewise.
59002         * tests/test-nanosleep.c (main): Avoid declaration warning.
59003         * tests/test-sleep.c (main): Likewise.
59004         * tests/test-unsetenv.c (main): Silence warning about string
59005         literal.
59006         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
59008 2009-12-23  Bruno Haible  <bruno@clisp.org>
59010         * tests/test-localename.c (test_locale_name): New function, extracted
59011         from main. Also test mixed situations.
59012         (test_locale_name_posix, test_locale_name_environ,
59013         test_locale_name_default): New functions.
59014         (main): Invoke them all.
59015         * modules/localename-tests (configure.ac): Test for newlocale.
59017 2009-12-23  Bruno Haible  <bruno@clisp.org>
59019         unistd: Ensure getcwd gets declared before being overridden.
59020         * lib/unistd.in.h: Conditionally include <io.h>.
59022 2009-12-22  Bruno Haible  <bruno@clisp.org>
59024         wchar: Diagnose broken combination of glibc and gcc versions and flags.
59025         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
59026         (gl_WCHAR_H): Invoke it.
59027         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
59028         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
59029         Reported by Karl Berry <karl@freefriends.org>.
59031 2009-12-22  Eric Blake  <ebb9@byu.net>
59033         math, unistd: avoid redundant includes
59034         * lib/math.in.h (isnan): No need to re-include <math.h>.
59035         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
59037         getsubopt: work around cygwin bug
59038         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
59039         avoid conflicting with system getsubopt.
59040         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
59041         bug.
59043         getopt: synchronize from glibc
59044         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
59045         parameter order.  Adjust all callers.
59046         (_getopt_internal_r, main): Adjust quoting in error messages.
59047         Drop considerations for outdated POSIX 1003.2 error message.
59048         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
59049         callers.
59050         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
59052         test-getopt: test stderr behavior
59053         * modules/getopt-posix-tests (Depends-on): Add dup2.
59054         * tests/test-getopt.c (ASSERT): Avoid stderr.
59055         (main): Move stderr to a temporary file.
59056         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
59057         Instead, add parameter to inform caller if output occurred.
59058         (test_getopt): Adjust all existing tests to expect silence, and
59059         add new tests of leading ":".
59060         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
59061         glibc shortcomings with leading "-:" or "+:" in optstring.
59062         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
59063         Likewise.
59064         * doc/posix-functions/getopt.texi (getopt): Likewise.
59066         test-getopt: enhance test
59067         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
59068         supports optind=0.
59069         * tests/test-getopt.c (OPTIND_MIN): Move...
59070         * tests/test-getopt.h (OPTIND_MIN): ...here.
59071         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
59072         Require that optind=0 works, since modern BSD supports it in
59073         addition to optreset, and since coreutils expects it.
59074         (test_getopt_long_only): New test.
59075         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
59076         glibc shortcomings with 'W;', and enforcement of optind=0.
59077         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
59078         Likewise.
59080 2009-12-21  Bruno Haible  <bruno@clisp.org>
59082         localename: Improvements for MacOS X and Cygwin.
59083         * lib/localename.h (gl_locale_name_environ): New declaration.
59084         * lib/localename.c (gl_locale_name_environ): New function, extracted from
59085         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
59086         (gl_locale_name_posix): Invoke it.
59087         (gl_locale_name_default): Add comments. Use Windows native API also on
59088         Cygwin.
59090 2009-12-21  Bruno Haible  <bruno@clisp.org>
59092         Update list of Win32 locale ids.
59093         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
59094         (LANG_SAMI): Renamed from LANG_SAAMI.
59095         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
59096         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
59097         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
59098         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
59099         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
59100         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
59101         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
59102         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
59103         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
59104         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
59105         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
59106         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
59107         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
59108         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
59109         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
59110         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
59111         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
59112         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
59113         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
59114         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
59115         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
59116         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
59117         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
59118         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
59119         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
59120         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
59121         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
59122         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
59123         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
59124         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
59125         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
59126         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
59127         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
59128         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
59129         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
59130         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
59131         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
59132         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
59133         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
59134         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
59135         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
59136         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
59137         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
59138         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
59139         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
59140         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
59141         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
59142         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
59143         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
59144         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
59145         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
59146         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
59147         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
59148         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
59149         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
59150         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
59151         Add more languages and countries for Sami, Sorbian. Add more countries
59152         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
59153         for Pashto. Change country for Syriac, Tswana.
59155 2009-12-21  Eric Blake  <ebb9@byu.net>
59157         test-utimens: avoid spurious failure
59158         * tests/test-chown.h (nap): Factor...
59159         * tests/nap.h: ...into new file.
59160         * tests/test-lchown.h (nap): Avoid duplication.
59161         * tests/test-utimens-common.h (nap): Use shared implementation,
59162         necessary on file systems with 1-second resolution.
59163         * modules/chown-tests (Files): Include new file.
59164         * modules/fdutimensat-tests (Files): Likewise.
59165         * modules/futimens-tests (Files): Likewise.
59166         * modules/lchown-tests (Files): Likewise.
59167         * modules/openat-tests (Files): Likewise.
59168         * modules/utimens-tests (Files): Likewise.
59169         * modules/utimensat-tests (Files): Likewise.
59171 2009-12-19  Eric Blake  <ebb9@byu.net>
59173         futimens, utimensat: work around Linux bug
59174         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
59175         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
59176         * lib/utimensat.c (rpl_utimensat): Work around it.
59177         * lib/futimens.c (rpl_futimens): Adjust comment.
59179         utimens: work around Linux ctime bug
59180         * lib/utimens.c (detect_ctime_bug): New helper function.
59181         (update_timespec): Differentiate between workaround needed for
59182         this bug vs. what is needed for systems that lack utimensat.
59183         (fdutimens, lutimens): Work around bug.
59185         utimens: check for ctime update
59186         * tests/test-utimens-common.h (check_ctime): Define.
59187         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
59188         * tests/test-futimens.h (test_futimens): Likewise.
59189         * tests/test-lutimens.h (test_lutimens): Likewise.
59190         * doc/posix-functions/futimens.texi (futimens): Document the bug.
59191         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
59193 2009-12-19  Bruno Haible  <bruno@clisp.org>
59195         dprintf-posix: Check against memory leak fixed on 2009-12-15.
59196         * tests/test-dprintf-posix2.sh: New file.
59197         * tests/test-dprintf-posix2.c: New file.
59198         * modules/dprintf-posix-tests (Files): Add them.
59199         (configure.ac): Check for getrlimit and setrlimit.
59200         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
59202 2009-12-19  Bruno Haible  <bruno@clisp.org>
59204         fprintf-posix: Check against memory leak fixed on 2009-12-15.
59205         * tests/test-fprintf-posix3.sh: New file.
59206         * tests/test-fprintf-posix3.c: New file.
59207         * modules/fprintf-posix-tests (Files): Add them.
59208         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
59210 2009-12-19  Eric Blake  <ebb9@byu.net>
59212         dirfd: fix prototype
59213         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
59214         * lib/dirfd.c (dirfd): Likewise.
59216         canonicalize: reduce memory usage
59217         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
59218         allocation to size.
59219         Reported by Solar Designer <solar@openwall.com>.
59221 2009-12-19  Bruno Haible  <bruno@clisp.org>
59223         New module attribute 'Applicability'.
59224         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
59225         * gnulib-tool: New option --extract-applicability.
59226         (func_usage): Document it.
59227         (sed_extract_prog): Recognize it.
59228         (func_get_applicability): New function.
59229         (func_import): Generalize handling of 'link-warning' module.
59230         * modules/link-warning (Applicability): New section.
59231         * modules/arg-nonnull (Applicability): New section.
59232         Repoted by Simon Josefsson <simon@josefsson.org>.
59234 2009-12-19  Bruno Haible  <bruno@clisp.org>
59236         fflush: tweak
59237         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
59238         * lib/fseeko.c (rpl_fseeko): Likewise.
59240 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
59242         * lib/gl_list.h: Fix typo in comment.
59244 2009-12-16  Eric Blake  <ebb9@byu.net>
59246         fcntl: use to simplify other modules
59247         * modules/cloexec (Depends-on): Add fcntl.
59248         * modules/fchdir (Depends-on): Likewise.
59249         * modules/fd-safer-flag (Depends-on): Likewise.
59250         * modules/unistd-safer (Depends-on): Likewise.
59251         * modules/dup3 (configure.ac): Set module indicator.
59252         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
59253         missing.
59254         * lib/fchdir.c (_gl_register_dup): Fix comment.
59255         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
59256         * lib/dup-safer.c (dup_safer): Likewise.
59257         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
59258         * lib/dup3.c (dup3): Likewise.
59259         * tests/test-fchdir.c (main): Enhance test.
59260         Fixes a dup_cloexec bug reported by Ondřej Vašík.
59262         fcntl: port portions of fcntl to mingw
59263         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
59264         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
59265         replacement for mingw.
59266         * modules/fcntl (Description): Update.
59267         (Depends-on): Add dup2.
59268         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
59269         * modules/fcntl-h (Makefile.am): Substitute it.
59270         * lib/fcntl.in.h (fcntl): Update declaration.
59271         (F_DUPFD, F_GETFD): New macros, when needed.
59272         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
59273         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
59274         * tests/test-fcntl.c (check_flags, main): Enhance test for items
59275         we now guarantee.
59277         fcntl: work around cygwin bug in F_DUPFD
59278         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
59279         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
59280         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
59281         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
59282         * doc/posix-functions/fcntl.texi (fcntl): Document it.
59284         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
59285         * modules/fcntl (Files): List new files.
59286         (configure.ac): Run a test.
59287         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
59288         * lib/fcntl.c (rpl_fcntl): Likewise.
59289         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
59290         (gl_FCNTL_H): Always replace fcntl.h.
59291         * modules/fcntl-h (Makefile.am): Substitute witnesses.
59292         * lib/fcntl.in.h (fcntl): Declare replacement.
59293         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
59294         needed, plus a witness.
59295         * doc/posix-functions/fcntl.texi (fcntl): Document this.
59296         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
59297         * tests/test-fcntl.c: New file.
59298         * modules/fcntl-tests: Likewise.
59300         binary-io: avoid potential compilation warning
59301         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
59302         directives.
59304         fflush: avoid compilation error on NetBSD
59305         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
59306         between off_t and fpos_t, since the latter is sometimes a struct.
59307         * lib/fseeko.c (rpl_fseeko): Likewise.
59308         Reported by Alexander Nasonov <alnsn@yandex.ru>.
59310 2009-12-15  Eric Blake  <ebb9@byu.net>
59312         fcntl-h, stdio, sys_ioctl: fix declarations
59313         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
59314         function must not take arguments.
59315         * lib/sys_ioctl.in.h (ioctl): Likewise.
59316         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
59317         (open): Add a link warning.
59319 2009-12-15  Jim Meyering  <meyering@redhat.com>
59321         areadlink, areadlink-with-size: relax license to LGPLv2+
59322         * modules/areadlink (License): Relax to LGPLv2+.
59323         * modules/areadlink-with-size (License): Likewise.
59325 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
59326             Bruno Haible  <bruno@clisp.org>
59328         *printf: Fix memory leak.
59329         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
59330         * lib/vfprintf.c (vfprintf): Likewise.
59331         * lib/dprintf.c (dprintf): Likewise.
59332         * lib/vdprintf.c (vdprintf): Likewise.
59334 2009-12-14  Eric Blake  <ebb9@byu.net>
59336         accept4: adjust module dependencies
59337         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
59339         utimens: one more try at avoiding compiler warning
59340         * lib/utimens.c (lutimens): Lower scope of result.
59342 2009-12-13  Bruno Haible  <bruno@clisp.org>
59344         Move the malloc checking from module 'list' to new module 'xlist'.
59345         * modules/xlist: New file.
59346         * lib/gl_xlist.h: New file.
59347         * lib/gl_xlist.c: New file.
59348         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
59349         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
59350         gl_list_add_last, gl_list_add_before, gl_list_add_after,
59351         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
59352         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
59353         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
59354         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
59355         gl_sortedlist_nx_add): New declarations.
59356         (struct gl_list_implementation): Rename and change methods accordingly.
59357         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
59358         (gl_list_nx_create): Renamed from gl_list_create.
59359         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
59360         (gl_list_nx_set_at): Renamed from gl_list_set_at.
59361         (gl_list_nx_add_first): Renamed from gl_list_add_first.
59362         (gl_list_nx_add_last): Renamed from gl_list_add_last.
59363         (gl_list_nx_add_before): Renamed from gl_list_add_before.
59364         (gl_list_nx_add_after): Renamed from gl_list_add_after.
59365         (gl_list_nx_add_at): Renamed from gl_list_add_at.
59366         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
59367         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
59368         gl_list_create_empty.
59369         (gl_list_nx_create): Renamed from gl_list_create.
59370         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
59371         (gl_list_nx_set_at): Renamed from gl_list_set_at.
59372         (gl_list_nx_add_first): Renamed from gl_list_add_first.
59373         (gl_list_nx_add_last): Renamed from gl_list_add_last.
59374         (gl_list_nx_add_before): Renamed from gl_list_add_before.
59375         (gl_list_nx_add_after): Renamed from gl_list_add_after.
59376         (gl_list_nx_add_at): Renamed from gl_list_add_at.
59377         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
59378         * lib/gl_array_list.c: Don't include xalloc.h.
59379         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
59380         NULL upon out-of-memory.
59381         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
59382         out-of-memory.
59383         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
59384         Change return type to 'int'.
59385         (gl_array_nx_set_at): Renamed from gl_array_set_at.
59386         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
59387         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
59388         upon out-of-memory.
59389         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
59390         upon out-of-memory.
59391         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
59392         upon out-of-memory.
59393         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
59394         upon out-of-memory.
59395         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
59396         out-of-memory.
59397         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
59398         Update.
59399         (gl_array_list_implementation): Update.
59400         * lib/gl_carray_list.c: Don't include xalloc.h.
59401         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
59402         Return NULL upon out-of-memory.
59403         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
59404         out-of-memory.
59405         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
59406         Change return type to 'int'.
59407         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
59408         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
59409         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
59410         upon out-of-memory.
59411         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
59412         upon out-of-memory.
59413         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
59414         out-of-memory.
59415         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
59416         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
59417         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
59418         Update.
59419         (gl_carray_list_implementation): Update.
59420         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
59421         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
59422         gl_linked_create_empty. Return NULL upon out-of-memory.
59423         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
59424         out-of-memory.
59425         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
59426         Change return type to 'int'. Return -1 upon out-of-memory.
59427         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
59428         out-of-memory.
59429         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
59430         upon out-of-memory.
59431         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
59432         upon out-of-memory.
59433         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
59434         NULL upon out-of-memory.
59435         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
59436         upon out-of-memory.
59437         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
59438         out-of-memory.
59439         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
59440         Update.
59441         * lib/gl_linked_list.c: Don't include xalloc.h.
59442         (gl_linked_list_implementation): Update.
59443         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
59444         (add_to_bucket): Change return type to 'int'.
59445         (gl_linkedhash_list_implementation): Update.
59446         * lib/gl_anytree_list1.h (free_subtree): New function.
59447         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
59448         gl_tree_create_empty. Return NULL upon out-of-memory.
59449         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
59450         Change return type to 'int'. Return -1 upon out-of-memory.
59451         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
59452         out-of-memory.
59453         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
59454         (gl_tree_remove_node): New function, moved here from
59455         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
59456         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
59457         Update.
59458         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
59459         malloc, not xmalloc. Return NULL upon out-of-memory.
59460         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
59461         out-of-memory.
59462         (gl_tree_remove_node_from_tree): New function, extracted from
59463         gl_tree_remove_node.
59464         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
59465         upon out-of-memory.
59466         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
59467         out-of-memory.
59468         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
59469         upon out-of-memory.
59470         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
59471         upon out-of-memory.
59472         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
59473         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
59474         not xmalloc. Return NULL upon out-of-memory.
59475         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
59476         out-of-memory.
59477         (gl_tree_remove_node_from_tree): New function, extracted from
59478         gl_tree_remove_node.
59479         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
59480         upon out-of-memory.
59481         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
59482         out-of-memory.
59483         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
59484         upon out-of-memory.
59485         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
59486         upon out-of-memory.
59487         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
59488         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
59489         gl_anytree_list1.h before gl_anyavltree_list2.h.
59490         (gl_avltree_list_implementation): Update.
59491         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
59492         gl_anytree_list1.h before gl_anyavltree_list2.h.
59493         (gl_rbtree_list_implementation): Update.
59494         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
59495         Change return type to 'int'. Return -1 upon out-of-memory. Use
59496         __builtin_expect.
59497         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
59498         (gl_avltreehash_list_implementation): Update.
59499         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
59500         (gl_rbtreehash_list_implementation): Update.
59501         * modules/array-list (Depends-on): Remove xalloc.
59502         * modules/carray-list (Depends-on): Likewise.
59503         * modules/linked-list (Depends-on): Likewise.
59504         * modules/linkedhash-list (Depends-on): Likewise.
59505         * modules/avltree-list (Depends-on): Likewise.
59506         * modules/rbtree-list (Depends-on): Likewise.
59507         * modules/avltreehash-list (Depends-on): Likewise.
59508         * modules/rbtreehash-list (Depends-on): Likewise.
59510         * modules/xsublist: New file.
59511         * lib/gl_xsublist.h: New file.
59512         * lib/gl_xsublist.c: New file.
59513         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
59514         (gl_sublist_nx_create): New declaration.
59515         * lib/gl_sublist.c: Don't include xalloc.h.
59516         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
59517         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
59518         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
59519         Change return type to 'int'. Return -1 upon out-of-memory.
59520         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
59521         upon out-of-memory.
59522         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
59523         NULL upon out-of-memory.
59524         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
59525         upon out-of-memory.
59526         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
59527         NULL upon out-of-memory.
59528         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
59529         NULL upon out-of-memory.
59530         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
59531         upon out-of-memory.
59532         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
59533         (gl_sublist_list_implementation): Update.
59534         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
59535         upon out-of-memory.
59536         * modules/sublist (Depends-on): Remove xalloc.
59538         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
59539         * tests/test-carray_list.c: Likewise.
59540         * tests/test-linked_list.c: Likewise.
59541         * tests/test-linkedhash_list.c: Likewise.
59542         * tests/test-avltree_list.c: Likewise.
59543         * tests/test-rbtree_list.c: Likewise.
59544         * tests/test-avltreehash_list.c: Likewise.
59545         * tests/test-rbtreehash_list.c: Likewise.
59546         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
59547         * modules/carray-list-tests (Makefile.am): Likewise.
59548         * modules/linked-list-tests (Makefile.am): Likewise.
59549         * modules/linkedhash-list-tests (Makefile.am): Likewise.
59550         * modules/avltree-list-tests (Makefile.am): Likewise.
59551         * modules/rbtree-list-tests (Makefile.am): Likewise.
59552         * modules/avltreehash-list-tests (Makefile.am): Likewise.
59553         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
59555         * NEWS: Mention the changes.
59557         * lib/clean-temp.c: Include gl_xlist.h.
59558         * modules/clean-temp (Depends-on): Add xlist.
59560         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
59561         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
59563         * tests/test-array_oset.c: Include gl_xlist.h.
59564         * modules/array-oset-tests (Depends-on): Add xlist.
59566         Reported by José E. Marchesi <jemarch@gnu.org>.
59568 2009-12-13  Bruno Haible  <bruno@clisp.org>
59570         Move the malloc checking from module 'oset' to new module 'xoset'.
59571         * modules/xoset: New file.
59572         * lib/gl_xoset.h: New file.
59573         * lib/gl_xoset.c: New file.
59574         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
59575         declarations.
59576         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
59577         (struct gl_oset_implementation): Rename and change methods accordingly.
59578         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
59579         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
59580         'int'. Mark as __warn_unused_result__.
59581         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
59582         gl_oset_create_empty.
59583         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
59584         'int'.
59585         * lib/gl_array_oset.c: Don't include xalloc.h.
59586         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
59587         malloc, not xmalloc.
59588         (grow): Change return type to 'int'. Don't call xalloc_die.
59589         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
59590         to 'int'.
59591         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
59592         'int'.
59593         (gl_array_oset_implementation): Update.
59594         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
59595         gl_tree_create_empty.
59596         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
59597         'int'.
59598         * lib/gl_avltree_oset.c: Don't include xalloc.h.
59599         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
59600         xmalloc.
59601         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
59602         not xmalloc.
59603         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
59604         xmalloc.
59605         (gl_avltree_oset_implementation): Update.
59606         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
59607         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
59608         xmalloc.
59609         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
59610         not xmalloc.
59611         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
59612         xmalloc.
59613         (gl_rbtree_oset_implementation): Update.
59614         * modules/array-oset (Depends-on): Remove xalloc.
59615         * modules/avltree-oset (Depends-on): Likewise.
59616         * modules/rbtree-oset (Depends-on): Likewise.
59617         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
59618         * tests/test-avltree_oset.c: Likewise.
59619         * tests/test-rbtree_oset.c: Likewise.
59620         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
59621         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
59622         * modules/rbtree-oset-tests (Makefile.am): Likewise.
59623         * NEWS: Mention the change.
59625 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
59627         maint.mk: allow a project to override release-prep commands
59628         * top/maint.mk (alpha, beta, stable): Move release-preparatory
59629         commands into a new rule.
59630         (release-prep): New rule.
59631         (release-prep-hook): New overridable variable.
59633 2009-12-13  Bruno Haible  <bruno@clisp.org>
59635         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
59637 2009-12-13  Jim Meyering  <meyering@redhat.com>
59639         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
59640         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
59642 2009-12-12  Bruno Haible  <bruno@clisp.org>
59644         duplocale: Tweak.
59645         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
59647 2009-12-12  Karl Berry  <karl@gnu.org>
59649         * config/srclist.txt (strtoll.c): tab changes, no more sync.
59651 2009-12-12  Bruno Haible  <bruno@clisp.org>
59653         * m4/po.m4: Undo incorrect untabification.
59655 2009-12-12  Bruno Haible  <bruno@clisp.org>
59657         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
59658         * modules/c-strtod (Depends-on): Add locale.
59659         * modules/c-strtold (Depends-on): Likewise.
59661 2009-12-12  Bruno Haible  <bruno@clisp.org>
59663         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
59665 2009-12-11  Eric Blake  <ebb9@byu.net>
59667         setenv: relax requirement in light of POSIX ruling
59668         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
59669         not NULL.
59670         * tests/test-setenv.c (main): Relax test.
59671         * tests/test-unsetenv.c (main): Likewise.
59672         * doc/posix-functions/setenv.texi (setenv): Document this.
59673         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
59675 2009-12-11  Bruno Haible  <bruno@clisp.org>
59677         New module 'fd-safer-flag'.
59678         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
59679         * lib/dup-safer.c (dup_safer_flag): Remove function.
59680         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
59681         * lib/fd-safer.c (fd_safer_flag): Remove function.
59682         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
59683         * modules/cloexec (configure.ac): Drop indicator macro.
59684         * modules/fd-safer-flag: New file.
59685         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
59686         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
59687         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
59689 2009-12-11  Bruno Haible  <bruno@clisp.org>
59691         Tests for module 'nl_langinfo'.
59692         * modules/nl_langinfo-tests: New file.
59693         * tests/test-nl_langinfo.sh: New file.
59694         * tests/test-nl_langinfo.c: New file.
59696         New module 'nl_langinfo'.
59697         * lib/nl_langinfo.c: New file.
59698         * m4/nl_langinfo.m4: New file.
59699         * modules/nl_langinfo: New file.
59700         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
59702 2009-12-11  Bruno Haible  <bruno@clisp.org>
59704         Tests for module 'langinfo'.
59705         * modules/langinfo-tests: New file.
59706         * tests/test-langinfo.c: New file.
59708         New module 'langinfo'.
59709         * lib/langinfo.in.h: New file.
59710         * m4/langinfo_h.m4: New file.
59711         * modules/langinfo: New file.
59712         * doc/posix-headers/langinfo.texi: Mention the new module.
59714 2009-12-11  Bruno Haible  <bruno@clisp.org>
59716         * lib/config.charset: Untabify.
59718 2009-12-11  Bruno Haible  <bruno@clisp.org>
59720         * modules/unistd-safer (configure.ac): Drop indicator macro.
59722 2009-12-11  Bruno Haible  <bruno@clisp.org>
59724         Move pipe2-safer code to its own file.
59725         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
59726         * lib/pipe-safer.c (pipe2_safer): Remove function.
59727         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
59728         (Makefile.am): Add it to lib_SOURCES.
59730 2009-12-10  Bruno Haible  <bruno@clisp.org>
59732         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
59734 2009-12-10  Bruno Haible  <bruno@clisp.org>
59736         Declare which arguments expect non-NULL values, for GCC and clang.
59737         * build-aux/arg-nonnull.h: New file.
59738         * modules/arg-nonnull: New file.
59739         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
59740         (inet_ntop, inet_pton): Use it.
59741         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
59742         (closedir, dirfd, opendir, scandir, alphasort): Use it.
59743         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
59744         (open, openat): Use it.
59745         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
59746         (fnmatch): Use it.
59747         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
59748         (getopt, getopt_long, getopt_long_only): Use it.
59749         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
59750         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
59751         Use it.
59752         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
59753         (iconv_open): Use it.
59754         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
59755         (strtoimax, strtoumax): Use it.
59756         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
59757         (duplocale): Use it.
59758         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
59759         (frexp, frexpl): Use it.
59760         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
59761         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
59762         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
59763         (tsearch, tfind, tdelete, twalk): Use it.
59764         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
59765         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
59766         sigpending): Use it.
59767         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
59768         (posix_spawn, posix_spawnp, posix_spawnattr_init,
59769         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
59770         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
59771         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
59772         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
59773         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
59774         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
59775         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
59776         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
59777         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
59778         Use it.
59779         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
59780         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
59781         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
59782         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
59783         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
59784         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
59785         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
59786         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
59787         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
59788         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
59789         strtoull, unsetenv): Use it.
59790         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
59791         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
59792         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
59793         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
59794         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
59795         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
59796         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
59797         (strcasecmp, strncasecmp): Use it.
59798         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
59799         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
59800         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
59801         rpl_setsockopt): Use it.
59802         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
59803         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
59804         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
59805         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
59806         (gettimeofday): Use it.
59807         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
59808         (times): Use it.
59809         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
59810         (uname): Use it.
59811         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
59812         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
59813         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
59814         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
59815         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
59816         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
59817         unlinkat, write): Use it.
59818         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
59819         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
59820         * lib/argv-iter.h: Include arg-nonnull.h.
59821         (_ATTRIBUTE_NONNULL_): Remove macro.
59822         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
59823         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
59824         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
59825         optimization.
59826         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
59827         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
59828         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
59829         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
59830         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
59831         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
59832         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
59833         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
59834         * modules/arpa_inet (Depends-on): Add arg-nonnull.
59835         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
59836         * modules/dirent (Depends-on): Add arg-nonnull.
59837         (Makefile.am): Insert arg-nonnull.h into dirent.h.
59838         * modules/fcntl-h (Depends-on): Add arg-nonnull.
59839         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
59840         * modules/fnmatch (Depends-on): Add arg-nonnull.
59841         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
59842         * modules/getopt-posix (Depends-on): Add arg-nonnull.
59843         (Makefile.am): Insert arg-nonnull.h into getopt.h.
59844         * modules/glob (Depends-on): Add arg-nonnull.
59845         (Makefile.am): Insert arg-nonnull.h into glob.h.
59846         * modules/iconv_open (Depends-on): Add arg-nonnull.
59847         (Makefile.am): Insert arg-nonnull.h into iconv.h.
59848         * modules/inttypes (Depends-on): Add arg-nonnull.
59849         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
59850         * modules/locale (Depends-on): Add arg-nonnull.
59851         (Makefile.am): Insert arg-nonnull.h into locale.h.
59852         * modules/math (Depends-on): Add arg-nonnull.
59853         (Makefile.am): Insert arg-nonnull.h into math.h.
59854         * modules/netdb (Depends-on): Add arg-nonnull.
59855         (Makefile.am): Insert arg-nonnull.h into netdb.h.
59856         * modules/search (Depends-on): Add arg-nonnull.
59857         (Makefile.am): Insert arg-nonnull.h into search.h.
59858         * modules/signal (Depends-on): Add arg-nonnull.
59859         (Makefile.am): Insert arg-nonnull.h into signal.h.
59860         * modules/spawn (Depends-on): Add arg-nonnull.
59861         (Makefile.am): Insert arg-nonnull.h into spawn.h.
59862         * modules/stdio (Depends-on): Add arg-nonnull.
59863         (Makefile.am): Insert arg-nonnull.h into stdio.h.
59864         * modules/stdlib (Depends-on): Add arg-nonnull.
59865         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
59866         * modules/string (Depends-on): Add arg-nonnull.
59867         (Makefile.am): Insert arg-nonnull.h into string.h.
59868         * modules/strings (Depends-on): Add arg-nonnull.
59869         (Makefile.am): Insert arg-nonnull.h into strings.h.
59870         * modules/sys_socket (Depends-on): Add arg-nonnull.
59871         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
59872         * modules/sys_stat (Depends-on): Add arg-nonnull.
59873         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
59874         * modules/sys_time (Depends-on): Add arg-nonnull.
59875         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
59876         * modules/sys_times (Depends-on): Add arg-nonnull.
59877         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
59878         * modules/sys_utsname (Depends-on): Add arg-nonnull.
59879         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
59880         * modules/time (Depends-on): Add arg-nonnull.
59881         (Makefile.am): Insert arg-nonnull.h into time.h.
59882         * modules/unistd (Depends-on): Add arg-nonnull.
59883         (Makefile.am): Insert arg-nonnull.h into unistd.h.
59884         * modules/wchar (Depends-on): Add arg-nonnull.
59885         (Makefile.am): Insert arg-nonnull.h into wchar.h.
59886         * modules/argv-iter (Depends-on): Add arg-nonnull.
59887         * tests/test-canonicalize.c (null_ptr): New function.
59888         (main): Use it.
59889         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
59890         (main): Use it.
59891         * tests/test-memmem.c (null_ptr): New function.
59892         (main): Use it.
59893         Reported by Jim Meyering.
59895 2009-12-10  Bruno Haible  <bruno@clisp.org>
59897         Use spaces for indentation, not tabs.
59898         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
59899         * m4/*.m4: Untabify.
59900         * build-aux/*.h: Untabify.
59901         * tests/**/*.[hc]: Untabify.
59902         * README: New section "Indent with spaces, not TABs", based on
59903         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
59904         * NEWS: Mention the change.
59906 2009-12-10  Bruno Haible  <bruno@clisp.org>
59908         pty test: Fix link error.
59909         * modules/pty-tests (Makefile.am): Add the default LDADD value to
59910         test_pty_LDADD.
59912 2009-12-07  Simon Josefsson  <simon@josefsson.org>
59914         * modules/pty: New file.
59915         * modules/pty-tests: New file.
59916         * m4/pty.m4: New file.
59917         * tests/test-pty.c: New file.
59918         * doc/glibc-headers/pty.texi: Modified.
59919         * doc/glibc-functions/forkpty.texi: Modified.
59920         * doc/glibc-functions/openpty.texi: Modified.
59922 2009-12-10  Bruno Haible  <bruno@clisp.org>
59924         Avoid syntax error in C++ mode.
59925         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
59927 2009-12-10  Bruno Haible  <bruno@clisp.org>
59929         Use sed with option -e.
59930         * gnulib-tool (func_version, func_emit_copyright_notice,
59931         func_emit_initmacro_end, func_import, func_create_testdir): Pass
59932         option -e to sed.
59933         * modules/link-warning (Makefile.am): Likewise.
59935 2009-12-10  Jim Meyering  <meyering@redhat.com>
59937         mgetgroups: do not write bytes beyond end of malloc'd buffer
59938         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
59939         username, we call getgroups with a one-element-shorter buffer,
59940         but still told it the length was original, max_n_groups.
59942 2009-12-09  Eric Blake  <ebb9@byu.net>
59944         cloexec: relax license
59945         * modules/cloexec (Maintainer): Add myself.
59946         (License): Use LGPL, not GPL.
59948         link-warning: optimize generation
59949         * modules/link-warning (Makefile.am): Reduce process usage.
59951 2009-12-09  Bruno Haible  <bruno@clisp.org>
59953         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
59954         workaround was added on 2009-11-17.
59956 2009-12-09  Jim Meyering  <meyering@redhat.com>
59957             Bruno Haible  <bruno@clisp.org>
59959         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
59960         * modules/link-warning (Makefile.am): Make the comment-removing sed
59961         command more robust in the face of bootstrap-prepended comment lines.
59963 2009-12-09  Bruno Haible  <bruno@clisp.org>
59965         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
59966         most one group.
59968 2009-12-09  Simon Josefsson  <simon@josefsson.org>
59969             Bruno Haible  <bruno@clisp.org>
59971         * build-aux/link-warning.h: Add copyright notice.
59972         * modules/link-warning (Makefile.am): Generate link-warning.h from
59973         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
59974         * NEWS: Mention change in link-warning module.
59975         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
59976         * modules/dirent (Makefile.am): Add dependency to dirent.h.
59977         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
59978         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
59979         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
59980         * modules/math (Makefile.am): Add dependency to math.h.
59981         * modules/search (Makefile.am): Add dependency to search.h.
59982         * modules/signal (Makefile.am): Add dependency to signal.h.
59983         * modules/spawn (Makefile.am): Add dependency to spawn.h.
59984         * modules/stdio (Makefile.am): Add dependency to stdio.h.
59985         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
59986         * modules/string (Makefile.am): Add dependency to string.h.
59987         * modules/strings (Makefile.am): Add dependency to strings.h.
59988         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
59989         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
59990         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
59991         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
59992         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
59993         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
59994         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
59995         * modules/unistd (Makefile.am): Add dependency to unistd.h.
59996         * modules/wchar (Makefile.am): Add dependency to wchar.h.
59998 2009-12-09  Bruno Haible  <bruno@clisp.org>
60000         fchdir: Optimize away rpl_fstat when possible.
60001         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
60002         REPLACE_OPEN_DIRECTORY.
60003         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
60005 2009-12-09  Bruno Haible  <bruno@clisp.org>
60007         * lib/fchdir.c: Update comment.
60009 2009-12-09  Bruno Haible  <bruno@clisp.org>
60011         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
60013 2009-12-08  Eric Blake  <ebb9@byu.net>
60015         fchdir: avoid memory leak on re-registration.
60016         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
60018 2009-12-08  Jim Meyering  <meyering@redhat.com>
60020         init.sh: avoid Solaris 10 /bin/sh portability problem
60021         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
60022         sourced script:
60023           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
60024           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
60025           bar
60026         tests/init.sh relied on that, accepting a --set-path=DIR argument,
60027         and two tests used that idiom.
60028         * tests/init.sh: Update suggested usage comments.
60029         (path_prepend_): New function, to be used in place
60030         of the --src-path=DIR option.
60031         (setup_): Move PATH-prepending code into path_prepend_.
60032         * tests/test-pread.sh: Adapt to new usage.
60033         * tests/test-xalloc-die.sh: Likewise.
60035 2009-12-08  Simon Josefsson  <simon@josefsson.org>
60037         * doc/gnulib.texi (Glibc pty.h): Add.
60038         * doc/glibc-functions/forkpty.texi: Add.
60039         * doc/glibc-functions/openpty.texi: Add.
60040         Suggested by Bruno Haible.
60042 2009-12-08  Eric Blake  <ebb9@byu.net>
60044         fchdir: fix logic bugs
60045         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
60046         * tests/test-fchdir.c (main): Enhance test.
60047         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
60048         is in use.
60050         dup2: fix logic bugs
60051         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
60052         REPLACE_DUP2 to decide when rpl_dup2 is needed.
60053         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
60054         exists.
60055         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
60057 2009-12-07  Eric Blake  <ebb9@byu.net>
60059         unlink: fix m4 detection
60060         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
60062         unistd-safer: add unit test
60063         * modules/unistd-safer-tests: New file.
60064         * tests/test-dup-safer.c: Likewise.
60065         * tests/test-cloexec.c (setmode): Avoid compiler warning.
60066         * tests/test-dup2.c (setmode): Likewise.
60067         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
60069         cloexec: preserve text vs. binary across dup_cloexec
60070         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
60071         mode.
60072         * modules/dup2-tests (Depends-on): Add binary-io.
60073         * modules/cloexec-tests (Depends-on): Likewise.
60074         * tests/test-dup2.c (setmode, is_mode): New helpers.
60075         (main): Add tests that translation mode is preserved.
60076         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
60077         Reported by Bruno Haible.
60079         mgetgroups: reduce duplicate listings
60080         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
60081         resulting array.
60082         * tests/test-chown.h (test_chown): Simplify client.
60083         * tests/test-lchown.h (test_lchown): Likewise.
60085 2009-12-06  Bruno Haible  <bruno@clisp.org>
60087         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
60088         value.
60090 2009-12-06  Bruno Haible  <bruno@clisp.org>
60092         * lib/progname.c: Include stdio.h, stdlib.h.
60093         (set_program_name): Reject a NULL argument.
60095 2009-12-05  Eric Blake  <ebb9@byu.net>
60097         pipe2-safer: new module
60098         * modules/pipe2-safer: New file.
60099         * lib/unistd-safer.h (pipe2_safer): New prototype.
60100         * lib/unistd--.h (pipe2): New wrapper.
60101         * lib/pipe-safer.c (pipe2_safer): New function.
60102         * modules/pipe (Depends-on): Add pipe2-safer.
60103         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
60105         stdlib-safer: preserve cloexec flag for mkostemp[s]
60106         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
60107         fd_safer_flag.
60109         unistd-safer: allow preservation of cloexec status via flag
60110         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
60111         prototypes.
60112         * lib/dup-safer.c (dup_safer_flag): New function.
60113         * lib/fd-safer.c (fd_safer_flag): Likewise.
60114         * modules/cloexec (configure.ac): Set witness.
60116         test-dup2: enhance test
60117         * modules/dup2-tests (Depends-on): Add cloexec.
60118         * tests/test-dup2.c (main): Enhance test.
60120         cloexec: add dup_cloexec
60121         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
60122         header and comments.
60123         * lib/cloexec.c (set_cloexec_flag): Add comments.
60124         (dup_cloexec): New function, with mingw implementation borrowed
60125         from...
60126         * lib/w32spawn.h (dup_noinherit): ...here.
60127         * modules/execute (Depends-on): Add cloexec.
60128         * modules/pipe (Depends-on): Likewise.
60129         * modules/cloexec (Depends-on): Add dup2.
60130         * modules/cloexec-tests (Files): New file.
60131         * tests/test-cloexec.c: Likewise.
60133         test-xalloc-die: fix test for mingw
60134         * modules/xalloc-die-tests (Files): Add tests/init.sh.
60135         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
60136         directory and .exe suffix off argv[0] output.
60138         test-fseeko: fix test for mingw
60139         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
60140         than undefining fseek, so test will pass on mingw.
60142 2009-12-05  Bruno Haible  <bruno@clisp.org>
60144         * lib/progname.h (set_program_name): Clarify specification.
60145         * lib/progname.c (set_program_name): Likewise.
60146         Reported by Jim Meyering.
60148 2009-12-05  Jim Meyering  <meyering@redhat.com>
60150         maint.mk: backslash-escape parens in default regexp
60151         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
60152         backslash-escape the literal parentheses.
60154         maint.mk: news-date-check: use grep -E
60155         * top/maint.mk (today): Define a Make variable, not a...
60156         (news-date-check): ...shell variable.
60157         (news-date-regexp): Use the Make variable.
60158         Use grep's -E option.  Change the failing diagnostic to mention
60159         the variable, $(news-date-regexp).
60161 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
60163         maintainer-makefile: allow customization of NEWS entry format
60164         * top/maint.mk (news-date-regexp): New overridable variable.
60165         (news-date-check): Use it.
60167 2009-12-04  Eric Blake  <ebb9@byu.net>
60169         mgetgroups: add xgetgroups, and avoid ENOSYS failures
60170         * lib/mgetgroups.h (xgetgroups): New prototype.
60171         * lib/mgetgroups.c (xgetgroups): New wrapper.
60172         (mgetgroups): Handle ENOSYS.
60173         * modules/mgetgroups (Depends-on): Add realloc.
60174         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
60176         mgetgroups: avoid argument promotion issues with -1
60177         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
60178         for invalid gid_t.
60179         * tests/test-chown.h (getegid, test_chown): Likewise.
60180         * tests/test-lchown.h (getegid, test_lchown): Likewise.
60182 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
60184         exclude: Fix header file problems.
60185         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
60187 2009-12-01  Jim Meyering  <meyering@redhat.com>
60189         fts: fts_open: do not let an empty string cause immediate failure
60190         This is required in support of GNU rm, for which the command
60191         "rm A '' B" must process and remove both A and B, in spite of
60192         the empty string argument.
60193         * lib/fts.c (fts_open): Do not let the presence of an empty string
60194         cause fts_open to fail immediately.  Most fts-using tools must be
60195         able to process all arguments, in order, and can be expected to
60196         diagnose such arguments themselves.
60198 2009-11-30  Eric Blake  <ebb9@byu.net>
60200         utimens: fix compilation error
60201         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
60202         Declare variable at right scope.
60204 2009-11-29  Jim Meyering  <meyering@redhat.com>
60206         bootstrap: handle perl-5.11's changed --version output
60207         * build-aux/bootstrap (get_version): Handle perl separately,
60208         since perl-5.11's --version output is different.
60210 2009-11-28  Jim Meyering  <meyering@redhat.com>
60212         userspec: depend on the inttostr module, too
60213         * modules/userspec (Depends-on): Add inttostr.
60215         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
60216         * lib/userspec.c (parse_with_separator): Do not accept a user ID
60217         number of MAXUID when it evaluates to (uid_t) -1.
60218         Likewise for group ID.  Reported by Matt McCutchen in
60219         <http://savannah.gnu.org/bugs/?28113>
60221         userspec: reformat to use spaces, not TABs
60222         * lib/userspec.c: Expand TABs to spaces.
60223         Add Emacs' "indent-tabs-mode: nil" hint.
60225 2009-11-27  Eric Blake  <ebb9@byu.net>
60227         getopt-gnu: flush out another BSD bug
60228         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
60229         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
60230         flush out BSD bug.
60231         * tests/test-getopt.h (test_getopt): End lists with NULL.
60232         * tests/test-getopt_long.h (test_getopt_long): Likewise.
60233         (test_getopt_long_posix): Enhance test.
60234         * modules/getopt-posix-tests (Depends-on): Add stdbool.
60235         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
60236         getopt-gnu.
60237         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
60238         Likewise.
60240 2009-11-27  Simon Josefsson  <simon@josefsson.org>
60242         * modules/idpriv-droptemp-tests (Notice): Fix text.
60244 2009-11-27  Jim Meyering  <meyering@redhat.com>
60246         test-xalloc-die: avoid spurious failure due to libtool argv difference
60247         In a libtool-enabled project, this test would fail due to a difference
60248         in the emitted program name, e.g.,
60249         -test-xalloc-die: memory exhausted
60250         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
60251         Use program to avoid that.
60252         * modules/xalloc-die-tests (Depends-on): Add progname.
60253         * tests/test-xalloc-die.c: Include progname.h".
60254         (program_name): Remove decl.
60255         (main): Call set_program_name.
60256         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
60258 2009-11-26  Richard Jones  <rjones@redhat.com>
60260         w32sock: leave win32 error in place.
60261         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
60263 2009-11-26  Eric Blake  <ebb9@byu.net>
60265         init.sh: suggest to use skip_ and fail_ functions in comments
60266         * tests/init.sh: Add a sentence.
60268 2009-11-25  Bruno Haible  <bruno@clisp.org>
60270         init.sh: add documentation in comments
60271         * tests/init.sh: Add some developer and user documentation.
60273 2009-11-26  Jim Meyering  <meyering@redhat.com>
60275         init.sh: accommodate even those who specify bogus srcdir manually
60276         * tests/init.sh: Normally, srcdir is guaranteed by automake and
60277         configure-time tests to be sanitized, so that there is no need to
60278         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
60279         (with no double quotes) suffices.  However, since tests may be
60280         invoked manually, and since you may explicitly set srcdir to the
60281         name of a directory containing spaces, do quote its uses here.
60282         * tests/test-pread.sh: Likewise.
60283         Suggested by Bruno Haible.
60285         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
60286         * tests/test-pread.sh: Write no data into the pipe, because
60287         test-pread actually reads none.  This avoids a diagnostic,
60288         "bash: echo: write error: Broken pipe", that arises in the unusual
60289         event something is ignoring SIGPIPE, and might be interpreted
60290         as some sort of failure.  Reported by Bruno Haible.
60292 2009-11-25  Jim Meyering  <meyering@redhat.com>
60294         test-pread: cover failure with ESPIPE and EINVAL
60295         * tests/test-pread.c (main): Test for failure, too.
60296         * tests/test-pread.sh: Invoke with stdin on a pipe.
60297         Suggested by Eric Blake.
60299         pread: improvement and fix
60300         * modules/pread (Depends-on): Depend on lseek, for portability to
60301         e.g., mingw.  Suggested by Eric Blake.
60302         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
60304         unistd.in.h: correct declaration of pread
60305         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
60306         Reported by Richard W.M. Jones.
60308         test-pread.sh: distribute the test script
60309         * modules/pread-tests (Files): Include test-pread.sh.
60311         test-pread.sh: clean up
60312         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
60313         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
60314         That is unnecessary, since it's always ".".
60315         Suggestion from Eric Blake.
60317         test-pread.sh: make executable
60318         * tests/test-pread.sh: Set executable bit.
60319         Reported by Eric Blake.
60321         correct typo in test-pread.sh
60322         * tests/test-pread.sh: Add #! line.
60324         test pread
60325         * tests/test-pread.c: New file.
60326         * tests/test-pread.sh: Likewise.
60327         * modules/pread-tests: Likewise.
60329         pread: new module
60330         * modules/pread: New file.
60331         * lib/unistd.in.h (pread): Define/declare.
60332         * lib/pread.c (pread): New file.
60333         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
60334         * modules/unistd (Makefile.am): Substitute witnesses.
60335         * doc/posix-functions/pread.texi (pread): Update.
60336         * MODULES.html.sh: Add pread.
60338 2009-11-25  Jim Meyering  <meyering@redhat.com>
60340         tests/init.sh: new file to be used via most *.sh tests
60341         * tests/init.sh: New file.
60343 2009-11-25  Eric Blake  <ebb9@byu.net>
60345         utimens: work around older Linux failure with symlinks
60346         * lib/utimens.c (lutimensat_works_really): New variable.
60347         (fdutimens, lutimens): Use it to manage kernels that support
60348         nanosecond times on files, but not on symlinks.
60349         Reported by Ondřej Vašík.
60351         utimes: fix configure grammar
60352         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
60354 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
60356         regex: Fix fastmap for multibyte character ranges.
60357         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
60358         characters when a multibyte character range is included.
60360 2009-11-22  Andy Wingo  <wingo@pobox.com>
60362         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
60363         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
60365 2009-11-24  Bruno Haible  <bruno@clisp.org>
60367         doc: Most *_l functions exist in MacOS X 10.5.
60368         * doc/posix-functions/duplocale.texi: Update platforms list.
60369         * doc/posix-functions/freelocale.texi: Likewise.
60370         * doc/posix-functions/newlocale.texi: Likewise.
60371         * doc/posix-functions/uselocale.texi: Likewise.
60372         * doc/posix-functions/isalnum_l.texi: Likewise.
60373         * doc/posix-functions/isalpha_l.texi: Likewise.
60374         * doc/posix-functions/isblank_l.texi: Likewise.
60375         * doc/posix-functions/iscntrl_l.texi: Likewise.
60376         * doc/posix-functions/isdigit_l.texi: Likewise.
60377         * doc/posix-functions/isgraph_l.texi: Likewise.
60378         * doc/posix-functions/islower_l.texi: Likewise.
60379         * doc/posix-functions/isprint_l.texi: Likewise.
60380         * doc/posix-functions/ispunct_l.texi: Likewise.
60381         * doc/posix-functions/isspace_l.texi: Likewise.
60382         * doc/posix-functions/isupper_l.texi: Likewise.
60383         * doc/posix-functions/iswalnum_l.texi: Likewise.
60384         * doc/posix-functions/iswalpha_l.texi: Likewise.
60385         * doc/posix-functions/iswblank_l.texi: Likewise.
60386         * doc/posix-functions/iswcntrl_l.texi: Likewise.
60387         * doc/posix-functions/iswctype_l.texi: Likewise.
60388         * doc/posix-functions/iswdigit_l.texi: Likewise.
60389         * doc/posix-functions/iswgraph_l.texi: Likewise.
60390         * doc/posix-functions/iswlower_l.texi: Likewise.
60391         * doc/posix-functions/iswprint_l.texi: Likewise.
60392         * doc/posix-functions/iswpunct_l.texi: Likewise.
60393         * doc/posix-functions/iswspace_l.texi: Likewise.
60394         * doc/posix-functions/iswupper_l.texi: Likewise.
60395         * doc/posix-functions/iswxdigit_l.texi: Likewise.
60396         * doc/posix-functions/isxdigit_l.texi: Likewise.
60397         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
60398         * doc/posix-functions/strcasecmp_l.texi: Likewise.
60399         * doc/posix-functions/strcoll_l.texi: Likewise.
60400         * doc/posix-functions/strfmon_l.texi: Likewise.
60401         * doc/posix-functions/strftime_l.texi: Likewise.
60402         * doc/posix-functions/strncasecmp_l.texi: Likewise.
60403         * doc/posix-functions/strxfrm_l.texi: Likewise.
60404         * doc/posix-functions/tolower_l.texi: Likewise.
60405         * doc/posix-functions/toupper_l.texi: Likewise.
60406         * doc/posix-functions/towctrans_l.texi: Likewise.
60407         * doc/posix-functions/towlower_l.texi: Likewise.
60408         * doc/posix-functions/towupper_l.texi: Likewise.
60409         * doc/posix-functions/wcscoll_l.texi: Likewise.
60410         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
60411         * doc/posix-functions/wctrans_l.texi: Likewise.
60412         * doc/posix-functions/wctype_l.texi: Likewise.
60413         * doc/glibc-functions/strptime_l.texi: Likewise.
60414         * doc/glibc-functions/strtod_l.texi: Likewise.
60415         * doc/glibc-functions/strtof_l.texi: Likewise.
60416         * doc/glibc-functions/strtol_l.texi: Likewise.
60417         * doc/glibc-functions/strtold_l.texi: Likewise.
60418         * doc/glibc-functions/strtoll_l.texi: Likewise.
60419         * doc/glibc-functions/strtoul_l.texi: Likewise.
60420         * doc/glibc-functions/strtoull_l.texi: Likewise.
60421         * doc/glibc-functions/wcsftime_l.texi: Likewise.
60422         * doc/glibc-functions/wcstod_l.texi: Likewise.
60423         * doc/glibc-functions/wcstof_l.texi: Likewise.
60424         * doc/glibc-functions/wcstol_l.texi: Likewise.
60425         * doc/glibc-functions/wcstold_l.texi: Likewise.
60426         * doc/glibc-functions/wcstoll_l.texi: Likewise.
60427         * doc/glibc-functions/wcstoul_l.texi: Likewise.
60428         * doc/glibc-functions/wcstoull_l.texi: Likewise.
60430 2009-11-24  Bruno Haible  <bruno@clisp.org>
60432         duplocale: Fix logic bug.
60433         * lib/duplocale.c: Don't include <langinfo.h>.
60434         (_NL_LOCALE_NAME): Remove macro.
60435         (rpl_duplocale): Use setlocale instead of nl_langinfo.
60436         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
60438 2009-11-23  Jim Meyering  <meyering@redhat.com>
60440         test-update-copyright: don't hard-code /usr/bin/perl
60441         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
60442         perl to print the current year.  Gilles Espinasse reported that
60443         the replaced use of perl was hard-coded as /usr/bin/perl.
60445 2009-11-23  Bruno Haible  <bruno@clisp.org>
60447         duplocale: Add support for glibc 2.3.x.
60448         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
60450 2009-11-22  Bruno Haible  <bruno@clisp.org>
60452         vasnprintf: Tiny optimization.
60453         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
60454         MacOS X.
60456 2009-11-22  Bruno Haible  <bruno@clisp.org>
60458         Tests for module 'duplocale'.
60459         * modules/duplocale-tests: New file.
60460         * tests/test-duplocale.c: New file.
60462         New module 'duplocale'.
60463         * m4/duplocale.m4: New file.
60464         * lib/locale.in.h (duplocale): New declaration.
60465         * lib/duplocale.c: New file.
60466         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
60467         gl_LOCALE_H_DEFAULTS): New macros.
60468         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
60469         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
60470         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
60471         REPLACE_DUPLOCALE.
60472         * modules/duplocale: New file.
60473         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
60475 2009-11-22  Bruno Haible  <bruno@clisp.org>
60477         * modules/locale-tests (configure.ac): Test for newlocale function.
60478         * tests/test-locale.c: When the system has extended locale functions,
60479         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
60481         locale: Make locale_t available when possible.
60482         * lib/locale.in.h: Include <xlocale.h> when it exists.
60483         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
60484         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
60485         * modules/locale (Depends-on): Add extensions.
60486         (Makefile.am): Also substitute HAVE_XLOCALE_H.
60487         * doc/posix-headers/locale.texi: Document the problem with locale_t.
60489 2009-11-22  Bruno Haible  <bruno@clisp.org>
60491         Add comments.
60492         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
60493         invocation.
60494         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
60495         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
60496         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
60498 2009-11-22  Bruno Haible  <bruno@clisp.org>
60500         error: account for the possibility of freopen (stdout).
60501         * lib/error.c: Include <unistd.h>.
60502         (flush_stdout): New function, extracted from error and error_at_line.
60503         Determine stdout's fd dynamically.
60504         (error, error_at_line): Invoke flush_stdout.
60505         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
60506         * modules/error (Depends-on): Add unistd.
60508 2009-11-22  Bruno Haible  <bruno@clisp.org>
60510         diffseq: Add comment.
60511         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
60513 2009-11-22  Jim Meyering  <meyering@redhat.com>
60515         c-stack: avoid defining an unused static function
60516         * lib/c-stack.c (find_stack_direction): Do not define this function
60517         when it will not be used.
60519         diffseq: avoid spurious gcc warnings
60520         * lib/diffseq.h (IF_LINT2): Define.
60521         (compareseq): Use it to initialize two members of "part".
60522         This avoids two used-uninitialized warnings.
60524 2009-11-21  Jim Meyering  <meyering@redhat.com>
60526         c-stack: avoid "ignoring return value of `write'" warning
60527         * lib/c-stack.c: Include "ignore-value.h".
60528         (die): Explicitly ignore each write return value.
60529         * modules/c-stack (Depends-on): Add ignore-value.
60531 2009-11-21  Bruno Haible  <bruno@clisp.org>
60533         diffseq: reduce scope of variable 'best'.
60534         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
60535         variable, earlier used for two different purposes.
60537 2009-11-21  Jim Meyering  <meyering@redhat.com>
60539         diffseq: remove useless assignment to "best"
60540         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
60541         assignment.  At that point "best" is already guaranteed to be zero.
60543 2009-11-20  Eric Blake  <ebb9@byu.net>
60545         build: mention ftp redirector in release announcements
60546         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
60547         values that used to come from cfg.mk; mention FTP redirect URL.
60548         * build-aux/announce-gen: Mention the mirror list.
60549         Suggested by Karl Berry.
60551         nanosleep: improve port to mingw
60552         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
60553         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
60554         LIB_NANOSLEEP, but only when needed.
60555         * modules/select (Link): Document LIBSOCKET.
60556         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
60557         enough.
60559         nanosleep: work around cygwin bug
60560         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
60561         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
60562         bug.
60563         (getnow): Delete, not needed.
60564         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
60565         LIB_CLOCK_GETTIME.
60566         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
60567         clock-time, gettime.
60568         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
60569         bug.
60570         * modules/nanosleep-tests: New test.
60571         * tests/test-nanosleep.c: New file.
60573         sleep: work around cygwin bug
60574         * lib/sleep.c (rpl_sleep): Work around the bug.
60575         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
60576         (gl_PREREQ_SLEEP): Delete unused macro.
60577         * modules/sleep (Depends-on): Add verify.
60578         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
60579         * modules/unistd (Makefile.am): Substitute witness.
60580         * lib/unistd.in.h (sleep): Update prototype.
60581         * doc/posix-functions/sleep.texi (sleep): Document the bug.
60582         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
60583         * modules/sleep-tests (Depends-on): Check for alarm.
60585 2009-11-20  Jim Meyering  <meyering@redhat.com>
60587         maint.mk: improve sc_prohibit_magic_number_exit
60588         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
60589         so it does not match uses like System.exit(1).
60590         Add comments showing how to correct all offenders.
60592 2009-11-19  Eric Blake  <ebb9@byu.net>
60594         xalloc-die-tests: add missing library
60595         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
60597         test-xvasprintf: silence compiler warnings
60598         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
60599         empty string from gcc.
60601 2009-11-19  Jim Meyering  <meyering@redhat.com>
60603         xfreopen: new module, from coreutils
60604         * modules/xfreopen: New module.
60605         * lib/xfreopen.c: New file.
60606         * lib/xfreopen.h: New file.
60607         * MODULES.html.sh (File stream based Input/Output"): Add it.
60609 2009-11-19  Eric Blake  <ebb9@byu.net>
60611         manywarnings: depend on warnings
60612         * modules/manywarnings (Depends-on): Add warnings.
60614         build: avoid compiler warnings
60615         * lib/select.c (rpl_select): Delete unused variable.
60616         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
60618 2009-11-18  Eric Blake  <ebb9@byu.net>
60620         tests: avoid false negative with --with-packager
60621         * tests/test-version-etc.sh: Discard packager information.
60622         * tests/test-argp-version-etc-1.sh: Likewise.
60623         Reported by Mike Frysinger.
60625         utimens: fix regression on Solaris
60626         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
60627         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
60628         can only change fd timestamps via futimesat.  Instead, use an
60629         additional witness macro to avoid BSD bug.
60630         Reported by Jim Meyering.
60632 2009-11-17  Eric Blake  <ebb9@byu.net>
60634         usleep: use it to simplify tests
60635         * modules/stat-time-tests (Depends-on): Add usleep.
60636         (configure.ac): Drop usleep check.
60637         * modules/chown-tests (Depends-on, configure.ac): Likewise.
60638         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
60639         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
60640         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
60641         * modules/openat-tests (Depends-on, configure.ac): Likewise.
60642         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
60643         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
60644         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
60645         Likewise.
60646         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
60647         * tests/test-lchown.h (nap): Likewise.
60648         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
60649         * tests/test-stat-time.c (nap): Likewise.
60650         * tests/test-utimens-common.h (nap): Update comments.
60652         usleep: new module
60653         * modules/usleep: New file.
60654         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
60655         * lib/usleep.c (usleep): Likewise.
60656         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
60657         * modules/unistd (Makefile.am): Substitute witnesses.
60658         * lib/unistd.in.h (usleep): Add declaration.
60659         * doc/pastposix-functions/usleep.texi (usleep): Document this.
60660         * MODULES.html.sh (Date and time): Likewise.
60661         * modules/usleep-tests (Depends-on): New test.
60662         * tests/test-usleep.c: New file.
60664         chown: work around OpenBSD bug
60665         * lib/chown.c (rpl_chown): Work around the bug.
60666         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
60667         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
60668         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
60669         * modules/chown (Depends-on): Add stdbool.
60670         * modules/lchown (Depends-on): Likewise.
60671         * doc/posix-functions/chown.texi (chown): Document the bug.
60672         * doc/posix-functions/lchown.texi (lchown): Likewise.
60673         * tests/test-lchown.h (test_chown): Relax test.
60675         mkstemp: avoid conflict with C++ keyword template
60676         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
60677         * lib/mkostemp.c (mkostemp): Likewise.
60678         * lib/mkostemps.c (mkostemps): Likewise.
60679         * lib/mkstemp.c (mkstemp): Likewise.
60680         * lib/mkstemps.c (mkstemps): Likewise.
60682         xalloc-die-tests: optimize
60683         * tests/test-xalloc-die.sh: Reduce number of processes.
60685 2009-11-17  Simon Josefsson  <simon@josefsson.org>
60687         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
60688         patch from ludo@gnu.org (Ludovic Courtès).
60690 2009-11-17  Jim Meyering  <meyering@redhat.com>
60692         version-etc: use proper license string
60693         * modules/version-etc (License): Use LGPL, not LGPLv3+.
60694         * modules/version-etc-fsf: Likewise.
60696 2009-11-17  Simon Josefsson  <simon@josefsson.org>
60698         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
60699         printed to stdout.  Deal with EOL differences.
60701 2009-11-17  Eric Blake  <ebb9@byu.net>
60703         unsetenv: work around Solaris bug
60704         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
60705         * lib/unsetenv.c (rpl_unsetenv): Work around it.
60706         Reported by Jim Meyering.
60708         vasnprintf: avoid compiler warnings
60709         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
60710         variables.
60711         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
60713 2009-11-17  Simon Josefsson  <simon@josefsson.org>
60715         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
60716         settings since xalloc-die is no longer the self test,
60717         xalloc-die.sh is.
60719 2009-11-17  Jim Meyering  <meyering@redhat.com>
60721         test-xalloc-die.sh: make the code agree with the commit log
60722         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
60723         at the end, just in case you happen to have a test-xalloc-die
60724         program in some other PATH directory.
60726         test-xalloc-die.sh: fix a portability bug
60727         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
60728         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
60729         Otherwise, argv[0] (as often seen in diagnostics) would be too
60730         system-dependent, sometimes with, and sometimes without the leading "./".
60732         version-etc-fsf: relax license to LGPLv3+
60733         * modules/version-etc-fsf (License): Relax license.
60735 2009-11-16  Eric Blake  <ebb9@byu.net>
60737         xalloc-die-tests: avoid printing null pointer
60738         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
60739         shell script.
60740         * tests/test-xalloc-die.c (program_name): Declare.
60741         * tests/test-xalloc-die.sh (tmpfiles): New file.
60743         setenv, unsetenv: work around various bugs
60744         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
60745         (setenv) [HAVE_SETENV]: Work around bugs.
60746         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
60747         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
60748         for bugs.
60749         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
60750         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
60751         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
60752         * modules/stdlib (Makefile.am): Update substitutions.
60753         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
60754         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
60755         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
60756         * modules/setenv-tests: New test.
60757         * modules/unsetenv-tests: Likewise.
60758         * tests/test-setenv.c: New file.
60759         * tests/test-unsetenv.c: Likewise.
60761 2009-11-16  Jim Meyering  <meyering@redhat.com>
60763         version-etc: relax license to LGPLv3+
60764         * modules/version-etc (License): Relax license.
60766         better AC_REQUIRE expanded-before-required-warning avoidance
60767         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
60768         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
60769         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
60770         which is no longer needed.
60772 2009-11-16  Eric Blake  <ebb9@byu.net>
60774         test-freading: clean up temporary file
60775         * tests/test-freading.c (main): Remove file on success, and use
60776         ASSERT more liberally.
60777         Reported by Jim Meyering.
60779 2009-11-16  Jim Meyering  <meyering@redhat.com>
60781         avoid new AC_REQUIRE expanded-before-required warnings
60782         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
60783         merely using it.
60784         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
60785         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
60787 2009-11-15  Simon Josefsson  <simon@josefsson.org>
60789         * tests/test-xalloc-die.c: New file.
60790         * modules/xalloc-die-tests: New file.
60791         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
60792         XFAIL_TESTS so it can be appended by modules.
60794 2009-11-15  Simon Josefsson  <simon@josefsson.org>
60796         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
60797         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
60799 2009-11-14  Eric Blake  <ebb9@byu.net>
60801         fnmatch: avoid compiler warning
60802         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
60803         to silence compiler warning about mismatch signedness in ?:.
60804         Reported by Robert Millan.
60806         intprops: add double-inclusion guard
60807         * lib/intprops.h: Allow idempotent includes.
60808         Suggested by Bruce Korb.
60810         openat: detect Solaris fchownat bug
60811         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
60812         penalizing glibc chownat when only lchownat is broken.
60813         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
60814         trailing slash bugs.
60815         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
60816         * modules/openat-tests (Files): Include more files.
60817         (Depends-on): Add mgetgroups, sleep, stat-time.
60818         (configure.ac): Add additional checks.
60819         (Makefile.am): Build new test.
60820         * tests/test-fchownat.c: New file.
60822         lchown: detect Solaris and FreeBSD bug
60823         * lib/lchown.c (rpl_lchown): Work around bug.
60824         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
60825         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
60826         * modules/unistd (Makefile.am): Populate it.
60827         * lib/unistd.in.h (lchown): Update declaration.
60828         * doc/posix-functions/lchown.texi (lchown): Document the bug.
60829         * modules/lchown-tests: New file.
60830         * tests/test-lchown.h (test_lchown): Likewise.
60831         * tests/test-lchown.c (main): Likewise.
60833         chown: detect Solaris and FreeBSD bug
60834         * lib/chown.c (rpl_chown): Work around bug.
60835         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
60836         (gl_PREREQ_CHOWN): Delete.
60837         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
60838         * modules/unistd (Makefile.am): Populate it.
60839         * lib/unistd.in.h (chown): Update declaration.
60840         * lib/lchown.c (chown): Update client.
60841         * modules/lchown (Depends-on): Add lstat.
60842         * doc/posix-functions/chown.texi (chown): Document the bug.
60843         * doc/posix-functions/getgroups.texi (getgroups): Document
60844         getgroups pitfall.
60845         * modules/chown-tests: New file.
60846         * tests/test-chown.h (test_chown): Likewise.
60847         * tests/test-chown.c (main): Likewise.
60849 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
60851         gnulib-tool: correctly detect absence of m4 directories
60852         * gnulib-tool: Avoid extra newline on data passed to wc -l.
60854 2009-11-14  Jim Meyering  <meyering@redhat.com>
60856         maint.mk: Prohibit inclusion of "xalloc.h" without use.
60857         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
60859 2009-11-14  John W. Eaton  <jwe@gnu.org>
60861         strftime.h: wrap function declaration in extern "C" block
60862         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
60864 2009-11-13  Eric Blake  <ebb9@byu.net>
60866         getgroups: avoid compiler warning
60867         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
60869         getgroups: work around FreeBSD bug
60870         * lib/getgroups.c (rpl_getgroups): Work around the bug.
60871         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
60872         * doc/posix-functions/getgroups.texi (getgroups): Document it.
60873         * tests/test-getgroups.c (main): Fix buffer overrun.
60875         getgroups: avoid compilation failure
60876         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
60877         * modules/getgroups (Depends-on): Add stdint.
60879 2009-11-13  Jim Meyering  <meyering@redhat.com>
60881         test-getgroups: avoid compilation failure
60882         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
60884 2009-11-13  Eric Blake  <ebb9@byu.net>
60886         mgetgroups: new module, taken from coreutils
60887         * modules/mgetgroups: New file.
60888         * lib/mgetgroups.h: Likewise.
60889         * lib/mgetgroups.c (mgetgroups): Likewise.
60890         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
60891         * MODULES.html.sh (Users and groups): Mention it.
60893         getgroups: don't expose GETGROUPS_T to user
60894         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
60895         an element at a time if GETGROUPS_T is wrong size.
60896         * lib/getugroups.h (getugroups): Change signature.
60897         * lib/unistd.in.h (getgroups): Likewise.
60898         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
60899         signature needs fixing.
60900         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
60901         AC_TYPE_GETGROUPS.
60902         * modules/group-member (Depends-on): Add getgroups.
60903         * lib/group-member.c (group_info, get_group_info): Use gid_t.
60904         (group_member): Rely on getgroups replacement.
60905         * lib/getugroups.c (getugroups): Use gid_t.
60906         * tests/test-getgroups.c (main): Likewise.
60907         * NEWS: Mention the signature change.
60908         * doc/posix-functions/getgroups.texi (getgroups): Mention the
60909         problem with signature.
60910         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
60911         GETGROUPS_T is still useful for setgroups.
60913         getgroups, getugroups: provide stubs for mingw
60914         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
60915         * lib/getugroups.c (getugroups): Likewise.
60916         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
60917         function.  Modernize replacement scheme.
60918         (gl_PREREQ_GETGROUPS): Delete.
60919         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
60920         * modules/getgroups (configure.ac): Declare witness.
60921         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
60922         * modules/unistd (Depends-on): Substitute witness.
60923         * lib/unistd.in.h (getgroups): Declare replacement.
60925         getgroups: avoid calling exit
60926         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
60927         drop xalloc.
60928         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
60929         dependencies.
60930         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
60931         exiting, in the rare case of malloc failure.
60933         getgroups: fix logic error
60934         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
60935         has more than 20 groups.
60936         * modules/getgroups-tests: New test.
60937         * tests/test-getgroups.c: New file.
60939 2009-11-13  Simon Josefsson  <simon@josefsson.org>
60941         * tests/test-base64.c: Improve.
60943 2009-11-13  Simon Josefsson  <simon@josefsson.org>
60945         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
60946         Blake <ebb9@byu.net>.
60948 2009-11-13  Simon Josefsson  <simon@josefsson.org>
60950         * tests/test-xvasprintf.c: Add %s%s related checks.
60952 2009-11-12  Eric Blake  <ebb9@byu.net>
60954         version-etc: match standards.texi style
60955         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
60956         and use <> only for URLs.
60958 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
60960         fts: do not fail on a submount during traversal
60961         * lib/fts.c (fts_build): Read the stat info again after opening
60962         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
60963         Original report at http://bugzilla.redhat.com/501848.
60965 2009-11-12  Jim Meyering  <meyering@redhat.com>
60967         bootstrap: sync from coreutils
60968         * build-aux/bootstrap (bootstrap_epilogue): New function.
60969         Use git_modules_config in one more place.  This make bootstrap's
60970         --gnulib-srcdir option more useful for testing.
60972         bootstrap: generalize autoheader check
60973         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
60974         AC_CONFIG_HEADERS.
60976 2009-11-11  Eric Blake  <ebb9@byu.net>
60978         mkfifoat: use new modules for Solaris and BSD bugs
60979         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
60980         * lib/mkfifoat.c (mknodat): Split...
60981         * lib/mknodat.c (mknodat): ...into new file.
60982         * modules/mkfifoat (Files): Ship new file.
60983         (Depends-on): Add mkfifo, mknod.
60984         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
60985         (Depends-on): Add symlink.
60986         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
60987         redundant with test_mkfifo.h.
60988         (do_mkfifoat, do_mknodat): New helpers.
60990         mknod: new module
60991         * modules/mknod: New file.
60992         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
60993         * lib/mknod.c (mknod): Likewise.
60994         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
60995         defaults.
60996         * modules/sys_stat (Makefile.am): Substitute them.
60997         * lib/sys_stat.in.h (mknod): Declare replacement.
60998         * MODULES.html.sh (Support for systems lacking POSIX:2008):
60999         Document it.
61000         * doc/posix-functions/mknod.texi (mknod): Likewise.
61001         * modules/mknod-tests: New test.
61002         * tests/test-mknod.c: Likewise.
61004         mkfifo: new module
61005         * modules/mkfifo: New file.
61006         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
61007         * lib/mkfifo.c (mkfifo): Likewise.
61008         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
61009         defaults.
61010         * modules/sys_stat (Makefile.am): Substitute them.
61011         * lib/sys_stat.in.h (mkfifo): Declare replacement.
61012         * MODULES.html.sh (Support for systems lacking POSIX:2008):
61013         Document it.
61014         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
61015         * modules/mkfifo-tests: New test.
61016         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
61017         from test-mkfifoat.c.
61018         * tests/test-mkfifo.c: New file.
61020         readlink: detect FreeBSD bug
61021         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
61022         slash on symlink.
61023         * doc/posix-functions/readlink.texi (readlink): Document the bug.
61024         * tests/test-readlink.h (test_readlink): Enhance test.
61026         symlink: detect FreeBSD bug
61027         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
61028         slash on symlink.
61029         * doc/posix-functions/symlink.texi (symlink): Document the bug.
61030         * tests/test-symlink.h (test_symlink): Enhance test.
61032 2009-11-10  Eric Blake  <ebb9@byu.net>
61034         link: detect FreeBSD bug
61035         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
61036         symlink.
61037         * doc/posix-functions/link.texi (link): Document the bug.
61038         * tests/test-link.h (test_link): Enhance test.
61039         * tests/test-linkat.c (main): Update caller.
61041         unlink, remove: detect FreeBSD bug
61042         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
61043         slash on symlink.
61044         * doc/posix-functions/unlink.texi (unlink): Document the bug.
61045         * doc/posix-functions/remove.texi (remove): Likewise.
61046         * tests/test-unlink.h (test_unlink): Enhance test.
61047         * tests/test-remove.c (main): Likewise.
61049 2009-11-09  Eric Blake  <ebb9@byu.net>
61051         rename: detect FreeBSD bug
61052         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
61053         slash on symlink.
61054         * modules/renameat-tests (Depends-on): Add filenamecat.
61055         * tests/test-rename.h (test_rename): Allow one more errno.
61056         * tests/test-renameat.c (main): Likewise.
61057         * doc/posix-functions/rename.texi (rename): Document the bug.
61059         open: detect FreeBSD bug
61060         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
61061         symlink.
61062         * doc/posix-functions/open.texi (open): Document the bug.
61063         * doc/posix-functions/utimes.texi (utimes): Likewise.
61064         * tests/test-open.h (test_open): Add parameters, and test symlink
61065         handling.
61066         * tests/test-open.c (main): Adjust caller.
61067         * tests/test-fcntl-safer.c (main): Likewise.
61068         * modules/open-tests (Depends-on): Add stdbool, symlink.
61069         * modules/fcntl-safer-tests (Depends-on): Likewise.
61070         * tests/test-openat.c (main): Add test-open tests.
61072         stat: detect FreeBSD bug
61073         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
61074         symlink.
61075         * doc/posix-functions/stat.texi (stat): Document the bug.
61076         * tests/test-stat.h (test_stat_func): Add argument.
61077         * tests/test-stat.c (main): Adjust caller.
61078         * tests/test-fstatat.c (main): Likewise.
61079         * modules/stat-tests (Depends-on): Add stdbool, symlink.
61080         Reported by Jim Meyering.
61082 2009-11-09  James Youngman  <jay@gnu.org>
61084         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
61085         * lib/strftime.c: Correct placement of #include "ignore-value.h".
61087 2009-11-08  Jim Meyering  <meyering@redhat.com>
61089         utimens: remove invalid futimesat call
61090         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
61091         It used the file descriptor of the target file as the DIR_FD
61092         parameter and NULL as the file name.  That caused failure with
61093         errno == EFAULT on FreeBSD-8.0-rc2
61095 2009-11-07  Eric Blake  <ebb9@byu.net>
61097         fflush, freadseek: use fseeko, not fseek
61098         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
61099         (clear_ungetc_buffer): Avoid potential problems on large files.
61100         * lib/freadseek.c (freadseek): Likewise.
61101         * modules/freadseek (Depends-on): Add fseeko.
61102         * modules/fseek (configure.ac): Set a witness.
61103         * tests/test-fflush.c (main): Use fseeko.
61104         * tests/test-fpurge.c (fseek): Disable link warning.
61105         * tests/test-freadable.c (fseek): Likewise.
61106         * tests/test-freading.c (fseek): Likewise.
61107         * tests/test-fseeko.c (fseek): Likewise.
61108         * tests/test-ftell.c (fseek): Likewise.
61109         * tests/test-ftello.c (fseek): Likewise.
61110         * tests/test-fwritable.c (fseek): Likewise.
61111         * tests/test-fwriting.c (fseek): Likewise.
61113 2009-11-06  Simon Josefsson  <simon@josefsson.org>
61115         * modules/memchr (Depends-on): Drop getpagesize dependency.
61117 2009-11-06  Simon Josefsson  <simon@josefsson.org>
61119         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
61120         Reported by Ludovic Courtès.
61121         * build-aux/pmccabe2html: Improve example usage.
61122         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
61124 2009-11-06  Jim Meyering  <meyering@redhat.com>
61126         do-release-commit-and-tag: New module.
61127         Automate the release-commit and tag process.
61128         * build-aux/do-release-commit-and-tag: New script, from coreutils.
61129         * modules/do-release-commit-and-tag: New file.
61130         * MODULES.html.sh (Support for maintaining and releasing): Add it.
61132 2009-11-06  Simon Josefsson  <simon@josefsson.org>
61134         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
61135         because test-select.c uses inet_pton.
61137 2009-11-06  Simon Josefsson  <simon@josefsson.org>
61139         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
61140         GETADDRINFO_LIB.  Bump serial number.
61141         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
61142         Suggested by Eric Blake <ebb9@byu.net>.
61144 2009-11-05  Eric Blake  <ebb9@byu.net>
61146         strtod: detect darwin bug
61147         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
61148         Reported by Leo Davis.
61150         freopen-safer: new module
61151         * modules/freopen-safer: New module.
61152         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
61153         * lib/freopen-safer.c (freopen_safer): New file.
61154         * lib/stdio-safer.h (freopen_safer): New declaration.
61155         * lib/stdio--.h (freopen): New override.
61156         * MODULES.html.sh (File stream based Input/Output): Mention it.
61157         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
61158         freopen-safer module.
61159         * doc/posix-functions/stderr.texi (stderr): Likewise.
61160         * doc/posix-functions/stdin.texi (stdin): Likewise.
61161         * doc/posix-functions/stdout.texi (stdout): Likewise.
61162         * modules/freopen-safer-tests: New test.
61163         * tests/test-reopen-safer.c: New file.
61165 2009-11-05  Jim Meyering  <meyering@redhat.com>
61167         maint.mk: Prohibit inclusion of "close-stream.h" without use.
61168         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
61170 2009-11-05  Simon Josefsson  <simon@josefsson.org>
61172         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
61174 2009-11-05  Simon Josefsson  <simon@josefsson.org>
61176         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
61178 2009-11-05  Simon Josefsson  <simon@josefsson.org>
61180         Fix link error.
61181         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
61182         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
61184 2009-11-05  Simon Josefsson  <simon@josefsson.org>
61186         * tests/test-func.c: Also test value of __func__.
61188 2009-11-05  Simon Josefsson  <simon@josefsson.org>
61190         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
61191         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
61193 2009-11-05  Bruno Haible  <bruno@clisp.org>
61195         Fix link error.
61196         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
61197         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
61198         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
61200 2009-11-05  Bruno Haible  <bruno@clisp.org>
61202         Tests for module 'inet_pton'.
61203         * modules/inet_pton-tests: New file.
61204         * tests/test-inet_pton.c: New file.
61206 2009-11-05  Bruno Haible  <bruno@clisp.org>
61208         Tests for module 'inet_ntop'.
61209         * modules/inet_ntop-tests: New file.
61210         * tests/test-inet_ntop.c: New file.
61212 2009-11-04  Eric Blake  <ebb9@byu.net>
61214         stdlib-safer: wrap all mkstemp variants
61215         * modules/mkostemp (configure.ac): Set witness.
61216         * modules/mkostemps (configure.ac): Likewise.
61217         * modules/mkstemps (configure.ac): Likewise.
61218         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
61219         (mkstemps_safer): Wrap more functions.
61220         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
61221         wrapping.
61222         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
61223         (mkstemps_safer): Implement the wrappers.
61225         mkstemps, mkostemps: new modules
61226         * modules/mkostemps: New module.
61227         * modules/mkstemps: Likewise.
61228         * lib/mkostemps.c (mkostemps): New file.
61229         * lib/mkstemps.c (mkstemps): Likewise.
61230         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
61231         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
61232         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
61233         * modules/stdlib (Makefile.am): Substitute them.
61234         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
61235         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
61236         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
61237         * doc/gnulib.texi (Glibc stdlib.h): Include them.
61238         * MODULES.html.sh (File system functions): Mention them.
61240         tempname: resync from glibc
61241         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
61242         same values for __GT_FILE as glibc.  Abort even when assertions
61243         are disabled.
61244         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
61245         match its value otherwise.  Allow idempotent inclusion.
61246         * lib/mkdtemp.c (mkdtemp): Adjust caller.
61247         * lib/mkostemp.c (mkostemp): Likewise.
61248         * lib/mkstemp.c (mkstemp): Likewise.
61249         * lib/tmpfile.c (tmpfile): Likewise.
61250         * NEWS: Document this.
61252         utimens: fix use of futimens on older Linux
61253         * lib/utimens.c (fdutimens): Use updated, rather than original,
61254         timespec to avoid bug in older Linux kernel.
61255         Reported by Simon Josefsson.
61257 2009-11-04  Bruno Haible  <bruno@clisp.org>
61259         Make num_processors more flexible and consistent.
61260         * lib/nproc.h (enum nproc_query): New type.
61261         (num_processors): Add a 'query' argument.
61262         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
61263         (num_processors): Add a 'query' argument. Test the value of the
61264         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
61265         mingw, count the number of CPUs available for the current process.
61266         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
61267         Check for sched_getaffinity and sched_getaffinity_np.
61268         * modules/nproc (Depends-on): Add c-ctype, extensions.
61269         * NEWS: Mention the change.
61271 2009-11-03  Bruno Haible  <bruno@clisp.org>
61273         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
61275 2009-11-03  Jim Meyering  <meyering@redhat.com>
61277         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
61278         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
61279         if it is defined.
61281 2009-11-02  Eric Blake  <ebb9@byu.net>
61283         mktime, timegm: share common declaration
61284         * lib/mktime-internal.h: New file.
61285         * lib/mktime.c: Use it rather than open-coding a declaration.
61286         * lib/timegm.c: Likewise.
61287         * modules/mktime (Files): Ship it.
61288         * modules/timegm (Files): Likewise.
61289         Suggested by Bruno Haible.
61291         test-update-copyright: update test to match script changes
61292         * tests/test-update-copyright.sh: Avoid hard-coding perl
61293         location.  Don't update *.bak created by earlier runs.
61295 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
61296             Simon Josefsson  <simon@josefsson.org>
61297             Bruno Haible  <bruno@clisp.org>
61299         Fix link error on Solaris 8.
61300         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
61301         also in libnsl. Define also INET_PTON_LIB.
61302         * modules/inet_pton (Link): New section.
61304 2009-11-02  Simon Josefsson  <simon@josefsson.org>
61305             Bruno Haible  <bruno@clisp.org>
61307         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
61308         * modules/inet_ntop (Link): New section.
61309         Reported by Boyan Kasarov <bkasarov@gmail.com>.
61311 2009-11-02  Eric Blake  <ebb9@byu.net>
61313         maint: avoid compiler warnings in m4 macros
61314         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
61315         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
61317 2009-11-02  Simon Josefsson  <simon@josefsson.org>
61319         * m4/pmccabe2html.m4: Remove file.
61320         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
61321         function.  Change maintainer.
61322         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
61323         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
61324         Courtès).
61326 2009-10-31  Eric Blake  <ebb9@byu.net>
61328         fseeko: fix m4 regression
61329         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
61330         regression from 2009-10-27.
61331         Reported by Ralf Wildenhues.
61333 2009-10-31  Jim Meyering  <meyering@redhat.com>
61335         inttostr: aesthetics and improved (compile-time) safety
61336         Define inttype_is_signed rather than inttype_is_unsigned,
61337         since the sole use is via "#if inttype_is_signed".
61338         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
61339         inttype_is_unsigned.
61340         * lib/offtostr.c (inttype_is_signed): Likewise.
61341         * lib/uinttostr.c (inttype_is_signed): Likewise.
61342         * lib/umaxtostr.c (inttype_is_signed): Likewise.
61343         * lib/inttostr.c (inttostr): Use verify to cross-check the
61344         inttype_is_signed value and the signedness of the actual type.
61345         * modules/inttostr (Depends-on): Add verify.
61347 2009-10-30  Eric Blake  <ebb9@byu.net>
61349         build: avoid compiler warnings
61350         * lib/fchmodat.c (lchmod): Mark unused variables.
61351         * lib/getopt.c (_getopt_initialize): Likewise.
61352         * lib/mktime.c (__mktime_internal): Provide prototype.
61353         * lib/inttostr.c (inttostr): Avoid compiler warning even with
61354         older gcc that do not understand #pragma GCC diagnostic.
61355         * lib/uinttostr.c (inttype_is_unsigned): Define.
61356         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
61358 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
61360         stat: fix compilation on AIX
61361         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
61362         only see struct stat64.
61364 2009-10-30  Eric Blake  <ebb9@byu.net>
61366         exclude: make more robust
61367         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
61368         rather than masking a coding bug.
61369         Suggested by Bruno Haible.
61371 2009-10-30  Jim Meyering  <meyering@redhat.com>
61373         perl scripts: remove #!/usr/bin/perl in favor of more portable...
61374         Rather than putting #!/usr/bin/perl on the first line,
61375         start with a variant of what's recommended by "man perlrun" that
61376         invokes the first "perl" program from your shell's search path.
61377         * build-aux/gitlog-to-changelog: Replace #!... as above.
61378         Add a "Local Variables" perl mode setting.
61379         Prompted by a patch from Ludovic Courtès.
61380         Improved by Eric Blake.
61381         * build-aux/useless-if-before-free: Likewise.
61382         * build-aux/announce-gen: Likewise.
61383         * build-aux/update-copyright: Likewise.
61385 2009-10-29  Eric Blake  <ebb9@byu.net>
61387         filenamecat-lgpl: adjust clients
61388         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
61389         filenamecat.
61390         * modules/renameat (Depends-on): Likewise.
61392         filenamecat: split into filenamecat-lgpl
61393         * modules/filenamecat-lgpl: New module.
61394         * modules/filenamecat (Files): Move library-safe files into
61395         filenamecat-lgpl.
61396         (Depends-on): Add filenamecat-lgpl.
61397         (configure.ac): Declare witness.
61398         * lib/filenamecat.h (file_name_concat): Only declare when using
61399         GPL module.
61400         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
61401         Move...
61402         * lib/filenamecat-lgpl.c: ...into new file.
61403         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
61404         (gl_FILE_NAME_CONCAT): Use it.
61405         * MODULES.html.sh (File system functions): Mention new module.
61407         argp: avoid memory leak
61408         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
61409         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
61410         base_name, since the latter malloc()s and can call exit().
61411         Leak introduced 2006-07-03.
61413         dirname-lgpl: adjust clients that don't need full dirname
61414         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
61415         * modules/filenamecat (Depends-on): Likewise.
61416         * modules/linkat (Depends-on): Likewise.
61417         * modules/mkancesdirs (Depends-on): Likewise.
61418         * modules/mkdir (Depends-on): Likewise.
61419         * modules/openat (Depends-on): Likewise.
61420         * modules/savewd (Depends-on): Likewise.
61421         * modules/rename (Depends-on): Likewise.
61422         (License): Relax license.
61423         * modules/mkdir-tests (Depends-on): Drop progname.
61424         (Makefile.am): Delete unneeded LDADD.
61425         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
61427         dirname: split into dirname-lgpl
61428         * modules/dirname-lgpl: New module.
61429         * modules/dirname (Files): Move library-safe files into
61430         dirname-lgpl.
61431         (Depends-on): Add dirname-lgpl.
61432         (configure.ac): Declare witness.
61433         * modules/double-slash-root (License): Relax license.
61434         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
61435         module.
61436         * lib/dirname.c (dir_len, mdir_name): Move...
61437         * lib/dirname-lgpl.c: ...into new file.
61438         * lib/basename.c (last_component, base_len): Move...
61439         * lib/basename-lgpl.c: ...into new file.
61440         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
61441         (gl_DIRNAME): Use it.
61442         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
61443         Mention new module.
61444         * modules/dirname-tests (Depends-on): Add progname.
61445         * tests/test-dirname.c (program_name): Delete.
61447         mkdir: make safe for libraries
61448         * modules/mkdir (Depends-on): Drop xalloc.
61449         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
61450         exit.
61452         tests: avoid some compiler warnings
61453         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
61454         literals.
61455         * tests/test-memchr.c (main): Avoid type mismatch.
61456         * tests/test-arpa_inet.c (main): Avoid unused parameters.
61457         * tests/test-base64.c (main): Likewise.
61458         * tests/test-getdelim.c (main): Likewise.
61459         * tests/test-gethostname.c (main): Likewise.
61460         * tests/test-getline.c (main): Likewise.
61461         * tests/test-netinet_in.c (main): Likewise.
61462         * tests/test-select.c (open_server_socket, main): Likewise.
61463         * tests/test-select-stdin.c (main): Likewise.
61464         * tests/test-sockets.c (main): Likewise.
61465         * tests/test-strsignal.c (main): Likewise.
61466         * tests/test-sys_select.c (main): Likewise.
61467         * tests/test-sys_socket.c (main): Likewise.
61468         * tests/test-u64.c (main): Likewise.
61469         * tests/test-xfprintf-posix.c (main): Likewise.
61470         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
61472         sockets: avoid compiler warning
61473         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
61475         maint: detect usage(1) and other suspicious exits
61476         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
61478 2009-10-29  Jim Meyering  <meyering@redhat.com>
61480         timespec: long-to-int truncation could make timespec_cmp malfunction
61481         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
61482         a multiple of 2^32 nanoseconds as no difference.
61484 2009-10-28  Jim Meyering  <meyering@redhat.com>
61486         fprintftime: wrap macro code argument in "do {...} while(0)"
61487         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
61488         cpy macro must be a statement that can be followed by a semicolon.
61489         Now that the else clause contains a comment and is hence longer
61490         than one line, I require curly braces.  That in turn requires
61491         that we wrap this code block in the standard do...while(0).
61493         fprintftime: remove stray semicolon from previous change
61494         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
61496         fprintftime: avoid a warning about ignored fwrite return value
61497         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
61498         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
61499         that is unsafe.
61500         * modules/fprintftime (Depends-on): Add ignore-value.
61502         exclude: avoid an unwarranted warning
61503         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
61505 2009-10-27  Eric Blake  <ebb9@byu.net>
61507         fseek: avoid compilation failure when fflush is replaced
61508         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
61509         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
61510         module is in use.
61511         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
61512         module is not in use; since REPLACE_FSEEK worked otherwise.
61513         (GNULIB_FTELLO): Likewise for ftell.
61514         Reported by Ian Beckwith and others.
61516 2009-10-27  Bruno Haible  <bruno@clisp.org>
61518         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
61519         Reported by Jim Meyering.
61521 2009-10-27  Jim Meyering  <jim@meyering.net>
61522             Bruno Haible  <bruno@clisp.org>
61524         Avoid warning despite dropping the return value of fwrite.
61525         * lib/unicodeio.c: Include ignore-value.h.
61526         (fwrite_success_callback): Explicitly ignore fwrite's return value.
61527         * modules/unicodeio (Depends-on): Add ignore-value.
61529 2009-10-26  Eric Blake  <ebb9@byu.net>
61531         areadlinkat: fix fallback path
61532         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
61533         pointer and zero.
61535 2009-10-22  Pádraig Brady  <P@draigBrady.com>
61537         Use a better IO block size for modern systems
61538         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
61539         * lib/md2.c: Likewise.
61540         * lib/md4.c: Likewise.
61541         * lib/md5.c: Likewise.
61542         * lib/sha1.c: Likewise.
61543         * lib/sha256.c: Likewise.
61544         * lib/sha512.c: Likewise.
61546 2009-10-22  Eric Blake  <ebb9@byu.net>
61548         tests: avoid several compiler warnings
61549         * tests/test-getcwd.c (main): Avoid buffer underflow.
61550         * tests/test-getdate.c (main): String literals are not safe with
61551         putenv, so use setenv.  Declare unused argument.
61552         * modules/getdate-tests (Depends-on): Add setenv.
61553         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
61554         problems with string literals in char *.
61555         * tests/test-hash.c (main): Avoid shadowing declaration.
61556         (insert_new): Treat string literals as char const *.
61557         * tests/test-getopt.h (test_getopt): Likewise.
61558         (getopt_loop): Alter types to minimize casting elsewhere.
61559         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
61560         (test_getopt_long_posix): Likewise.
61561         (do_getopt_long): Add wrapper to minimize casting.
61562         * tests/test-atexit.c (clear_temp_file): Use void.
61563         * tests/test-areadlink-with-size.c (main): Declare unused
61564         arguments.
61565         * tests/test-areadlink.c (main): Likewise.
61566         * tests/test-areadlinkat-with-size.c (main): Likewise.
61567         * tests/test-areadlinkat.c (main): Likewise.
61568         * tests/test-canonicalize-lgpl.c (main): Likewise.
61569         * tests/test-canonicalize.c (main): Likewise.
61570         * tests/test-dirent-safer.c (main): Likewise.
61571         * tests/test-dirname.c (main): Likewise.
61572         * tests/test-dup2.c (main): Likewise.
61573         * tests/test-fchdir.c (main): Likewise.
61574         * tests/test-fcntl-h.c (main): Likewise.
61575         * tests/test-fcntl-safer.c (main): Likewise.
61576         * tests/test-fdopendir.c (main): Likewise.
61577         * tests/test-fdutimensat.c (main): Likewise.
61578         * tests/test-fflush.c (main): Likewise.
61579         * tests/test-filenamecat.c (main): Likewise.
61580         * tests/test-filevercmp.c (main): Likewise.
61581         * tests/test-fopen-safer.c (main): Likewise.
61582         * tests/test-fopen.c (main): Likewise.
61583         * tests/test-fpending.c (main): Likewise.
61584         * tests/test-fpurge.c (main): Likewise.
61585         * tests/test-freading.c (main): Likewise.
61586         * tests/test-fstatat.c (main): Likewise.
61587         * tests/test-fsync.c (main): Likewise.
61588         * tests/test-futimens.c (main): Likewise.
61589         * tests/test-getndelim2.c (main): Likewise.
61590         * tests/test-gettimeofday.c (main): Likewise.
61591         * tests/test-getopt.c (main): Likewise.
61592         * tests/test-i-ring.c (main): Likewise.
61593         * tests/test-inttypes.c (main): Likewise.
61594         * tests/test-link.c (main): Likewise.
61595         * tests/test-lstat.c (main): Likewise.
61596         * tests/test-math.c (main): Likewise.
61597         * tests/test-md5.c (main): Likewise.
61598         * tests/test-memchr2.c (main): Likewise.
61599         * tests/test-memrchr.c (main): Likewise.
61600         * tests/test-mkdir.c (main): Likewise.
61601         * tests/test-mkdirat.c (main): Likewise.
61602         * tests/test-mkfifoat.c (main): Likewise.
61603         * tests/test-open.c (main): Likewise.
61604         * tests/test-openat-safer.c (main): Likewise.
61605         * tests/test-openat.c (main): Likewise.
61606         * tests/test-quotearg.c (main): Likewise.
61607         * tests/test-rawmemchr.c (main): Likewise.
61608         * tests/test-readlink.c (main): Likewise.
61609         * tests/test-remove.c (main): Likewise.
61610         * tests/test-rename.c (main): Likewise.
61611         * tests/test-renameat.c (main): Likewise.
61612         * tests/test-rmdir.c (main): Likewise.
61613         * tests/test-sha1.c (main): Likewise.
61614         * tests/test-signal.c (main): Likewise.
61615         * tests/test-sigaction.c (main): Likewise.
61616         * tests/test-stat.c (main): Likewise.
61617         * tests/test-stat-time.c (main): Likewise.
61618         * tests/test-stddef.c (main): Likewise.
61619         * tests/test-stdint.c (main): Likewise.
61620         * tests/test-stdio.c (main): Likewise.
61621         * tests/test-stdlib.c (main): Likewise.
61622         * tests/test-strchrnul.c (main): Likewise.
61623         * tests/test-strerror.c (main): Likewise.
61624         * tests/test-string.c (main): Likewise.
61625         * tests/test-strtod.c (main): Likewise.
61626         * tests/test-strverscmp.c (main): Likewise.
61627         * tests/test-symlink.c (main): Likewise.
61628         * tests/test-symlinkat.c (main): Likewise.
61629         * tests/test-sys_stat.c (main): Likewise.
61630         * tests/test-sys_time.c (main): Likewise.
61631         * tests/test-time.c (main): Likewise.
61632         * tests/test-unistd.c (main): Likewise.
61633         * tests/test-unlink.c (main): Likewise.
61634         * tests/test-unlinkat.c (main): Likewise.
61635         * tests/test-utimens.c (main): Likewise.
61636         * tests/test-utimensat.c (main): Likewise.
61637         * tests/test-version-etc.c (main): Likewise.
61638         * tests/test-wchar.c (main): Likewise.
61639         * tests/test-wctype.c (main): Likewise.
61640         * tests/test-xprintf-posix.c (main): Likewise.
61641         * tests/test-posixtm.c (main): Likewise.
61642         (STREQ): Delete unused macro.
61643         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
61644         shadowed variables.
61645         * tests/test-memchr.c (main): Likewise.
61647 2009-10-21  Eric Blake  <ebb9@byu.net>
61649         areadlinkat: avoid failure on older glibc
61650         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
61651         rather than mis-comparing 0 against FUNC_RESULT of char*.
61653 2009-10-21  Bruno Haible  <bruno@clisp.org>
61655         * modules/stpncpy (License): Relicense under LGPLv2+.
61656         Reported by David Lutterkort <lutter@redhat.com>.
61658 2009-10-20  Eric Blake  <ebb9@byu.net>
61660         utimensat: work around Solaris 9 bug
61661         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
61662         has trailing slash bugs.
61663         * tests/test-lutimens.h (test_lutimens): Enhance test.
61664         * tests/test-utimens.h (test_utimens): Likewise.
61665         * doc/posix-functions/utime.texi (utime): Enhance documentation.
61666         * doc/posix-functions/utimes.texi (utimes): Likewise.
61667         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
61668         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
61669         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
61670         * doc/posix-functions/futimens.texi (futimens): Likewise.
61672         fdutimensat: new module
61673         * modules/fdutimensat: New file.
61674         * lib/fdutimensat.c (fdutimensat): Likewise.
61675         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
61676         * MODULES.html.sh (File system functions): Mention module.
61677         * modules/fdutimensat-tests: New test.
61678         * tests/test-fdutimensat.c: Likewise.
61680         doc: regenerate INSTALL
61681         * doc/INSTALL: Reflect recent autoconf update.
61682         * doc/INSTALL.ISO: Likewise.
61683         * doc/INSTALL.UTF-8: Likewise.
61685 2009-10-20  Pádraig Brady  <P@draigBrady.com>
61687         acl: warn if ACL support is not detected
61688         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
61690 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
61692         * lib/nproc.h: Add extern "C" block for C++.
61694 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
61695             Bruno Haible  <bruno@clisp.org>
61697         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
61698         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
61699         * doc/posix-functions/isalpha.texi: Likewise.
61700         * doc/posix-functions/isblank.texi: Likewise.
61701         * doc/posix-functions/iscntrl.texi: Likewise.
61702         * doc/posix-functions/isdigit.texi: Likewise.
61703         * doc/posix-functions/isgraph.texi: Likewise.
61704         * doc/posix-functions/islower.texi: Likewise.
61705         * doc/posix-functions/isprint.texi: Likewise.
61706         * doc/posix-functions/ispunct.texi: Likewise.
61707         * doc/posix-functions/isspace.texi: Likewise.
61708         * doc/posix-functions/isupper.texi: Likewise.
61709         * doc/posix-functions/isxdigit.texi: Likewise.
61711 2009-10-18  Bruno Haible  <bruno@clisp.org>
61713         Tests for module 'isblank'.
61714         * modules/isblank-tests: New file.
61715         * tests/test-isblank.c: New file.
61717         New module 'isblank'.
61718         * lib/isblank.c: New file.
61719         * m4/isblank.m4: New file.
61720         * modules/isblank: New file.
61721         * doc/posix-functions/isblank.texi: Mention the new module.
61723 2009-10-18  Bruno Haible  <bruno@clisp.org>
61725         New module 'ctype'.
61726         * lib/ctype.in.h: New file.
61727         * m4/ctype.m4: New file.
61728         * modules/ctype: New file.
61729         * doc/posix-headers/ctype.texi: Mention the new module.
61731 2009-10-18  Jim Meyering  <meyering@redhat.com>
61733         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
61734         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
61735         right after its initialization, rather than farther down.
61736         Keeping these in close proximity makes it easier to ensure
61737         that each such variable is initialized.  E.g.,
61739             LIB_CLOCK_GETTIME=
61740             AC_SUBST([LIB_CLOCK_GETTIME])
61742         This change also increments these serial numbers.
61743         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
61744         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
61745         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
61747 2009-10-18  Bruno Haible  <bruno@clisp.org>
61749         Don't let environment variables perturb build.
61750         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
61751         (gl_PREREQ_GETHRXTIME): ... not here.
61753 2009-10-18  Bruno Haible  <bruno@clisp.org>
61755         Avoid symlink attack in localcharset module.
61756         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
61757         (O_NOFOLLOW): Define fallback.
61758         (get_charset_aliases): Don't open the file if it is a symbolic link.
61759         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
61760         gl_FCNTL_H.
61761         (gl_FCNTL_H): Require it.
61762         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
61763         * modules/localcharset (Files): Add m4/fcntl_h.m4.
61764         Reported by Fergal Glynn <fglynn@veracode.com>.
61766 2009-10-18  Bruno Haible  <bruno@clisp.org>
61768         Implement nproc for mingw.
61769         * lib/nproc.c: Include <windows.h>
61770         (num_processors): On native Windows platforms, try GetSystemInfo.
61772 2009-10-18  Bruno Haible  <bruno@clisp.org>
61774         Implement nproc for IRIX.
61775         * lib/nproc.c: Include <sys/sysmp.h>.
61776         (num_processors): On IRIX systems, try sysmp.
61777         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
61779 2009-10-18  Bruno Haible  <bruno@clisp.org>
61781         Implement nproc for HP-UX.
61782         * lib/nproc.c: Include <sys/pstat.h>
61783         (num_processors): On HP-UX systems, try pstat_getdynamic.
61784         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
61785         pstat_getdynamic.
61787 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
61788             Bruno Haible  <bruno@clisp.org>
61790         Implement nproc for NetBSD, OpenBSD.
61791         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
61792         (ARRAY_SIZE): New macro.
61793         (num_processors): On BSD systems, try sysctl of HW_NCPU.
61794         * m4/nproc.m4: New file.
61795         * modules/nproc (Files): Add m4/nproc.m4.
61796         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
61797         (Makefile.am): Instead, augment lib_SOURCES.
61799 2009-10-18  Bruno Haible  <bruno@clisp.org>
61801         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
61802         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
61803         sys/param.h.
61805 2009-10-16  Eric Blake  <ebb9@byu.net>
61807         utimensat: new module
61808         * modules/utimensat: New file.
61809         * lib/utimensat.c (utimensat): Likewise.
61810         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
61811         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
61812         so we can work around Linux bugs.
61813         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
61814         * modules/sys_stat (Makefile.am): Substitute them.
61815         * lib/sys_stat.in.h (utimensat): Declare it.
61816         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
61817         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
61818         * modules/utimensat-tests: New test.
61819         * tests/test-utimensat.c: Likewise.
61821         utimens: let lutimens work on non-symlinks
61822         * lib/utimens.c (lutimens): Fall back to utimens rather than
61823         failing with ENOSYS, when file is not a symlink.
61824         (utimens): Reduce redirection.
61825         * tests/test-lutimens.h (test_lutimens): Update test to cover
61826         non-symlinks.
61827         * tests/test-utimens.h (test_utimens): Update test to cover
61828         symlinks.
61829         * tests/test-utimens.c (main): Update caller.
61831         utimens: cache whether utimensat syscall works
61832         * lib/utimens.c (utimensat_works_really): New cache variable.
61833         (fdutimens, lutimens): Use it to avoid failing syscall.
61835         test-stat-time, test-utimens: improve portability
61836         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
61837         ext4 on alpha, and for cygwin.
61838         * tests/test-utimens-common.h: New file.
61839         (nap): Factor delays into single function.
61840         * tests/test-lutimens.h (test_lutimens): Use new header.
61841         * tests/test-futimens.h (test_futimens): Likewise.
61842         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
61843         timestamps to occur from same machine, as was done previously for
61844         test_utimens.
61845         * modules/utimens-tests (Files): Ship new file.
61846         * modules/futimens-tests (Files): Likewise.
61847         Reported in part by Jim Meyering.
61849         sys_stat: sort replacement declarations
61850         * lib/sys_stat.in.h: Sort declarations.
61851         * lib/futimens.c (futimens): Fix typo.
61853 2009-10-15  Jim Meyering  <meyering@redhat.com>
61855         don't let environment settings perturb build
61856         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
61857         could cause a configure-time and/or build-time malfunction.
61858         Typically, a configure-time function-in-library test is performed
61859         via code like this:
61861           LIB_VAR=
61862           AC_SUBST([LIB_VAR])
61863           prefix_saved_LIBS=$LIBS
61864             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
61865                        [test "$ac_cv_search_FUNC" = "none required" ||
61866                         LIB_VAR=$ac_cv_search_FUNC])
61867           LIBS=$prefix_saved_LIBS
61869         However, in each of the files affected by this change, the LIB_VAR=
61870         initialization was omitted.  Thus, when set in the environment, its
61871         value would propagate into generated Makefiles when FUNC is not found
61872         in LIB_NAME.
61873         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
61874         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
61875         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
61877 2009-10-14  Eric Blake  <ebb9@byu.net>
61879         fchdir: avoid infinite recursion in mingw
61880         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
61881         recursing.
61883         test-stat-time: port to mingw
61884         * tests/test-stat-time.c (force_unlink): Return a value.
61885         (test_ctime) [W32]: Fix compilation error.
61886         (nap): Don't call usleep with too large an argument.  Use
61887         force_unlink.
61888         * doc/pastposix-functions/usleep.texi (usleep): Document the
61889         portability issue.
61891 2009-10-13  Jim Meyering  <meyering@redhat.com>
61893         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
61894         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
61895         * modules/pipe-filter-ii: Likewise.
61896         * modules/sys_socket-tests: Likewise.
61897         * modules/tsearch-tests: Likewise.
61898         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
61899         (check): Depend on it.
61901 2009-10-12  Eric Blake  <ebb9@byu.net>
61903         utimens-tests: port to NFS file systems
61904         * tests/test-utimens.h (test_utimens): Refactor utimecmp
61905         comparisons to avoid spurious failures from timestamp drift
61906         between NFS machines.
61908 2009-10-12  Eric Blake  <ebb9@byu.net>
61910         stat-time-tests: minor cleanups
61911         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
61912         * tests/test-stat-time.c (nap): Separate assignment from call.
61913         Suggested by Paolo Bonzini and Bruno Haible.
61915         sys_stat: guarantee struct timespec
61916         * lib/sys_stat.in.h (includes): Always include <time.h>
61917         * modules/sys_stat (Depends-on): Add time.
61918         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
61919         mode_t permission values.
61920         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
61921         get at subsecond timestamps.
61923 2009-10-10  Eric Blake  <ebb9@byu.net>
61925         futimens: new module
61926         * modules/futimens: New file.
61927         * lib/futimens.c (futimens): Likewise.
61928         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
61929         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
61930         we can work around Linux bugs.
61931         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
61932         * modules/sys_stat (Makefile.am): Substitute them.
61933         * lib/sys_stat.in.h (futimens): Declare it.
61934         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
61935         * doc/posix-functions/futimens.texi (futimens): Likewise.
61936         * modules/futimens-tests: New test.
61937         * tests/test-futimens.c: Likewise.
61939         utimens: introduce fdutimens
61940         * lib/utimens.h (fdutimens): New prototype.
61941         * lib/utimens.c (gl_futimens): Move guts...
61942         (fdutimens): ...to new interface.
61943         * tests/test-utimens.c (do_fdutimens): Use it.
61945         utimens: add UTIME_NOW and UTIME_OMIT support
61946         * lib/utimens.c (validate_timespec, update_timespec): New helper
61947         functions.
61948         (gl_futimens, lutimens): Use them.
61949         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
61950         stdbool, sys_stat.
61951         (Link): Mention resulting library dependency.
61952         * modules/utimecmp (Link): Likewise.
61953         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
61954         (Makefile.am): Pick up library dependency.
61955         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
61956         definition.
61957         * tests/test-sys_stat.c: Test the definitions.
61958         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
61959         * NEWS: Document library dependency.
61961         utimecmp: support symlink timestamps
61962         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
61963         hashing when possible.  Use pathconf when available.
61964         (SYSCALL_RESOLUTION): Recognize tighter resolution.
61965         * modules/utimecmp (Depends-on): Add lstat.
61967         utimens: add lutimens interface
61968         * lib/utimens.c (lutimens): New function.
61969         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
61970         * lib/utimens.h (lutimens): Declare new interface.
61971         * tests/test-utimens.c (main): Enhance test.
61972         * tests/test-lutimens.h (test_lutimens): New file.
61973         * modules/utimens-tests (Files): Distribute it.
61974         (Depends-on): Add symlink.
61975         (configure.ac): Check for usleep.
61977         utimens: validate futimens usage
61978         * lib/utimens.c (gl_futimens): Require valid fd up front, using
61979         fewer syscalls on failure later on.  Avoid compiler warning on
61980         mingw.
61981         * modules/utimens (Depends-on): Add dup2.
61983         utimens: add test
61984         * modules/utimens-tests: New test.
61985         * tests/test-utimens.h: New file.
61986         * tests/test-futimens.h: Likewise.
61987         * tests/test-utimens.c: Likewise.
61989         doc: mention timestamp portability issues
61990         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
61991         instead.
61992         * doc/posix-functions/utime.texi (utime): Likewise.
61993         * doc/posix-functions/utimes.texi (utimes): Likewise.
61994         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
61995         instead.
61996         * doc/posix-functions/futimens.texi (futimens): Mention utimens
61997         module.
61998         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
61999         Mention weakness with symlink timestamps.
62000         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
62001         to utimensat/futimens instead.
62002         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
62004         test-dup2: enhance test
62005         * tests/test-dup2.c (main): Also check AT_FDCWD.
62007         test-stat-time: avoid more spurious failures
62008         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
62009         xfs; and avoid race if the two timestamps cross quantization edge.
62011         relocatable: prefer 'file system' over 'filesystem'
62012         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
62013         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
62014         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
62015         * doc/relocatable.texi (Enabling Relocatability): Likewise.
62016         * lib/relocatable.c (compute_curr_prefix): Likewise.
62018 2009-10-10  Jim Meyering  <meyering@redhat.com>
62020         stat-time-tests: check for the usleep function
62021         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
62023 2009-10-10  Bruno Haible  <bruno@clisp.org>
62025         * modules/xnanosleep: Put the Link section after the Include section.
62027 2009-10-09  Eric Blake  <ebb9@byu.net>
62029         dup2: work around FreeBSD 6.1 bug
62030         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
62031         * doc/posix-functions/dup2.texi (dup2): Document it.
62032         Reported by Nelson H. F. Beebe and Jim Meyering.
62034         test-stat-time: port to buggy NFS clients
62035         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
62036         (test_ctime): Also skip test if mtime and ctime are skewed.
62038         maint: prefer 'file system' over 'filesystem'
62039         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
62040         * doc/posix-functions/lstat.texi (lstat): Likewise.
62041         * lib/file-has-acl.c (file_has_acl): Likewise.
62042         * lib/fwriteerror.c [TEST]: Likewise.
62043         * tests/test-areadlink.h (test_areadlink): Likewise.
62044         * tests/test-areadlinkat-with-size.c (main): Likewise.
62045         * tests/test-areadlinkat.c (main): Likewise.
62046         * tests/test-canonicalize-lgpl.c (main): Likewise.
62047         * tests/test-canonicalize.c (main): Likewise.
62048         * tests/test-fstatat.c (main): Likewise.
62049         * tests/test-linkat.c (main): Likewise.
62050         * tests/test-lstat.h (test_lstat_func): Likewise.
62051         * tests/test-mkdir.h (test_mkdir): Likewise.
62052         * tests/test-readlink.h (test_readlink): Likewise.
62053         * tests/test-remove.c (main): Likewise.
62054         * tests/test-rename.h (test_rename): Likewise.
62055         * tests/test-renameat.c (main): Likewise.
62056         * tests/test-rmdir.h (test_rmdir_func): Likewise.
62057         * tests/test-symlink.h (test_symlink): Likewise.
62058         * tests/test-symlinkat.c (main): Likewise.
62059         * tests/test-unlink.h (test_unlink_func): Likewise.
62060         * tests/test-unlinkat.c (main): Likewise.
62062         maint: make realtime library usage explicit
62063         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
62064         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
62065         * modules/settime (Link): Likewise.
62066         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
62068         test-stat-time: speed up execution
62069         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
62070         warning on mingw.
62071         (nap): New helper function.
62072         (prepare_test): Use it to reduce sleep time.
62073         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
62074         execution.
62075         * modules/stat-time-tests (configure.ac): Check for usleep.
62077 2009-10-09  Jim Meyering  <meyering@redhat.com>
62079         selinux-h: always use getfilecon wrappers
62080         * lib/getfilecon.c: New file.
62081         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
62082         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
62083         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
62084         (fgetfilecon): Provide a stub.
62085         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
62086         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
62087         file unconditionally.
62088         When <selinux/selinux.h> is found, arrange to use wrappers.
62089         * modules/selinux-h (Files): Add getfilecon.c.
62090         (Makefile.am): Substitute include-next-related bits
62091         into the now-always-generated selinux/selinux.h file.
62092         * doc/glibc-functions/lgetfilecon.texi: New file.
62093         * doc/glibc-functions/fgetfilecon.texi: New file.
62094         * doc/glibc-functions/getfilecon.texi: New file.
62095         * doc/glibc-functions/getfilecon-desc.texi: New file.
62096         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
62097         which to pull in the new files.
62098         * MODULES.html.sh (Misc): Add selinux-h.
62100 2009-10-08  Jim Meyering  <meyering@redhat.com>
62102         unistd: fix comment typo
62103         * lib/unistd.in.h (euidaccess): Fix a comment typo.
62105 2009-10-08  Eric Blake  <ebb9@byu.net>
62107         areadlink: use SIZE_MAX consistently
62108         * modules/areadlink (Depends-on): Add stdint.
62109         * modules/areadlink-with-size (Depends-on): Likewise.
62110         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
62111         gives NULL; drop sys/types, since unistd gives size_t; and add
62112         stdint for SIZE_MAX.
62113         (SIZE_MAX): Rely on headers.
62114         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
62115         and add stdint.
62116         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
62117         (SIZE_MAX): Likewise.
62118         (INITIAL_BUF_SIZE): Turn into enum.
62119         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
62121 2009-10-08  Jim Meyering  <meyering@redhat.com>
62123         areadlinkat: avoid compilation failure
62124         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
62125         Fix typo in comment.
62127 2009-10-07  Eric Blake  <ebb9@byu.net>
62129         areadlinkat-with-size: new module
62130         * modules/areadlinkat-with-size: New module.
62131         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
62132         * lib/areadlink.h (areadlinkat): Declare it.
62133         * MODULES.html.sh (File system functions): Mention it.
62134         * modules/areadlinkat-with-size-tests: New test.
62135         * tests/test-areadlinkat-with-size.c: New file.
62137         xreadlinkat: new module
62138         * modules/xreadlinkat: New module.
62139         * lib/xreadlinkat.c (xreadlinkat): New file.
62140         * lib/xreadlink.h (xreadlinkat): Declare it.
62141         * MODULES.html.sh (File system functions): Mention it.
62143         areadlinkat: new module
62144         * lib/at-func.c (FUNC_FAIL): New define.
62145         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
62146         * modules/areadlinkat: New module.
62147         * lib/linkat.c (areadlinkat): Move...
62148         * lib/areadlinkat.c (areadlinkat): ...to new file.
62149         * lib/areadlink.h (areadlinkat): Declare it.
62150         * modules/linkat (Depends-on): Add areadlinkat.
62151         * MODULES.html.sh (File system functions): Mention it.
62152         * modules/areadlinkat-tests: New test.
62153         * tests/test-areadlinkat.c: New file.
62155         areadlink, areadlink-with-size: add tests
62156         * modules/areadlink-tests: New test.
62157         * modules/areadlink-with-size-tests: Likewise.
62158         * tests/test-areadlink.h: New file.
62159         * tests/test-areadlink.c: Likewise.
62160         * tests/test-areadlink-with-size.c: Likewise.
62162         maint: minor cleanups
62163         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
62164         _UNUSED_PARAMETER_ instead.
62165         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
62166         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
62167         * modules/linkat-tests (Files): Distribute test-link.h.
62169         openat, utimens: whitespace cleanup
62170         * lib/openat.c: Prefer space throughout, rather than mix of 8
62171         spaces vs. tabs.
62172         * lib/at-func.c: Likewise.
62173         * lib/utimens.c: Likewise.
62175         openat: avoid using wrong fd
62176         * lib/openat.c (openat_permissive): Reject user's fd if saving the
62177         working directory chooses same fd.
62178         * lib/at-func.c (AT_FUNC_NAME): Likewise.
62180         mkdir, mkdirat: fix cygwin 1.5.x bug
62181         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
62182         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
62183         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
62184         bug.
62185         (gl_PREREQ_MKDIR): Delete unused macro.
62186         * modules/mkdir (Files): Track file rename.
62187         (configure.ac): Update macro name.
62188         * modules/openat (Depends-on): Add mkdir.
62189         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
62191         mkdir, mkdirat: add tests
62192         * modules/mkdir-tests: New test.
62193         * tests/test-mkdir.h: New file.
62194         * tests/test-mkdir.c: Likewise.
62195         * tests/test-mkdirat.c: Likewise.
62196         * modules/openat-tests (Files): Add new files.
62197         (Makefile.am): Run new test.
62199 2009-10-06  Eric Blake  <ebb9@byu.net>
62201         doc: tweak *at function documentation
62202         * doc/posix-functions/faccessat.texi (faccessat): Mention
62203         known issue with replacement.
62204         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
62205         * doc/posix-functions/linkat.texi (linkat): Likewise.
62206         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
62207         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
62208         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
62209         * doc/posix-functions/renameat.texi (renameat): Likewise.
62210         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
62212         openat: fix GNU/Hurd bug in unlinkat
62213         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
62214         broken.
62215         * doc/posix-functions/unlink.texi (unlink): Document this.
62216         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
62218         fdopendir: fix GNU/Hurd bug
62219         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
62220         allowing non-directory fds.
62221         * lib/fdopendir.c (rpl_fdopendir): Work around it.
62222         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
62223         * modules/dirent (Makefile.am): Substitute it.
62224         * lib/dirent.in.h (fdopendir): Declare replacement.
62225         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
62226         * tests/test-fdopendir.c (main): Test something other than
62227         /dev/null, since on Hurd that behaves like a directory.
62229         test-symlink: port to GNU/Hurd
62230         * tests/test-symlink.h (test_symlink): Relax expected errno.
62232         doc: tweak more cygwin information
62233         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
62234         now compatible with glibc.
62235         * doc/posix-functions/getopt.texi (getopt): Likewise.
62237         getopt-gnu: add another test
62238         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
62239         guarantee behavior relied on by m4.
62240         * tests/test-getopt.c (main): Use it.
62241         * modules/getopt-posix-tests (Depends-on): Add setenv.
62242         See http://lists.gnu.org/r/bug-m4/2006-09/msg00028.html.
62244         getopt: fix compilation on darwin
62245         * lib/getopt.in.h (includes): Leave breadcrumbs during system
62246         include.
62247         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
62248         Reported by Ludovic Courtès.
62250 2009-10-06  Bruno Haible  <bruno@clisp.org>
62252         * modules/size_max (Description): Discourage its use.
62253         Reported by Simon Josefsson.
62255 2009-10-06  Jim Meyering  <meyering@redhat.com>
62257         linkat: avoid compilation failure
62258         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
62260 2009-10-05  Eric Blake  <ebb9@byu.net>
62262         linkat: support Linux 2.6.17
62263         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
62264         linkat on Linux, but allow cache variable override.
62265         * lib/linkat.c (rpl_linkat): Define override.
62266         * modules/linkat (Depends-on): Add symlinkat.
62267         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
62268         * modules/unistd (Makefile.am): Substitute it.
62269         * lib/unistd.in.h (linkat): Declare replacement.
62270         Reported by Pádraig Brady.
62272         quotearg: port test to systems with C.UTF-8 locale
62273         * tests/test-quotearg.c (struct result_strings): Add another
62274         member, differentiating between C.ASCII and C.UTF-8 handling.
62275         (compare_strings): Add parameter.
62276         (main): Adjust all callers.
62278         getopt: avoid clash with FreeBSD _getopt_internal
62279         * lib/getopt.in.h (_getopt_internal): Override the name.
62280         * lib/getopt_int.h (includes): Pick up any overrides.
62281         Reported by Reuben Thomas.
62283         hash: allow C89 compilation
62284         * lib/hash.c (check_tuning): Move declaration before statement.
62285         Reported by Reuben Thomas.
62287 2009-10-05  Karl Berry  <karl@gnu.org>
62289         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
62291 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
62292             Bruno Haible  <bruno@clisp.org>
62294         * lib/uname.c (uname): Use a table-driven algorithm to compute
62295         Windows NT versions.
62297 2009-10-04  Bruno Haible  <bruno@clisp.org>
62299         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
62300         program_invocation_short_name.
62301         * modules/progname (configure.ac): Test for presence of
62302         program_invocation_short_name.
62303         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
62305 2009-10-04  Bruno Haible  <bruno@clisp.org>
62307         * lib/progname.c (set_program_name): Fix comment.
62308         Reported by Jim Meyering.
62310 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
62311             Bruno Haible  <bruno@clisp.org>
62313         * lib/uname.c: Include <string.h>.
62314         (uname): Do only one call to GetVersionEx in the common case.
62316 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
62317             Bruno Haible  <bruno@clisp.org>
62319         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
62320         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
62321         (uname): Add support for Windows CE and various non-x86 CPU types.
62323 2009-10-03  Bruno Haible  <bruno@clisp.org>
62325         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
62326         invocation to tests/configure.ac.
62327         Reported by Ian Beckwith <ianb@erislabs.net>.
62329 2009-10-02  Eric Blake  <ebb9@byu.net>
62331         fchdir: avoid compiler warning
62332         * lib/fchdir.c (canonicalize_file_name)
62333         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
62335         test-open: support mingw errno values
62336         * tests/test-open.h (test_open): Relax test.
62337         * tests/test-fopen.h (test_fopen): Likewise.
62338         * tests/test-openat-safer.c (main): Likewise.
62340         open: fix opening directory on mingw
62341         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
62343         test-open: on GNU/Hurd, /dev/null is a directory
62344         * tests/test-fopen.h (main): Rename...
62345         (test_fopen): ...to this.  Use a guaranteed non-directory when
62346         confirming open behavior on trailing slash.
62347         * tests/test-openat-safer.c (main): Likewise.
62348         * tests/test-open.h (main): Likewise....
62349         (test_open): ...to this.
62350         * tests/test-fopen.c (main): Adjust caller.
62351         * tests/test-fopen-safer.c (main): Likewise.
62352         * tests/test-open.c (main): Likewise.
62353         * tests/test-fcntl-safer.c (main): Likewise.
62354         Reported by Samuel Thibault.
62356         rename, fchdir: don't ignore chdir failure
62357         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
62358         * lib/rename.c (rpl_rename) [W32]: Likewise.
62359         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
62360         an empty destination directory if source cannot be renamed,
62361         although there is still possibility for failure.
62362         * doc/posix-functions/rename.texi (rename): Document the race.
62363         Reported by Jim Meyering.
62365         maint: cleanup whitespace in recent commits
62366         * lib/rename.c (rpl_rename): Remove tabs.
62367         * tests/test-link.h (test_link): Likewise.
62368         * lib/fchdir.c (get_name): Likewise.
62369         Reported by Jim Meyering.
62371 2009-10-02  Ben Pfaff  <blp@gnu.org>
62373         relocatable-prog-wrapper: Add missing dependency on
62374         double-slash-root.
62375         * modules/relocatable-prog-wrapper: Add dependency.
62376         Reported by Ian Beckwith <ianb@erislabs.net>.
62378 2009-10-02  Eric Blake  <ebb9@byu.net>
62380         renameat: fix Solaris bugs
62381         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
62382         needed fixing.
62383         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
62384         * modules/stdio (Makefile.am): Substitute it.
62385         * lib/stdio.in.h (renameat): Declare replacement.
62386         * lib/renameat.c (rpl_renameat): Implement fix.
62388         renameat: new module
62389         * modules/renameat: New file.
62390         * lib/renameat.c (renameat): Likewise.
62391         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
62392         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
62393         * modules/stdio (Makefile.am): Substitute them.
62394         * lib/stdio.in.h (renameat): Declare it.
62395         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
62396         * doc/posix-functions/renameat.texi (renameat): Likewise.
62397         * modules/renameat-tests: New test.
62398         * tests/test-renameat.c: Likewise.
62400         rename: fix mingw bugs
62401         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
62402         directory overwrite bugs.
62404         rename: fix another cygwin 1.5 bug
62405         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
62406         checks.
62407         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
62408         unnecessary cygwin workarounds.  Also work around bug with moving
62409         full directory onto an empty one.
62410         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
62412         rename-dest-slash: merge into rename module
62413         * modules/rename-dest-slash (Status): Mark obsolete.
62414         (Depends-on): Add rename.
62415         (Files): Let rename do it all.
62416         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
62417         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
62418         * m4/rename-dest-slash.m4: ...so this file can be deleted.
62419         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
62420         * lib/rename.c (rpl_rename): Update comments.
62422         rename: fix cygwin 1.5.x bugs
62423         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
62424         * lib/rename.c (rpl_rename): Work around them.
62425         * modules/rename (Depends-on): Add same-inode.
62427         rename: fix Solaris 10 bug
62428         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
62429         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
62430         was the only bug.
62432         rename: fix Solaris 9 bug
62433         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
62434         on non-directory.  Avoid calling exit.
62435         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
62436         strdup.
62437         * modules/rename-tests (Depends-on): Drop lstat.
62438         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
62439         (gl_PREREQ_RENAME): Delete unused macro.
62441         rename-dest-slash: fix NetBSD bug
62442         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
62443         links.
62444         * modules/rename-dest-slash (Depends-on): Add same-inode.
62446         rename-tests: new test, exposes several platform bugs
62447         * modules/rename-tests: New file.
62448         * tests/test-rename.h: Likewise.
62449         * tests/test-rename.c: Likewise.
62450         * doc/posix-functions/rename.texi (rename): Improve documentation,
62451         including bugs that will eventually be fixed in gnulib.
62453 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
62455         * lib/uname.c: Include <stdlib.h>
62456         (uname): Assume version info is available.
62458 2009-10-02  Jim Meyering  <meyering@redhat.com>
62460         gnu-web-doc-update: correct --help output
62461         * build-aux/gnu-web-doc-update: Make --help output relevant.
62463         gnu-web-doc-update: add standard options
62464         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
62466         gnu-web-doc-update: New module.
62467         Use this script to automatically update the on-line web documentation
62468         for your GNU project at http://www.gnu.org/software/$pkg/manual/
62469         * modules/gnu-web-doc-update: New file, from coreutils.
62470         * build-aux/gnu-web-doc-update: New script.
62472 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
62474         link: LoadLibrary is not needed.
62475         * lib/link.c: Use GetModuleHandle.
62477 2009-10-01  Eric Blake  <ebb9@byu.net>
62479         getopt: bump serial number
62480         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
62481         change.
62483         tests: tighten link, rmdir, and remove tests
62484         * tests/test-link.h (includes): No need to use <config.h> here.
62485         Clean up if directory hard link was created, otherwise test for
62486         trailing '.'.
62487         * tests/test-linkat.c (main): Simplify.
62488         * tests/test-remove.c (main): Enhance test for trailing '.'.
62489         * tests/test-rmdir.h (test_rmdir_func): Likewise.
62491 2009-10-01  Jim Meyering  <meyering@redhat.com>
62493         maint.mk: requiring "make major" was annoying, for a "minor" release.
62494         What is intended is "stable", to contrast with alpha and beta,
62495         so require "make stable", not "make major".
62496         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
62497         (get_tool_versions): Likewise.
62498         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
62500 2009-09-30  Ben Pfaff  <blp@gnu.org>
62502         Fix broken build of replacement for Windows tmpfile().
62503         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
62504         flags argument added along with the 'mkostemp' module.
62506 2009-09-28  Bruno Haible  <bruno@clisp.org>
62508         Avoid identifier clash with POSIX function 'remove' defined as a macro.
62509         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
62510         to 'remove_elt'.
62511         (gl_list_remove): Update.
62512         * lib/gl_list.c (gl_list_remove): Update.
62513         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
62514         to 'remove_elt'.
62515         (gl_oset_remove): Update.
62516         * lib/gl_list.c (gl_oset_remove): Update.
62517         Reported by Eric Blake.
62519 2009-09-28  Eric Blake  <ebb9@byu.net>
62521         doc: mention yet more cygwin 1.7 status
62522         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
62523         cygwin.
62524         * doc/glibc-functions/execvpe.texi (execvpe): New file.
62525         * doc/gnulib.texi (Glibc unistd.h): Mention it.
62527         argp: fix test failure
62528         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
62529         that are not upper-case.  Pass correct range to tolower.
62531 2009-09-27  Jim Meyering  <meyering@redhat.com>
62533         test-yesno: work around sparc-dash here-document infelicity
62534         Without this change, the literal \177 byte in a here document
62535         would make dash 0.5.5.1-3 access uninitialized memory.
62536         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
62537         Instead, use a marker, "@", and filter through tr to create the desired
62538         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
62540 2009-09-27  Bruno Haible  <bruno@clisp.org>
62542         Disable untested support for new flavours of ACLs on AIX.
62543         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
62544         progress.
62545         * lib/set-mode-acl.c (qset_acl): Likewise.
62547 2008-12-07  Bruno Haible  <bruno@clisp.org>
62549         Add support for new flavours of ACLs on AIX. (Untested.)
62550         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
62551         (file_has_acl): Add support for newer AIX.
62552         * lib/set-mode-acl.c (qset_acl): Likewise.
62553         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
62554         Rainer Tammer <tammer@tammer.net>.
62556 2009-09-26  Eric Blake  <ebb9@byu.net>
62558         argp: fix compilation of getopt
62559         * lib/getopt.in.h (includes): Use different guard than glibc.
62560         Reported by Sergey Poznyakoff.
62562         doc: mention more cygwin 1.7 status
62563         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
62564         bug.
62565         * doc/posix-functions/execl.texi (execl): Likewise.
62566         * doc/posix-functions/execle.texi (execle): Likewise.
62567         * doc/posix-functions/execlp.texi (execlp): Likewise.
62568         * doc/posix-functions/execv.texi (execv): Likewise.
62569         * doc/posix-functions/execve.texi (execve): Likewise.
62570         * doc/posix-functions/execvp.texi (execvp): Likewise.
62571         * doc/glibc-functions/canonicalize_file_name.texi
62572         (canonicalize_file_name): Cygwin 1.7 now provides this.
62573         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
62574         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
62575         on AT_SYMLINK_NOFOLLOW.
62577 2009-09-24  Eric Blake  <ebb9@byu.net>
62579         test-linkat: make test more robust
62580         * tests/test-linkat.c (main): Avoid collision with EEXIST.
62582         getopt: fix inclusion guards for cygwin
62583         * modules/getopt-posix (Depends-on): Add include-next.
62584         (Makefile.am): Substitute more items in replacement header.
62585         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
62586         <getopt.h>.
62587         * lib/getopt.in.h (includes): Use split inclusion guard, and
62588         prefer <getopt.h> over include <unistd.h> when one is present.
62589         (option): Also override name of 'struct option'.
62591         same-inode: revert prior change; it is not yet ready
62592         * NEWS: Undo mention of this change.
62593         * lib/same-inode.h (same-inode.h): Undo tri-state change.
62594         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
62595         * lib/cycle-check.c (cycle_check): Likewise.
62596         * lib/same.c (same_name): Likewise.
62597         * lib/at-func2.c (at_func2): Likewise.
62599 2009-09-23  Eric Blake  <ebb9@byu.net>
62601         linkat: new module
62602         * modules/linkat: New file.
62603         * lib/at-func2.c (at_func2): Likewise.
62604         * lib/linkat.c (linkat): Likewise.
62605         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
62606         * lib/openat-priv.h (at_func2): Add declaration.
62607         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
62608         * modules/unistd (Makefile.am): Substitute them.
62609         * lib/unistd.in.h (linkat): Declare it.
62610         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
62611         * doc/posix-functions/linkat.texi (linkat): Likewise.
62612         * doc/posix-functions/link.texi (link): Tweak wording.
62613         * tests/test-link.c (main): Move guts...
62614         * tests/test-link.h (test_link): ...into new file.
62615         * modules/linkat-tests: New test.
62616         * tests/test-linkat.c: Likewise.
62617         * modules/link-tests (Files): Ship new file.
62618         (Depends-on): Add stdbool.
62620         dirname: add library-safe mdir_name
62621         * lib/dirname.h (mdir_name): New prototype.
62622         * lib/dirname.c (dir_name): Move guts...
62623         (mdir_name): ...to new function that avoids xalloc_die.
62625         fchdir: another mingw fix
62626         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
62627         * lib/fchdir.c (get_name): New helper method; skips canonicalize
62628         on mingw (where it has not yet been ported), and make it optional
62629         elsewhere.
62630         (_gl_register_fd): Use it.
62632         same-inode: make SAME_INODE tri-state, to port to mingw
62633         * NEWS: Mention this change.
62634         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
62635         st_ino always being 0.
62636         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
62637         * lib/cycle-check.c (cycle_check): Likewise.
62638         * lib/same.c (same_name): Likewise.
62640         lstat: avoid mingw compilation error
62641         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
62642         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
62643         lstat ourselves.
62644         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
62645         was adequate.
62646         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
62647         the checks for lstat.
62648         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
62650         link: fix test failure on Solaris 9
62651         * lib/link.c (rpl_link): Don't assume link will catch bogus
62652         trailing slash on source.
62654         test-symlinkat: enhance test
62655         * tests/test-readlink.c (main): Move guts...
62656         * tests/test-readlink.h (test_readlink): ...into new file.
62657         * tests/test-symlink.c (main): Move guts...
62658         * tests/test-symlink.h (test_symlink): ...into new file.
62659         * tests/test-symlinkat.c (main): Use new files for further
62660         coverage.
62661         (do_symlink, do_readlink): New helper functions.
62662         * modules/symlink-tests (Files): Ship new file.
62663         (Depends-on): Add stdbool.
62664         * modules/readlink-tests (Files): Ship new file.
62665         (Depends-on): Add stdbool.
62666         * modules/symlinkat-tests (Files): Use new files.
62668 2009-09-23  Eric Blake  <ebb9@byu.net>
62670         readlink: document portability issue with symlink length
62671         * doc/posix-functions/lstat.texi (lstat): Mention that some file
62672         systems have bogus st_size on symlinks, and mention the
62673         areadlink-with-size module.
62674         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
62675         * doc/posix-functions/readlink.texi (readlink): Mention the
62676         areadlink module, and ERANGE failure.
62677         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
62678         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
62680         readlink: fix Solaris 9 bug with trailing slash
62681         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
62682         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
62683         * doc/posix-functions/readlink.texi (readlink): Document this.
62684         * modules/readlink-tests: New test.
62685         * tests/test-readlink.c: Likewise.
62687         readlink: fix cygwin 1.5.x bug with return type
62688         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
62689         * lib/unistd.in.h (readlink): Use ssize_t.
62690         * lib/readlink.c (readlink): Likewise.
62691         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
62692         * modules/unistd (Makefile.am): Substitute it.
62693         * lib/unistd.in.h (readlink): Declare replacement.
62694         * doc/posix-functions/readlink.texi (readlink): Document this.
62696         symlink: use throughout gnulib
62697         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
62698         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
62699         symlink is not used.
62700         * modules/symlinkat (Depends-on): Add symlink.
62701         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
62702         * modules/canonicalize-tests (Depends-on): Likewise.
62703         * modules/lstat-tests (Depends-on): Likewise.
62704         * modules/openat-tests (Depends-on): Likewise.
62705         * modules/remove-tests (Depends-on): Likewise.
62706         * modules/rmdir-tests (Depends-on): Likewise.
62707         * modules/unlink-tests (Depends-on): Likewise.
62708         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
62709         * tests/test-canonicalize.c (symlink): Likewise.
62710         * tests/test-fstatat.c (symlink): Likewise.
62711         * tests/test-lstat.c (symlink): Likewise.
62712         * tests/test-remove.c (symlink): Likewise.
62713         * tests/test-rmdir.c (symlink): Likewise.
62714         * tests/test-unlink.c (symlink): Likewise.
62715         * tests/test-unlinkat.c (symlink): Likewise.
62717         symlink: new module, for Solaris 9 bug
62718         * modules/symlink: New file.
62719         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
62720         * lib/symlink.c: Likewise.
62721         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
62722         * modules/unistd (Makefile.am): Substitute them.
62723         * lib/unistd.in.h (symlink): Declare replacement.
62724         * MODULES.html.sh (File system functions): Mention it.
62725         * doc/posix-functions/symlink.texi (symlink): Likewise.
62726         * modules/symlink-tests: New test.
62727         * tests/test-symlink.c: Likewise.
62729 2009-09-23  Bruno Haible  <bruno@clisp.org>
62731         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
62732         when needed.
62733         Test case: gnulib-tool --import --with-tests atexit inttypes.
62734         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
62736 2009-09-23  Bruno Haible  <bruno@clisp.org>
62738         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
62739         subcommand, not in a subshell.
62741 2009-09-22  Eric Blake  <ebb9@byu.net>
62743         unistd: sort replacement declarations
62744         * lib/unistd.in.h: Sort declarations.
62746         open, openat: minor optimization
62747         * lib/open.c (open): If open succeeded, len is non-zero.
62748         * lib/openat.c (rpl_openat): Likewise.
62750         link-follow: ensure correct result
62751         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
62752         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
62753         distinguish between possible failures.
62755 2009-09-21  Eric Blake  <ebb9@byu.net>
62757         fts: avoid compiler warning
62758         * lib/fts.c (dirent_inode_sort_may_be_useful)
62759         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
62761 2009-09-19  Bruno Haible  <bruno@clisp.org>
62763         * lib/progreloc.c (canonicalize_file_name): New declaration.
62765 2009-09-19  Eric Blake  <ebb9@byu.net>
62767         link: fix quoting
62768         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
62770         openat: fix openat bugs on Solaris 9
62771         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
62772         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
62773         * modules/openat (Depends-on): Add open.
62774         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
62775         * modules/fcntl-h (Makefile.am): Substitute it.
62776         * lib/fcntl.in.h (openat): Declare replacement.
62777         * doc/posix-functions/openat.texi (openat): Document this.
62779         openat: move fstatat and unlinkat into correct files
62780         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
62781         compiled.
62782         * lib/openat.c (fstatat, unlinkat): Move...
62783         * lib/fstatat.c (fstatat): ...into correct files.
62784         * lib/unlinkat.c (unlinkat): Likewise.
62786         openat: fix unlinkat bugs on Solaris 9
62787         * lib/unlinkat.c (unlinkat): New file.
62788         * modules/openat (Depends-on): Add unlink.
62789         (Files): Distribute it.
62790         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
62791         trailing slash behavior is broken.
62792         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
62793         * modules/unistd (Makefile.am): Substitute it.
62794         * lib/unistd.in.h (unlinkat): Declare replacement.
62795         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
62797         openat: fix fstatat bugs on Solaris 9
62798         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
62799         stat.
62800         * doc/posix-functions/fstatat.texi (fstatat): Document this.
62802         test-unlinkat: enhance test, to expose Solaris 9 bug
62803         * tests/test-unlink.c (main): Factor guts...
62804         * tests/test-unlink.h (test_rmdir_func): ...into new file.
62805         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
62806         * tests/test-rmdir.c (main): Adjust caller.
62807         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
62808         (unlinker): New helper function.
62809         (rmdirat): Enhance check.
62810         * modules/rmdir-tests (Depends-on): Add stdbool.
62811         * modules/unlink-tests (Depends-on): Likewise.
62812         (Files): Add test-unlink.h.
62813         * modules/openat-tests (Files): Likewise.
62814         (Depends-on): Add unlinkdir.
62816         test-fstatat: new test, to expose Solaris 9 bugs
62817         * tests/test-stat.c (main): Factor guts...
62818         * tests/test-stat.h (test_stat_func): ...into new file.
62819         * tests/test-lstat.c (main): Factor guts...
62820         * tests/test-lstat.h (test_lstat_func): ...into new file.
62821         * tests/test-fstatat.c: New file.
62822         * modules/stat-tests (Files): Add test-stat.h.
62823         * modules/lstat-tests (Files): Add test-lstat.h.
62824         (Depends-on): Add stdbool.
62825         * modules/openat-tests (Depends-on): Add pathmax.
62826         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
62827         (Makefile.am): Run new test.
62829         remove: new module, for mingw and Solaris 9 bugs
62830         * modules/remove: New file.
62831         * lib/remove.c: Likewise.
62832         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
62833         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
62834         * modules/stdio (Makefile.am): Use them.
62835         * lib/stdio.in.h (remove): Declare replacement.
62836         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
62837         * doc/posix-functions/remove.texi (remove): Likewise.
62838         * modules/remove-tests: New test.
62839         * tests/test-remove.c: Likewise.
62841         unlink: new module, for Solaris 9 bug
62842         * modules/unlink: New file.
62843         * lib/unlink.c: Likewise.
62844         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
62845         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
62846         * modules/unistd (Makefile.am): Use them.
62847         * lib/unistd.in.h (stat): Declare replacement.
62848         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
62849         * doc/posix-functions/unlink.texi (unlink): Likewise.
62850         * modules/unlink-tests: New test.
62851         * tests/test-unlink.c: Likewise.
62853         lstat: fix Solaris 9 bug
62854         * lib/lstat.c (lstat): Also check for trailing slash on
62855         non-symlink, non-directories.  Use stat module to simplify logic.
62856         * doc/posix-functions/lstat.texi (lstat): Document it.
62857         * modules/lstat-tests (Depends-on): Add errno, same-inode.
62858         (configure.ac): Check for symlink.
62859         * tests/test-lstat.c (main): Add more tests.
62861         stat: add as dependency to other modules
62862         * modules/chown (Depends-on): Add stat.
62863         * modules/euidaccess (Depends-on): Likewise.
62864         * modules/fchdir (Depends-on): Likewise.
62865         * modules/isdir (Depends-on): Likewise.
62866         * modules/link (Depends-on): Likewise.
62867         * modules/lstat (Depends-on): Likewise.
62868         * modules/mkdir-p (Depends-on): Likewise.
62869         * modules/modechange (Depends-on): Likewise.
62870         * modules/open (Depends-on): Likewise.
62871         * modules/readlink (Depends-on): Likewise.
62872         * modules/same (Depends-on): Likewise.
62874         stat: fix Solaris 9 bug
62875         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
62876         slash.
62877         * lib/stat.c (rpl_stat): Work around it.
62878         * doc/posix-functions/stat.texi (stat): Update documentation.
62880         stat: new module, for mingw bug
62881         * modules/stat: New file.
62882         * lib/stat.c: Likewise.
62883         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
62884         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
62885         * modules/sys_stat (Makefile.am): Use them.
62886         * lib/sys_stat.in.h (stat): Declare replacement.
62887         * lib/openat.c (fstatat): Deal with lstat and stat being function
62888         macros.
62889         * modules/openat (Depends-on): Add inline.
62890         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
62891         * doc/posix-functions/stat.texi (stat): Likewise.
62892         * modules/stat-tests: New test.
62893         * tests/test-stat.c: Likewise.
62895 2009-09-19  Jim Meyering  <meyering@redhat.com>
62897         syntax-check: detect unnecessary inclusion of canonicalize.h
62898         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
62900 2009-09-19  Eric Blake  <ebb9@byu.net>
62902         canonicalize-lgpl: adjust clients to use correct header
62903         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
62904         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
62905         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
62906         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
62907         * lib/progreloc.c (includes): Likewise.
62909 2009-09-19  Jim Meyering  <meyering@redhat.com>
62911         test-posixtm.c: correct a comment
62912         * tests/test-posixtm.c: Correct first-line comment.
62913         Spotted by Eric Blake.
62915 2009-09-16  Jim Meyering  <meyering@redhat.com>
62917         posixtm-tests: make T const-correct; add a test case
62918         * tests/test-posixtm.c (T): Declare const.
62919         Add a test for -(2^31+1).
62920         Remove useless can-succeed-only-in-2002 test.
62922         posixtm-tests: adjust the sole failing test
62923         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
62924         expected output matches what mktime now produces.  Cross-checked via
62925         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
62927         posixtm: move #ifdef'd tests into a new module
62928         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
62929         * tests/test-posixtm.c: ... this new file.
62930         * modules/posixtm-tests: New module.
62932 2009-09-19  Eric Blake  <ebb9@byu.net>
62934         openat: simplify use of at-func.c
62935         * lib/at-func.c (includes): Include prerequisites here, to
62936         simplify requirements on client files.
62937         * lib/openat-priv.h: Add double-inclusion guard.
62938         * lib/faccessat.c (includes): Simplify.
62939         * lib/fchmodat.c (includes): Likewise.
62940         * lib/fchownat.c (includes): Likewise.
62941         * lib/mkdirat.c (includes): Likewise.
62942         * lib/mkfifoat.c (includes): Likewise.
62943         * lib/symlinkat.c (includes): Likewise.
62945         openat: allow return of fd 0
62946         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
62947         * modules/save-cwd (Depends-on): Replace fcntl-safer with
62948         unistd-safer.
62949         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
62950         <fcntl.h>; this module does not leak fds.
62951         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
62952         must be allowed to return 0, leaving openat_safer to add the
62953         safety.
62954         (openat_permissive): Avoid writing to just-opened fd 2 if
62955         restoring the current directory fails.
62956         * lib/openat-die.c (openat_restore_fail): Add comment.
62957         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
62958         (save_cwd): Guarantee safe fd, but without use of open_safer.
62959         * tests/test-openat.c: New test.
62960         * modules/openat-tests (Files, Makefile.am): Distribute and build
62961         new file.
62963         relocatable-prog-wrapper: fix build
62964         * modules/relocatable-prog-wrapper (Files): Update name of
62965         canonicalize m4 file, broken on 2009-09-17.
62966         Reported by emad hajjar <aleppos@hotmail.com>.
62968 2009-09-19  Bruno Haible  <bruno@clisp.org>
62970         * lib/safe-alloc.h: Use the standard header with GPL copyright.
62971         * lib/safe-alloc.c: Likewise.
62972         Reported by Ian Beckwith <ianb@erislabs.net>.
62974 2009-09-18  Bruno Haible  <bruno@clisp.org>
62976         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
62977         Reported by <erobles@sensacd.com.mx>.
62979 2009-09-17  Eric Blake  <ebb9@byu.net>
62981         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
62982         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
62983         slashes when checking if last component is missing.
62984         * tests/test-canonicalize.c (main): Test this.
62986         canonicalize, canonicalize-lgpl: honor // if distinct from /
62987         * modules/canonicalize (Files): Add double-slash-root.m4.
62988         * modules/canonicalize-lgpl (Files): Likewise.
62989         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
62990         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
62991         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
62992         fallback definition.
62993         (canonicalize_filename_mode): Use it to protect //.
62994         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
62995         (__realpath): Likewise.
62996         * tests/test-canonicalize.c (main): Test this.
62997         * tests/test-canonicalize-lgpl.c (main): Likewise.
62998         * modules/canonicalize-tests (Depends-on): Add same-inode.
62999         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
63001         canonicalize-lgpl: fix glibc bug with trailing slash
63002         * m4/canonicalize-lgpl.m4: Move contents...
63003         * m4/canonicalize.m4: ...here.
63004         (gl_CANONICALIZE_LGPL): Factor realpath check...
63005         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
63006         glibc 2.3.5 bug, fixed 2005-04-27.
63007         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
63008         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
63009         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
63010         * modules/canonicalize-lgpl (Files): Manage file rename.
63011         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
63012         * modules/stdlib (Makefile.am): Substitute witness.
63013         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
63014         is needed.
63015         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
63016         replacement is required.
63017         * lib/canonicalize.c (canonicalize_file_name): Likewise.
63018         * doc/glibc-functions/canonicalize_file_name.texi
63019         (canonicalize_file_name): Document this.
63020         * doc/posix-functions/realpath.texi (realpath): Likewise.
63022         canonicalize-lgpl: reject non-directory with trailing slash
63023         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
63024         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
63025         catches failures in glibc 2.3.5.
63026         * tests/test-canonicalize.c (main): Likewise.
63028         canonicalize-lgpl: use native realpath if it works
63029         * lib/canonicalize-lgpl.c (realpath): Guard with
63030         FUNC_REALPATH_WORKS.
63031         * lib/stdlib.in.h (realpath): Make declaration optional based on
63032         HAVE_REALPATH.
63033         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
63034         native realpath works.
63035         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
63036         * modules/stdlib (Makefile.am): Substitute witness.
63038         canonicalize, canonicalize-lgpl: use <stdlib.h>
63039         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
63040         (Include): Mention <stdlib.h>.
63041         (configure.ac): Mention functions we provide.
63042         * modules/canonicalize (configure.ac): Likewise.
63043         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
63044         realpath if canonicalize_file_name is missing.
63045         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
63046         * modules/stdlib (Makefile.am): Substitute witnesses.
63047         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
63048         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
63049         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
63050         * NEWS: Document this.
63051         * doc/glibc-functions/canonicalize_file_name.texi
63052         (canonicalize_file_name): Likewise.
63053         * doc/posix-functions/realpath.texi (realpath): Likewise.
63054         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
63056         test-canonicalize: consolidate into single C program
63057         * tests/test-canonicalize.sh: Delete; move setup into...
63058         * tests/test-canonicalize.c (main): ...the program, making it
63059         easier to run in debugger.  Add some tests.
63060         * modules/canonicalize-tests (Files): Remove unused file.
63061         (Depends-on): Add progname.
63062         (configure.ac, Makefile.am): Simplify.
63064         test-canonicalize-lgpl: consolidate into single C program
63065         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
63066         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
63067         easier to run in debugger.  Add some tests.
63068         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
63069         (configure.ac, Makefile.am): Simplify.
63071         canonicalize: avoid resolvepath
63072         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
63073         unnecessary checks.
63074         * lib/canonicalize.c (includes): Simplify.
63075         (canonicalize_file_name): Drop resolvepath implementation.
63076         * modules/canonicalize (Depends-on): Drop filenamecat.
63078         canonicalize: don't lose errno
63079         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
63080         over calls to free.
63082         canonicalize: simplify errno handling
63083         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
63084         assignment.
63086         canonicalize, canonicalize-lgpl: update module dependencies
63087         * modules/canonicalize (Depends-on): Add extensions, lstat,
63088         pathmax, stdlib.
63089         (Files): Drop pathmax.h.
63090         (configure.ac): Adjust macro name.
63091         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
63092         lstat, stdlib, sys_stat.
63093         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
63094         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
63095         extensions.
63096         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
63097         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
63098         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
63099         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
63100         declaration, if available.
63101         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
63102         we can rely on the readlink module.
63103         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
63104         (includes): Use <unistd.h> unconditionally.
63106 2009-09-17  Eric Blake  <ebb9@byu.net>
63108         maint: make Include sections of modules consistent
63109         * modules/alloca: Use only header name; no need to list #include.
63110         * modules/alloca-opt: Likewise.
63111         * modules/arpa_inet: Likewise.
63112         * modules/canon-host: Likewise.
63113         * modules/configmake: Likewise.
63114         * modules/dirent: Likewise.
63115         * modules/eealloc: Likewise.
63116         * modules/environ: Likewise.
63117         * modules/fchdir: Likewise.
63118         * modules/fcntl: Likewise.
63119         * modules/fcntl-h: Likewise.
63120         * modules/gethrxtime: Likewise.
63121         * modules/gettime: Likewise.
63122         * modules/ignore-value: Likewise.
63123         * modules/inet_ntop: Likewise.
63124         * modules/inet_pton: Likewise.
63125         * modules/inttypes: Likewise.
63126         * modules/isnand-nolibm: Likewise.
63127         * modules/isnanf-nolibm: Likewise.
63128         * modules/mbchar: Likewise.
63129         * modules/mbfile: Likewise.
63130         * modules/mbiter: Likewise.
63131         * modules/mbuiter: Likewise.
63132         * modules/netdb: Likewise.
63133         * modules/netinet_in: Likewise.
63134         * modules/nproc: Likewise.
63135         * modules/pagealign_alloc: Likewise.
63136         * modules/poll: Likewise.
63137         * modules/printf-frexp: Likewise.
63138         * modules/pthread: Likewise.
63139         * modules/putenv: Likewise.
63140         * modules/random_r: Likewise.
63141         * modules/relocatable-prog: Likewise.
63142         * modules/search: Likewise.
63143         * modules/select: Likewise.
63144         * modules/selinux-h: Likewise.
63145         * modules/settime: Likewise.
63146         * modules/signal: Likewise.
63147         * modules/size_max: Likewise.
63148         * modules/socklen: Likewise.
63149         * modules/ssize_t: Likewise.
63150         * modules/stdarg: Likewise.
63151         * modules/stdbool: Likewise.
63152         * modules/stddef: Likewise.
63153         * modules/stdint: Likewise.
63154         * modules/stdio: Likewise.
63155         * modules/stdlib: Likewise.
63156         * modules/string: Likewise.
63157         * modules/strings: Likewise.
63158         * modules/sys_file: Likewise.
63159         * modules/sys_ioctl: Likewise.
63160         * modules/sys_select: Likewise.
63161         * modules/sys_socket: Likewise.
63162         * modules/sys_stat: Likewise.
63163         * modules/sys_time: Likewise.
63164         * modules/sys_times: Likewise.
63165         * modules/sys_utsname: Likewise.
63166         * modules/sys_wait: Likewise.
63167         * modules/sysexits: Likewise.
63168         * modules/time: Likewise.
63169         * modules/times: Likewise.
63170         * modules/tmpfile: Likewise.
63171         * modules/trim: Likewise.
63172         * modules/unistd: Likewise.
63173         * modules/wchar: Likewise.
63174         * modules/wctype: Likewise.
63176 2009-09-17  Bruno Haible  <bruno@clisp.org>
63178         Make getdate.y compile on QNX and NetBSD 5 / i386.
63179         * m4/getdate.m4 (gl_GETDATE): Conditionally define
63180         TIME_T_FITS_IN_LONG_INT.
63181         * lib/getdate.y (long_time_t): New type.
63182         (relative_time): Change type of 'seconds' field to long_time_t.
63183         (get_date): Update types of local variables. Check against overflow
63184         during conversion from long_time_t to time_t.
63185         Reported by Matt Kraai <kraai@ftbfs.org>
63186         and Hasso Tepper <hasso@netbsd.org>.
63188 2009-09-17  Bruno Haible  <bruno@clisp.org>
63190         * modules/COPYING: Update copyright years.
63191         * modules/README: Likeiwse.
63192         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
63193         Reported by Ian Beckwith <ianb@erislabs.net>.
63195 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
63197         * users.txt: Update references for gnuit package.
63199 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
63201         * m4/getdelim.m4: Fix typo in copyright line.
63203 2009-09-17  Bruno Haible  <bruno@clisp.org>
63205         * lib/atoll.c: Use the standard header with GPL copyright.
63206         * lib/argz.in.h: Likewise.
63207         * lib/glob.c: Likewise.
63208         * lib/glob-libc.h: Likewise.
63209         * lib/random_r.c: Likewise.
63210         * lib/siglist.h: Likewise.
63211         * lib/strsignal.c: Likewise.
63212         Reported by Ian Beckwith <ianb@erislabs.net>.
63214 2009-09-17  Eric Blake  <ebb9@byu.net>
63216         rmdir: ensure correct dependency order
63217         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
63219 2009-09-17  Bruno Haible  <bruno@clisp.org>
63221         Disable assertion that fails on NetBSD 5 / i386.
63222         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
63223         Reported by Sam Steingold <sds@gnu.org>
63224         and Hasso Tepper <hasso@netbsd.org>.
63226 2009-09-16  Eric Blake  <ebb9@byu.net>
63228         unlinkdir: port to mingw
63229         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
63230         on which no one can unlink a directory.
63232         stdlib: sort witness names
63233         * modules/stdlib (Makefile.am): Sort replacements.
63234         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
63235         * lib/stdlib.in.h: Likewise.
63237         parse-duration-tests: avoid link failure
63238         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
63239         LIBINTL.
63240         Reported by Tom G. Christensen.
63242         openat-tests: ensure unlinkat behaves like rmdir
63243         * tests/test-rmdir.c (main): Factor guts...
63244         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
63245         * modules/rmdir-tests (Files): Ship new file.
63246         * modules/openat-tests: New test.
63247         * tests/test-unlinkat.c: Likewise.
63249         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
63250         * modules/rmdir-errno (Status, Notice): Now obsolete.
63252         rmdir: work around cygwin 1.5.x and mingw bugs
63253         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
63254         * lib/rmdir.c (rmdir): Work around it.
63255         * modules/rmdir (Status, Notice): No longer obsolete.
63256         (Files): Add dos.m4.
63257         (Depends-on): Add unistd.
63258         (configure.ac): Set witnesses.
63259         (License): Relax to LGPLv2+.
63260         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
63261         * modules/unistd (Makefile.am): Substitute witnesses.
63262         * lib/unistd.in.h (rmdir): Declare replacement.
63263         * doc/posix-functions/rmdir.texi (rmdir): Document this.
63264         * modules/rmdir-tests: New tests.
63265         * tests/test-rmdir.c: Likewise.
63267 2009-09-15  Eric Blake  <ebb9@byu.net>
63269         fchdir: improve use of replacement functions
63270         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
63271         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
63272         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
63273         REPLACE_CLOSEDIR.
63274         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
63275         * modules/sys_stat (Makefile.am): Substitute correct witness.
63276         * modules/dirent (Makefile.am): Likewise.
63277         * modules/unistd (Makefile.am): Likewise.
63278         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
63279         * lib/unistd.in.h (dup): Likewise.
63280         * lib/sys_stat.in.h (fstat): Likewise.
63282         maint: ignore gnulib-tool temp files
63283         * .gitignore: Ignore files created during gnulib-tool --test.
63285 2009-09-13  Jim Meyering  <meyering@redhat.com>
63287         posixtm: don't reject a time that specify "60" as the number of seconds
63288         * lib/posixtm.c (posixtime): The code to reject invalid dates
63289         would also reject a time specified with the .60 suffix.
63290         But POSIX allows that, in order to accommodate leap seconds.
63291         So don't reject it.
63292         (main): Adjust tests accordingly.
63293         * modules/posixtm (Depends-on): Add stpcpy.
63295 2009-09-11  Jim Meyering  <meyering@redhat.com>
63297         announce-gen: include [$release_type] in emitted Subject:
63298         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
63299         e.g., [stable] in the emitted Subject: line.
63301 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63303         Remove obsolete macros from several modules.
63304         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
63305         obsolete Autoconf macros with their modern counterparts.
63306         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
63307         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
63308         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
63309         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
63310         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
63311         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
63312         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
63313         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
63314         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
63315         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
63316         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
63317         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
63318         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
63319         * m4/sockets.m4 (gl_SOCKETS): Likewise.
63320         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
63321         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
63322         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
63323         * m4/time_r.m4 (gl_TIME_R): Likewise.
63324         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
63325         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
63326         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
63328         Fix copyright header in build-aux scripts.
63329         * build-aux/git-version-gen: Fix copyright header to match GPLv3
63330         recommendation.
63331         * build-aux/ncftpput-ftp: Likewise.
63332         * build-aux/update-copyright: Likewise.
63334 2009-09-09  Eric Blake  <ebb9@byu.net>
63336         test-link: allow Linux choice of errno
63337         * tests/test-link.c (main): Relax test for alternate error.
63339         strndup: fix improper m4 caching
63340         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
63341         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
63342         (gl_PREREQ_STRNDUP): Delete.
63343         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
63344         * modules/string (Makefile.am): Substitute it.
63345         * lib/string.in.h (strndup): Modernize prototype.
63347         getcwd: port to mingw
63348         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
63349         different from the POSIX assumptions made throughout the getcwd
63350         module; fortunately, the mingw getcwd does not need replacement.
63351         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
63352         * modules/getcwd-tests: New test.
63353         * tests/test-getcwd.c: Likewise.
63355         link: fix platform bugs
63356         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
63357         * lib/link.c (link): Work around them.  Fix related mingw bug.
63358         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
63359         * modules/unistd (Makefile.am): Substitute it.
63360         * lib/unistd.in.h (link): Declare replacement.
63361         * doc/posix-functions/link.texi (link): Document this.
63362         * modules/link (Depends-on): Add strdup-posix, sys_stat.
63364         test-link: consolidate into single C program, test more cases
63365         * tests/test-link.sh: Delete.
63366         * tests/test-link.c: Test more error conditions.  Exposes bugs on
63367         at least Cygwin and Solaris.
63368         * modules/link-tests (Files): Remove unused file.
63369         (Depends-on): Add errno, sys_stat.
63370         (Makefile.am): Simplify.
63372 2009-09-08  Bruno Haible  <bruno@clisp.org>
63374         Work around towlower, towupper bug on mingw.
63375         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
63376         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
63377         * doc/posix-functions/towlower.texi: Mention the mingw bug.
63378         * doc/posix-functions/towupper.texi: Likewise.
63379         Reported by Eric Blake.
63381 2009-09-08  Jim Meyering  <meyering@redhat.com>
63383         build: don't try to run autoheader if we don't use it
63384         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
63385         is not used in configure.ac.
63387 2009-09-08  Eric Blake  <ebb9@byu.net>
63389         euidaccess: fix compilation error
63390         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
63392         rawmemchr: relax license
63393         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
63394         okay.
63395         Reported by Jim Meyering.
63397         mkfifoat: new module
63398         * modules/mkfifoat: New file.
63399         * lib/mkfifoat.c: Likewise.
63400         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
63401         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
63402         * modules/sys_stat (Makefile.am): Use them.
63403         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
63404         * MODULES.html.sh (File system functions): Mention module.
63405         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
63406         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
63407         * modules/mkfifoat-tests: New test.
63408         * tests/test-mkfifoat.c: Likewise.
63410         strchrnul: relax license
63411         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
63412         okay.
63413         Reported by Jim Meyering.
63415 2009-09-08  Eric Blake  <ebb9@byu.net>
63417         fstatat: fix compilation on Solaris
63418         * lib/fstatat.c (includes): Add fcntl.h.
63419         Reported by Pádraig Brady.
63421 2009-09-07  Eric Blake  <ebb9@byu.net>
63423         rename: modernize replacement
63424         * modules/rename (Depends-on): Add stdio.
63425         (configure.ac): Declare witness.
63426         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
63427         stdio take care of replacement.
63428         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
63429         * modules/stdio (Makefile.am): Substitute them.
63430         * lib/stdio.in.h (rename): Declare replacement.
63431         * lib/rename.c (includes): Allow cross-compilation to non-windows
63432         machines.
63433         * doc/posix-functions/rename.texi (rename): Improve
63434         documentation.
63436         stdio: sort witness names
63437         * modules/stdio (Makefile.am): Sort replacements.
63438         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
63439         * lib/stdio.in.h: Likewise.
63441         getcwd: minor cleanups
63442         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
63443         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
63445         openat: provide more convenience names
63446         * modules/faccessat (configure.ac): Add C witness.
63447         * lib/unistd.in.h (readlinkat): Fix typo.
63448         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
63449         convenience wrappers.
63450         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
63451         wrappers in syntax checks.
63453 2009-09-06  Eric Blake  <ebb9@byu.net>
63455         doc: fix comments in recent patches
63456         * lib/faccessat.c: Mention correct function.
63457         * lib/fchmodat.c: Likewise.
63458         * lib/fchownat.c: Likewise.
63459         * lib/symlinkat.c: Likewise.
63460         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
63461         constants.
63463         faccessat, symlinkat: continue cleanup of previous patch
63464         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
63465         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
63466         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
63467         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
63468         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
63469         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
63470         set.
63472 2009-09-06  Bruno Haible  <bruno@clisp.org>
63474         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
63475         (fstatat): Declare if GNULIB_FSTATAT is set.
63476         (mkdirat): Declare if GNULIB_MKDIRAT is set.
63477         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
63478         (unlinkat): Declare if GNULIB_UNLINKAT is set.
63479         * modules/fcntl-h (Files): Remove m4/openat.m4.
63480         * modules/sys_stat (Files): Remove m4/openat.m4.
63481         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
63482         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
63483         * modules/unistd (Files): Remove m4/openat.m4.
63484         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
63485         GNULIB_OPENAT.
63486         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
63487         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
63488         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
63489         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
63490         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
63491         gl_OPENAT_DEFAULTS.
63492         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
63493         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
63494         Don't require gl_OPENAT_DEFAULTS.
63495         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
63496         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
63497         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
63498         (gl_OPENAT_DEFAULTS): Remove macro.
63500 2009-09-06  Bruno Haible  <bruno@clisp.org>
63502         * modules/openat (configure.ac): Remove unneeded witness.
63504 2009-09-06  Bruno Haible  <bruno@clisp.org>
63506         Set errno to ENOSYS when a function is entirely unsupported.
63507         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
63508         EOPNOTSUPP.
63509         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
63510         * modules/chown (Depends-on): Remove errno.
63512 2009-09-06  Bruno Haible  <bruno@clisp.org>
63514         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
63516 2009-09-06  Bruno Haible  <bruno@clisp.org>
63518         * lib/sys_stat.in.h: Fix preprocessor command indentation.
63520 2009-09-06  Ben Pfaff  <blp@gnu.org>
63521             Bruno Haible  <bruno@clisp.org>
63523         Work around a glibc bug in strtok_r.
63524         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
63525         Undefine if UNDEFINE_STRTOK_R is set.
63526         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
63527         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
63528         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
63529         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
63530         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
63531         UNDEFINE_STRTOK_R.
63532         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
63534 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
63536         exclude: minor fix
63537         * lib/exclude.c: Include wctype.h
63539 2009-09-06  Akim Demaille  <demaille@gostai.com>
63541         bootstrap: improve error message
63542         * build-aux/bootstrap (find_tool): Upon failure, report the list
63543         of candidates.
63544         Honor the initial value of the envvar.
63546 2009-09-05  Eric Blake  <ebb9@byu.net>
63548         symlinkat: new module
63549         * modules/symlinkat: New file.
63550         * lib/symlinkat.c: Likewise.
63551         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
63552         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
63553         * modules/unistd (Makefile.am): Use them.
63554         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
63555         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
63556         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
63557         * MODULES.html.sh (File system functions): Mention module.
63558         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
63559         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
63560         * modules/symlinkat-tests: New test.
63561         * tests/test-symlinkat.c: Likewise.
63563         test-openat-safer: add more checks
63564         * tests/test-openat-safer.c (main): Check more code paths.
63566 2009-09-05  Jim Meyering  <meyering@redhat.com>
63568         syntax-check: detect unnecessary inclusion of openat.h
63569         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
63571 2009-09-05  Bruno Haible  <bruno@clisp.org>
63573         Support towlower, towupper.
63574         * doc/posix-functions/towlower.texi: Mention module wctype.
63575         * doc/posix-functions/towupper.texi: Likewise.
63576         * lib/wctype.in.h (towlower, towupper): New functions.
63577         * tests/test-wctype.c: Include stdio.h, stdlib.h.
63578         (ASSERT): New macro.
63579         (e): New variable.
63580         (main): Test also towlower, towupper. Test WEOF argument.
63581         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
63583 2009-09-05  Bruno Haible  <bruno@clisp.org>
63585         Fix conversion behaviour when the input is invalid.
63586         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
63587         mark occurring in first pass of indirect conversion.
63588         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
63589         input.
63590         Found by clang's static analyzer.
63592 2009-09-05  Bruno Haible  <bruno@clisp.org>
63594         * tests/test-striconveh.c (main): Test indirect conversion on platforms
63595         where direct conversion is possible.
63597 2009-09-04  Eric Blake  <ebb9@byu.net>
63599         openat: fail with ENOENT on empty name
63600         * lib/openat-proc.c (openat_proc_name): Special-case the empty
63601         buffer.
63603         link-follow: fix logic bug in prior patch
63604         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
63605         reversed sense of yes and no in prior patch.  Avoid confusing
63606         compilation failure with desired semantics.
63608         link-follow: accommodate mingw and cross-compilation
63609         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
63610         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
63611         cross-compilation results to -1, to make linkat easier to
63612         implement when cross-compiling.  Trivially support mingw.
63613         * modules/link-follow (configure.ac): Call new name.
63614         * NEWS: Mention this.
63616 2009-09-03  Eric Blake  <ebb9@byu.net>
63618         faccessat: compile replacement
63619         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
63620         needed.
63622         fts: fix compilation error
63623         * lib/fts.c (includes): Re-add "openat.h", for
63624         openat_needs_fchdir.
63626         faccessat: new module
63627         * modules/faccessat: New file.
63628         * lib/faccessat.c: Likewise.
63629         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
63630         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
63631         * modules/unistd (Makefile.am): Use it.
63632         * lib/unistd.in.h (faccessat): Declare it.
63633         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
63634         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
63635         * MODULES.html.sh (File system functions): Mention it.
63636         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
63637         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
63639         euidaccess: prefer POSIX over non-standard implementation
63640         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
63641         * lib/euidaccess.c (euidaccess): Use it if available.
63643         openat: make template easier to use
63644         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
63645         AT_FUNC_F2 to be undefined.
63646         (VALIDATE_FLAG): New macro; use it to reject bad flags.
63647         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
63648         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
63649         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
63650         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
63651         Likewise.
63652         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
63653         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
63654         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
63655         Likewise.
63657         openat: declare in POSIX headers
63658         * NEWS: Mention this.
63659         * modules/openat (configure.ac): Declare witnesses.
63660         (Depends-on): Add fcntl-h, sys_stat, unistd.
63661         (Include): Mention correct headers.
63662         * modules/fcntl-h (Depends-on): Add link-warning.
63663         (Files): Add openat.m4.
63664         (Makefile.am): Substitute witnesses.
63665         * modules/sys_stat (Files, Makefile.am): Likewise.
63666         * modules/unistd (Files, Makefile.am): Likewise.
63667         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
63668         (gl_OPENAT_DEFAULTS): New macro.
63669         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
63670         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
63671         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
63672         (SYS_STAT_H): Remove unused variable.
63673         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
63674         * lib/fcntl--.h (includes): Remove unneeded header.
63675         * lib/openat-safer.c (includes): Likewise.
63676         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
63677         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
63678         appropriate headers.
63679         (__OPENAT_PREFIX): Delete.
63680         * lib/fcntl.in.h (openat): Provide declaration.
63681         (AT_FDCWD): Fix Solaris bug.
63682         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
63683         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
63684         * lib/fchmodat.c (includes):  Adjust to find declaration.
63685         * lib/fchownat.c (includes): Likewise.
63686         * lib/mkdirat.c (includes): Likewise.
63687         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
63688         still visible.
63690 2009-09-02  Eric Blake  <ebb9@byu.net>
63692         errno: use consistently
63693         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
63694         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
63695         * lib/canonicalize.c (ELOOP): Likewise.
63696         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
63697         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
63698         * lib/lchown.c (EOPNOTSUPP): Likewise.
63699         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
63700         * lib/savewd.c (ESTALE): Likewise.
63701         * lib/settime.c (ENOSYS): Likewise.
63702         * lib/utimens.c (ENOSYS): Likewise.
63703         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
63704         * lib/chdir-safer.c (ELOOP): Likewise.
63705         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
63706         * modules/c-stack (Depends-on): Add errno.
63707         * modules/canonicalize (Depends-on): Likewise.
63708         * modules/chdir-safer (Depends-on): Likewise.
63709         * modules/fdopendir (Depends-on): Likewise.
63710         * modules/inet_ntop (Depends-on): Likewise.
63711         * modules/inet_pton (Depends-on): Likewise.
63712         * modules/lchown (Depends-on): Likewise.
63713         * modules/openat (Depends-on): Likewise.
63714         * modules/savewd (Depends-on): Likewise.
63715         * modules/settime (Depends-on): Likewise.
63716         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
63718         fts: avoid leaking fds
63719         * modules/fts (Depends-on): Add cloexec.
63720         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
63721         flag.
63723         fts: make directory fds more robust
63724         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
63725         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
63727         backupfile, chdir-long, fts, savedir: make safer
63728         * lib/backupfile.c (includes): Use "dirent--.h", since
63729         numbered_backup can write to stderr during readdir.
63730         * lib/savedir.c (includes): Likewise.
63731         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
63732         emulation can write to stderr on failure.
63733         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
63734         * lib/getcwd.c: Document why opendir_safer is unused.
63735         * lib/glob.c: Likewise.
63736         * lib/scandir.c: Likewise.
63737         * lib/openat-proc.c: Likewise, for open_safer.
63738         * modules/backupfile (Depends-on): Add dirent-safer.
63739         * modules/savedir (Depends-on): Likewise.
63740         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
63741         * modules/chdir-long (Depends-on): Add openat-safer.
63743         openat-safer: new module
63744         * modules/openat-safer: New file.
63745         * lib/openat-safer.c: Likewise.
63746         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
63747         * lib/fcntl-safer.h (openat_safer): Declare.
63748         * lib/fcntl--.h (openat): Override.
63749         * MODULES.html.sh (File descriptor based I/O): Mention it.
63750         * lib/openat.h: Add double-inclusion guards.
63751         * lib/openat.c (includes): Only include "fcntl-safer.h", not
63752         "fcntl--.h", so we can implement openat.
63753         * modules/openat-safer-tests: New test.
63754         * tests/test-openat-safer.c: New file.
63756         dirent-safer: new module
63757         * modules/dirent-safer: New file.
63758         * lib/dirent--.h: Likewise.
63759         * lib/dirent-safer.h: Likewise.
63760         * lib/opendir-safer.c: Likewise.
63761         * m4/dirent-safer.m4: Likewise.
63762         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
63763         * modules/dirent-safer-tests: New test.
63764         * tests/test-dirent-safer.c: New file.
63765         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
63767         fdopendir: optimize on mingw
63768         * lib/unistd.in.h (_gl_directory_name): New prototype.
63769         * lib/fchdir.c (_gl_directory_name): Implement it.
63770         (fchdir): Use it to simplify implementation.
63771         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
63772         fchdir, when available, to avoid calling [f]chdir().
63774         fdopendir: split into its own module
63775         * lib/openat.c (fdopendir): Move...
63776         * lib/fdopendir.c: ...into new file.
63777         * modules/fdopendir: New module.
63778         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
63779         * modules/openat (Depends-on): Add fdopendir.
63780         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
63781         fdopendir here.
63782         * modules/savedir (Depends-on): Only need fdopendir, not full
63783         openat.
63784         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
63785         * lib/openat.h (fdopendir): Drop prototype.
63786         * lib/dirent.in.h (fdopendir): Provide prototype.
63787         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
63788         * modules/dirent (Makefile.am): Substitute them.
63789         * MODULES.html.sh (File system functions): Mention it.
63790         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
63791         * modules/fdopendir-tests: New file.
63792         * tests/test-fdopendir.c: Likewise.
63794         fchdir: use more consistent macro convention
63795         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
63796         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
63797         REPLACE_FCHDIR, rather than relying on config.h macros.
63798         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
63799         inside a single make-time REPLACE_FCHDIR block, rather than using
63800         the config.h FCHDIR_REPLACEMENT.
63801         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
63802         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
63803         Manage fstat replacement.
63804         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
63805         REPLACE_FCHDIR.
63806         * modules/sys_stat (Files): Add m4/unistd_h.m4.
63807         (Makefile.am): Substitute REPLACE_FCHDIR.
63808         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
63809         FCHDIR_REPLACEMENT.
63810         * lib/dup-safer.c (dup_safer): Likewise.
63811         * lib/dup2.c (rpl_dup2): Likewise.
63812         * lib/dup3.c (rpl_dup3): Likewise.
63813         * lib/open.c (rpl_open): Likewise.
63815         fchdir: simplify error handling, and support dup3
63816         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
63817         stdbool, malloc-posix, realloc-posix.
63818         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
63819         (ensure_dirs_slot): Return false on allocation failure.
63820         (rpl_dup2): Delete.
63821         (_gl_register_dup): New function.
63822         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
63823         (_gl_register_fd): Close fd on allocation failure.
63824         * lib/fcntl.in.h (_gl_register_fd): Update signature.
63825         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
63826         prototype.
63827         (rpl_dup2_fchdir): Delete prototype.
63828         * lib/open.c (open): Update caller.
63829         * lib/dup2.c (dup2): Track fchdir metadata.
63830         * lib/dup3.c (dup3): Likewise.
63831         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
63832         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
63834 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63836         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
63837         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
63838         don't pass arguments to AC_OUTPUT.
63840 2009-09-02  Bruno Haible  <bruno@clisp.org>
63842         * modules/mkdtemp (License): Relicense under LGPLv2+.
63843         Reported by Paolo Bonzini.
63845 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63847         Replace uses of obsolete autoconf macros in Jim's modules.
63848         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
63849         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
63850         can evoke a warning from autoconf when run with -Wobsolete
63851         enabled.  They were declared obsolete for good reasons (see
63852         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
63853         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
63854         should not continue using the deprecated macros.
63855         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
63856         obsolete Autoconf macros with modern counterparts.
63857         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
63858         * m4/dos.m4 (gl_AC_DOS): Likewise.
63859         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
63860         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
63861         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
63862         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
63863         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
63864         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
63865         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
63866         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
63867         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
63868         Likewise.
63869         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
63870         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
63871         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
63872         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
63873         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
63874         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
63876 2009-09-01  Eric Blake  <ebb9@byu.net>
63878         fchdir: fix off-by-one bug in previous patch
63879         * lib/fchdir.c (rpl_fstat): Use correct bounds.
63880         (_gl_unregister_fd): Delete useless if.
63882 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
63884         maint.mk: sort the list of syntax-check rules
63885         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
63886         easier to get a sense of progress when the rules are run sequentially
63887         and take a long time.
63889 2009-09-01  Simon Josefsson  <simon@josefsson.org>
63891         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
63892         * modules/netinet_in: Likewise.
63893         * modules/sys_file: Likewise.
63894         * modules/sys_ioctl: Likewise.
63895         * modules/sys_select: Likewise.
63896         * modules/sys_socket: Likewise.
63897         * modules/sys_stat: Likewise.
63898         * modules/sys_time: Likewise.
63899         * modules/sys_times: Likewise.
63900         * modules/sys_utsname: Likewise.
63901         * modules/sys_wait: Likewise.
63903 2009-09-01  Jim Meyering  <meyering@redhat.com>
63905         fts: help ensure that return values are not ignored
63906         * lib/fts_.h (__GNUC_PREREQ): Define.
63907         (__attribute_warn_unused_result__): Define.
63908         (fts_children, fts_close, fts_open, fts_read): Declare with
63909         __attribute_warn_unused_result__.
63911         fts: fts_close now fails also when closing a dir file descriptor fails
63912         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
63913         and propagate to caller, along with errno.
63915         announce-gen: correct formatting in --help output
63916         * build-aux/announce-gen (usage): Move the one-line description in
63917         --help output "up", to where it belongs, just after Usage:.
63919 2009-08-31  Eric Blake  <ebb9@byu.net>
63921         fchdir: port to mingw
63922         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
63923         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
63924         opened, then use a substitute.
63925         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
63926         replacement.
63927         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
63928         (_gl_register_fd): No need to check stat if open already filters
63929         all directories.
63930         (fchdir): Fix error condition to match POSIX.
63931         * modules/fchdir (Depends-on): Add sys_stat.
63932         * doc/posix-functions/open.texi (open): Document the limitation.
63933         * modules/fchdir-tests: New file.
63934         * tests/test-fchdir.c: Likewise.
63936         canonicalize: allow cross-testing from cygwin to mingw
63937         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
63938         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
63939         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
63940         Likewise.
63941         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
63942         target does not support symlinks.
63943         * tests/test-canonicalize-lgpl.sh: Likewise.
63945         chown: avoid compilation warning on mingw
63946         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
63947         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
63948         mingw.
63949         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
63950         * modules/chown (Depends-on): Add errno.
63952 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
63954         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
63955         command.
63957 2009-08-31  Jim Meyering  <meyering@redhat.com>
63959         canonicalize: remove useless initialization
63960         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
63961         initialization of local, "end".
63963 2009-08-30  Bruno Haible  <bruno@clisp.org>
63965         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
63966         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
63967         ENOSYS.
63969 2009-08-30  Bruno Haible  <bruno@clisp.org>
63971         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
63972         /usr/xpg4/bin/tr when it exists.
63973         * tests/test-pipe-filter-gi1.sh: Likewise.
63975 2009-08-30  Bruno Haible  <bruno@clisp.org>
63977         Work around deficient /usr/bin/id program on Solaris.
63978         * tests/test-file-has-acl.sh (ID): New variable.
63979         * tests/test-set-mode-acl.sh (ID): Likewise.
63980         * tests/test-copy-acl.sh (ID): Likewise.
63981         * tests/test-copy-file.sh (ID): Likewise.
63983 2009-08-30  Bruno Haible  <bruno@clisp.org>
63985         New module 'xstriconveh'.
63986         * lib/xstriconveh.h: New file.
63987         * lib/xstriconveh.c: New file.
63988         * modules/xstriconveh: New file.
63990 2009-08-30  Bruno Haible  <bruno@clisp.org>
63992         Make it easier to use mem_cd_iconveh.
63993         * lib/striconveh.h (iconveh_t): New type.
63994         (iconveh_open, iconveh_close): New declarations.
63995         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
63996         with a single 'const iconveh_t *' argument.
63997         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
63998         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
63999         with a single 'const iconveh_t *' argument.
64000         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
64001         * tests/test-striconveh.c (main): Update.
64002         * NEWS: Mention the change.
64004 2009-08-30  Bruno Haible  <bruno@clisp.org>
64006         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
64007         problem.
64009 2009-08-30  Bruno Haible  <bruno@clisp.org>
64011         Work around iconv_open problem on Solaris.
64012         * lib/iconv_open-solaris.gperf: New file.
64013         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
64014         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
64015         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
64016         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
64017         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
64018         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
64020 2009-08-29  Jim Meyering  <meyering@redhat.com>
64022         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
64023         * top/maint.mk (cvs-check): Remove target; it was just an alias
64024         to the better-named vc-diff-check.
64025         (maintainer-distcheck): Remove rule.  It was used only from
64026         the (alpha/beta/major) target, and all of its commands but one
64027         were coreutils-specific.
64028         (vc-dist): Remove rule.
64029         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
64030         Run vc-diff-check, not vc-dist.
64031         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
64033 2009-08-27  Bruno Haible  <bruno@clisp.org>
64035         * tests/test-bitrotate.c (main): Remove test that uses a shift count
64036         of 0.
64038 2009-08-27  Bruno Haible  <bruno@clisp.org>
64040         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
64041         compilers.
64042         * doc/func.texi: Document the SunPRO C bug.
64044 2009-08-27  Bruno Haible  <bruno@clisp.org>
64046         Fix link error on Solaris.
64047         * tests/test-parse-duration.c (xstrdup): Remove function.
64049 2009-08-26  Pádraig Brady  <P@draigbrady.com>
64051         ignore-value: handle pointer types, too
64052         * lib/ignore-value.h (__attribute__): Remove definition.
64053         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
64054         of a more concise and more-often effective "(void) i" statement.
64055         (ignore_ptr): New function to suppress warnings from functions that
64056         return pointers, and to make it explicit that one function doesn't
64057         handle all cases.
64059 2009-08-25  Bruno Haible  <bruno@clisp.org>
64061         dup2: work around a Linux bug.
64062         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
64063         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
64064         * doc/posix-functions/dup2.texi: Mention the Linux bug.
64065         Reported by Simon Josefsson.
64067 2009-08-25  Jim Meyering  <meyering@redhat.com>
64069         libguestfs uses gnulib
64070         * users.txt: Add libguestfs.
64072 2009-08-24  Eric Blake  <ebb9@byu.net>
64074         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
64075         * lib/pipe2.c (includes): Add binary-io.h.
64076         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
64078 2009-08-24  Bruno Haible  <bruno@clisp.org>
64080         Tolerate declared but missing accept4 syscall.
64081         * lib/accept4.c (accept4): Invoke original accept4 function first, if
64082         available.
64083         * lib/sys_socket.in.h (accept4): If the function is already present,
64084         override it.
64085         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
64086         * modules/accept4 (Makefile.am): Compile accept4.c always.
64087         Reported by Paolo Bonzini and Eric Blake.
64089 2009-08-23  Bruno Haible  <bruno@clisp.org>
64091         New module 'accept4'.
64092         * lib/sys_socket.in.h (accept4): New declaration.
64093         * lib/accept4.c: New file.
64094         * m4/accept4.m4: New file.
64095         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
64096         GNULIB_ACCEPT4, HAVE_ACCEPT4.
64097         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
64098         HAVE_ACCEPT4.
64099         * modules/accept4: New file.
64100         * doc/glibc-functions/accept4.texi: Mention the new module.
64102 2009-08-24  Jim Meyering  <meyering@redhat.com>
64104         progname: also set global program_invocation_name, when possible
64105         Before this change, a libtool-enabled program that calls glibc's
64106         error function would report the program name as
64107         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
64108         * modules/progname (configure.ac): Check for a declaration of
64109         program_invocation_name.
64110         * lib/progname.c:  Include <errno.h>.
64111         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
64112         Set program_invocation_name.
64114 2009-08-23  Bruno Haible  <bruno@clisp.org>
64116         * lib/dup3.c: Include <string.h>.
64118 2009-08-23  Bruno Haible  <bruno@clisp.org>
64120         * lib/dup3.c (dup3): Test only once whether the system actually exists.
64121         * lib/pipe2.c (pipe2): Likewise.
64122         Suggested by Eric Blake.
64124 2009-08-23  Bruno Haible  <bruno@clisp.org>
64126         Tolerate declared but missing dup3 syscall.
64127         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
64128         * lib/unistd.in.h (dup3): If the function is already present,
64129         override it.
64130         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
64131         * modules/dup3 (Makefile.am): Compile dup3.c always.
64132         Reported by Paolo Bonzini.
64134 2009-08-23  Bruno Haible  <bruno@clisp.org>
64136         Tolerate declared but missing pipe2 syscall.
64137         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
64138         available.
64139         * lib/unistd.in.h (pipe2): If the function is already present,
64140         override it.
64141         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
64142         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
64143         Reported by Paolo Bonzini.
64145 2009-08-23  Bruno Haible  <bruno@clisp.org>
64147         * lib/pipe2.c (pipe2): Move #ifs inside function.
64149 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
64151         quotearg: document limitations of quote_these_too
64152         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
64153         those limitations are created.
64154         * lib/quotearg.h (set_char_quoting): Document that digits and
64155         letters that are special after backslash are not permitted.
64156         (quotearg_char): Cross-reference set_char_quoting documentation.
64158 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
64160         quotearg: implement custom_quoting_style
64161         * lib/quotearg.c: (struct quoting_options): Add left_quote and
64162         right_quote fields.
64163         (set_custom_quoting): New public function.
64164         (quotearg_buffer_restyled): Add left_quote and right_quote
64165         arguments, handle them very much like locale quoting, and update
64166         all uses.
64167         (quotearg_n_custom): New public function.
64168         (quotearg_n_custom_mem): New public function.
64169         (quotearg_custom): New public function.
64170         (quotearg_custom_mem): New public function.
64171         * lib/quotearg.h: Prototype and document new public functions.
64172         (enum quoting_style): For escape_quoting_style and
64173         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
64174         ignored even though they're otherwise like c_quoting_style.
64175         Add custom_quoting_style member and document with comparison to
64176         clocale_quoting_style.
64177         * tests/test-quotearg.c (custom_quotes): New array.
64178         (custom_results): New array.
64179         (main): Extend to test custom quoting.
64181 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
64183         quotearg: fix right quote escaping when it's in quote_these_too
64184         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
64185         quote, be sure to prepend only one backslash.
64186         * tests/test-quotearg.c (use_quote_double_quotes): New function.
64187         (main): Test it.
64189 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
64191         quotearg-tests: test escaping of embedded locale quotes
64192         * tests/test-quotearg.c (struct result_strings): Add member for
64193         new input.
64194         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
64195         (inputs): Add new input.
64196         (results_g): Add expected results.
64197         (flag_results): Likewise.
64198         (locale_results): Likewise.
64199         (compare_strings): Check those.
64201 2009-08-23  Bruno Haible  <bruno@clisp.org>
64203         Tests for module 'dup3'.
64204         * modules/dup3-tests: New file.
64205         * tests/test-dup3.c: New file.
64207         New module 'dup3'.
64208         * lib/unistd.in.h (dup3): New declaration.
64209         * lib/dup3.c: New file.
64210         * m4/dup3.m4: New file.
64211         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
64212         HAVE_DUP3.
64213         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
64214         * modules/dup3: New file.
64215         * doc/glibc-functions/dup3.texi: Mention the new module.
64217 2009-08-23  Bruno Haible  <bruno@clisp.org>
64219         Tweak the dup2 test.
64220         * tests/test-dup2.c (main): Create the test file empty. Verify that an
64221         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
64222         the test file is still empty. Fix argument order of lseek.
64224 2009-08-23  Bruno Haible  <bruno@clisp.org>
64226         Avoid test link errors when the modules getopt-gnu, gettext are used.
64227         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
64228         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
64230 2009-08-23  Bruno Haible  <bruno@clisp.org>
64232         Fix getdtablesize() on mingw.
64233         * lib/getdtablesize.c (getdtablesize): Implement differently.
64234         * lib/unistd.in.h (getdtablesize): Improve comment.
64236 2009-08-23  Bruno Haible  <bruno@clisp.org>
64238         New module 'mkostemp'.
64239         Based on Ulrich Drepper's 2007-08-10 change in glibc.
64240         * lib/stdlib.in.h (mksotemp): New declaration.
64241         * lib/mkostemp.c: New file, from glibc with modifications.
64242         * lib/tempname.h (GT_FILE): Remove outdated comment.
64243         (gen_tempname): Add flags argument.
64244         * lib/tempname.c (__GT_BIGFILE): Remove macro.
64245         (__GT_FILE): Map to 1.
64246         (small_open, large_open): Remove macros.
64247         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
64248         * lib/mkstemp.c (mkstemp): Update.
64249         * lib/mkdtemp.c (mkdtemp): Likewise.
64250         * m4/mkostemp.m4: New file.
64251         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
64252         HAVE_MKOSTEMP.
64253         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
64254         HAVE_MKOSTEMP.
64255         * modules/mkostemp: New file, based on modules/mkstemp.
64256         * doc/glibc-functions/mkostemp.texi: Mention the new module.
64257         * NEWS: Mention the change.
64259 2009-08-23  Bruno Haible  <bruno@clisp.org>
64261         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
64262         Reported by Eric Blake.
64264 2009-08-23  Bruno Haible  <bruno@clisp.org>
64266         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
64267         Reported by Eric Blake.
64269 2009-08-23  Bruno Haible  <bruno@clisp.org>
64271         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
64272         * modules/pipe2 (Depends-on): Likewise.
64274 2009-08-23  Eric Blake  <ebb9@byu.net>
64276         fcntl-h: add O_TTY_INIT support
64277         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
64278         * tests/test-fcntl-h.c (o): Test it.
64279         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
64281         fcntl-h: rename from fcntl, in preparation for fcntl(2)
64282         * modules/fcntl: Move <fcntl.h> header replacement...
64283         * modules/fcntl-h: ...to new name, so as not to collide with
64284         like-named function.
64285         * tests/test-fcntl.c: Rename...
64286         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
64287         * modules/fcntl-tests: Rename...
64288         * modules/fcntl-h-tests: ...to this.  Update test file name.
64289         * modules/chdir-long (Depends-on): Update clients.
64290         * modules/chdir-safer (Depends-on): Likewise.
64291         * modules/fcntl-safer (Depends-on): Likewise.
64292         * modules/fts (Depends-on): Likewise.
64293         * modules/mkancesdirs (Depends-on): Likewise.
64294         * modules/mkdir-p (Depends-on): Likewise.
64295         * modules/open (Depends-on): Likewise.
64296         * modules/savewd (Depends-on): Likewise.
64297         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
64298         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
64300 2009-08-22  Bruno Haible  <bruno@clisp.org>
64302         * modules/binary-io (License): Relicense under LGPL.
64303         * modules/pipe2 (License): Likewise.
64305 2009-08-22  Bruno Haible  <bruno@clisp.org>
64307         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
64308         return value.
64309         * lib/pipe-filter-gi.c (filter_init): Likewise.
64310         Reported by Eric Blake.
64312 2009-08-22  Bruno Haible  <bruno@clisp.org>
64314         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
64315         * modules/pipe (Depends-on): Add pipe2.
64317 2009-08-22  Bruno Haible  <bruno@clisp.org>
64319         Tests for module 'pipe2'.
64320         * modules/pipe2-tests: New file.
64321         * tests/test-pipe2.c: New file.
64323         New module 'pipe2'.
64324         * lib/unistd.in.h (pipe2): New declaration.
64325         * lib/pipe2.c: New file.
64326         * m4/pipe2.m4: New file.
64327         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
64328         HAVE_PIPE2.
64329         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
64330         * modules/pipe2: New file.
64331         * doc/glibc-functions/pipe2.texi: Mention the new module.
64333 2009-08-22  Bruno Haible  <bruno@clisp.org>
64335         Reference some new glibc functions.
64336         * doc/glibc-functions/accept4.texi: New file.
64337         * doc/glibc-functions/dup3.texi: New file.
64338         * doc/glibc-functions/mkostemp.texi: New file.
64339         * doc/glibc-functions/pipe2.texi: New file.
64340         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
64341         (Glibc sys/socket.h): Refer to accept4.
64342         (Glibc unistd.h): Refer to dup3, pipe2.
64343         Reported by Eric Blake.
64345 2009-08-22  Jim Meyering  <meyering@redhat.com>
64346             Bruno Haible  <bruno@clisp.org>
64348         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
64349         This makes it so packages using automake-1.11's silent-rules option
64350         can print e.g., a single "GEN    configmake.h" line, rather than
64351         the 30+ statements that perform the job.  If you want to see the
64352         actual commands, you can still run "make V=1".
64353         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
64354         so that make output is abbreviated when those variables are defined
64355         appropriately.
64356         * modules/argz: Likewise.
64357         * modules/arpa_inet: Likewise.
64358         * modules/byteswap: Likewise.
64359         * modules/configmake: Likewise.
64360         * modules/dirent: Likewise.
64361         * modules/errno: Likewise.
64362         * modules/fcntl: Likewise.
64363         * modules/float: Likewise.
64364         * modules/fnmatch: Likewise.
64365         * modules/getopt-posix: Likewise.
64366         * modules/glob: Likewise.
64367         * modules/iconv_open: Likewise.
64368         * modules/inttypes: Likewise.
64369         * modules/localcharset: Likewise.
64370         * modules/locale: Likewise.
64371         * modules/math: Likewise.
64372         * modules/netdb: Likewise.
64373         * modules/netinet_in: Likewise.
64374         * modules/poll: Likewise.
64375         * modules/posix_spawnp-tests: Likewise.
64376         * modules/sched: Likewise.
64377         * modules/search: Likewise.
64378         * modules/selinux-h: Likewise.
64379         * modules/signal: Likewise.
64380         * modules/spawn: Likewise.
64381         * modules/stdarg: Likewise.
64382         * modules/stdbool: Likewise.
64383         * modules/stddef: Likewise.
64384         * modules/stdint: Likewise.
64385         * modules/stdio: Likewise.
64386         * modules/stdlib: Likewise.
64387         * modules/string: Likewise.
64388         * modules/strings: Likewise.
64389         * modules/sys_file: Likewise.
64390         * modules/sys_ioctl: Likewise.
64391         * modules/sys_select: Likewise.
64392         * modules/sys_socket: Likewise.
64393         * modules/sys_stat: Likewise.
64394         * modules/sys_time: Likewise.
64395         * modules/sys_times: Likewise.
64396         * modules/sys_utsname: Likewise.
64397         * modules/sys_wait: Likewise.
64398         * modules/sysexits: Likewise.
64399         * modules/time: Likewise.
64400         * modules/unistd: Likewise.
64401         * modules/wchar: Likewise.
64402         * modules/wctype: Likewise.
64404 2009-08-22  Jim Meyering  <meyering@redhat.com>
64406         announce-gen: detect write failure
64407         * build-aux/announce-gen: Add Coda at end.
64408         Remove equivalent-but-more-verbose block at top.
64410 2009-08-19  Akim Demaille  <demaille@gostai.com>
64412         bootstrap: --help to stdout.
64413         * bootstrap (usage): Don't send --help to stderr.
64414         Use a here doc instead of a long string.
64416 2009-08-21  Eric Blake  <ebb9@byu.net>
64418         test-popen-safer: split from test-popen
64419         * tests/test-popen.c (main): Move...
64420         * tests/test-popen.h: ...into new file.
64421         * tests/test-popen-safer2.c: New file.
64422         * modules/popen-tests (Files): Add test-popen.h.
64423         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
64424         Suggested by Bruno Haible.
64426         test-fcntl-safer: split from test-open
64427         * tests/test-open.c (main): Move...
64428         * tests/test-open.h: ...into new file.
64429         * tests/test-fcntl-safer.c: New file.
64430         * modules/open-tests (Files): Add test-open.h.
64431         * modules/fcntl-safer-tests: New file.
64432         Suggested by Bruno Haible.
64434         test-fopen-safer: split from test-fopen
64435         * tests/test-fopen.c (main): Move...
64436         * tests/test-fopen.h: ...into new file.
64437         * tests/test-fopen-safer.c: New file.
64438         * modules/fopen-tests (Files): Add test-fopen.h.
64439         * modules/fopen-safer-tests: New file.
64440         Suggested by Bruno Haible.
64442 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
64444         popen-safer: test O_CLOEXEC at run-time.
64445         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
64447 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
64449         fcntl: move more flags to the header
64450         * lib/cloexec.c: Do not define FD_CLOEXEC here.
64451         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
64452         * lib/fcntl.in.h: Do both things here.
64454 2009-08-21  Jim Meyering  <meyering@redhat.com>
64456         consistently remove $@-t before redirecting to it
64457         * modules/argz: Remove $@-t and $@ before redirecting to the former.
64458         * modules/alloca-opt: Likewise.
64459         * modules/byteswap: Likewise.
64460         * modules/fnmatch: Likewise.
64461         * modules/getopt-posix: Likewise.
64462         * modules/glob: Likewise.
64463         * modules/poll: Likewise.
64464         * modules/posix_spawnp-tests: Likewise.
64465         * modules/sys_socket: Likewise.
64466         * modules/sysexits: Likewise.
64468 2009-08-21  Eric Blake  <ebb9@byu.net>
64470         popen: simplify access to original popen
64471         * lib/popen.c (rpl_popen): No need to worry about popen being a
64472         macro.
64473         Reported by Bruno Haible.
64475 2009-08-20  Eric Blake  <ebb9@byu.net>
64477         build: avoid some compiler warnings
64478         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
64479         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
64480         type.
64481         (new_exclude_segment, excluded_file_pattern_p)
64482         (excluded_file_name_p): Reduce scope.
64483         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
64484         old-style declaration.
64486 2009-08-20  Simon Josefsson  <simon@josefsson.org>
64488         * tests/test-exclude1.sh: Handle Windows EOL.
64489         * tests/test-exclude2.sh: Likewise.
64490         * tests/test-exclude3.sh: Likewise.
64491         * tests/test-exclude4.sh: Likewise.
64492         * tests/test-exclude5.sh: Likewise.
64493         * tests/test-exclude6.sh: Likewise.
64494         * tests/test-exclude7.sh: Likewise.
64496 2009-08-19  Akim Demaille  <demaille@gostai.com>
64498         bootstrap: find sha1sum when named gsha1sum.
64499         * bootstrap (find_tool): New.
64500         ($SHA1SUM): New.
64501         Use it.
64503 2009-08-20  Jim Meyering  <meyering@redhat.com>
64505         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
64506         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
64507         expression that converts "." in a file name to "\." in the resulting
64508         regexp.  Start with a dummy statement, so that prior shell variable
64509         definitions are expanded portably.  Reported by Simon Josefsson.
64511 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
64513         Fix polling for writeability of a screen buffer.
64514         * lib/poll.c: Distinguish input and screen buffers for the
64515         Win32 implementation.
64516         * lib/select.c: Likewise.
64518 2009-08-19  Eric Blake  <ebb9@byu.net>
64520         popen-safer: prevent popen from clobbering std descriptors
64521         * modules/popen-safer: New file.
64522         * lib/popen-safer.c: Likewise.
64523         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
64524         * lib/stdio--.h (popen): Provide override.
64525         * lib/stdio-safer.h (popen_safer): Provide declaration.
64526         * tests/test-popen.c (includes): Partially test this.
64527         * modules/popen-safer-tests: New file, for more tests.
64528         * tests/test-popen-safer.c: Likewise.
64529         * MODULES.html.sh (file stream based Input/Output): Mention it.
64531         tests: test some of the *-safer modules
64532         * modules/fopen-safer (Depends-on): Add fopen.
64533         * modules/fcntl-safer (Depends-on): Add fcntl.
64534         * modules/stdlib-safer (Depends-on): Add stdlib.
64535         (configure.ac): Set indicator.
64536         * modules/unistd-safer (configure.ac): Likewise.
64537         * modules/tmpfile-safer (configure.ac): Likewise.
64538         (Depends-on): Add tmpfile.
64539         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
64540         active.
64541         * tests/test-fopen.c (includes): Test safer versions when they are
64542         in use.
64543         * tests/test-open.c (includes): Likewise.
64545         popen: fix cygwin 1.5 bug when stdin closed
64546         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
64547         * modules/popen: New file.
64548         * modules/popen-tests: Likewise.
64549         * tests/test-popen.c: Likewise.
64550         * m4/popen.m4: Likewise.
64551         * lib/popen.c: Likewise.
64552         * lib/stdio.in.h (popen): New declaration.
64553         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
64554         * modules/stdio (Makefile.am): Likewise.
64555         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
64557 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
64559         maint.mk: give full control over update-copyright exclusions
64560         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
64561         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
64562         (update-copyright): Don't force inclusion of top-level
64563         ChangeLog.  Don't force exclusion of all COPYING files, but make
64564         them the default exclusion instead.
64566 2009-08-16  Bruno Haible  <bruno@clisp.org>
64568         Fix test failures on Solaris 10.
64569         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
64570         tests when Solaris iconv() is used.
64571         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
64572         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
64573         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
64574         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
64575         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
64577 2009-08-16  Bruno Haible  <bruno@clisp.org>
64579         Fix test failures on Solaris 10.
64580         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
64581         'tr' program and pass it as first argument.
64582         * tests/test-pipe-filter-gi1.sh: Likewise.
64583         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
64584         program as first argument.
64585         * tests/test-pipe-filter-gi1.c (main): Likewise.
64587 2009-08-16  Eric Blake  <ebb9@byu.net>
64589         fpurge: fix previous commits
64590         * modules/fpurge (Makefile.am): Make replacement conditional,
64591         partially reverting 2007-04-29 change; missed in previous
64592         attempt.
64593         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
64594         is missing.
64596 2009-08-16  Bruno Haible  <bruno@clisp.org>
64598         Clarify fpurge's effect on the file position.
64599         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
64600         * tests/test-fpurge.c (main): Make a second pass for checking the file
64601         position.
64603 2009-08-16  Bruno Haible  <bruno@clisp.org>
64605         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
64606         declaration of fpurge is missing.
64607         * tests/test-fpurge.c (main): Check that the file has not more contents
64608         than expected. Close the file before removing it.
64610 2009-08-15  Eric Blake  <ebb9@byu.net>
64612         fpurge: don't wrap working cygwin implementation
64613         * lib/fpurge.c (fpurge): Fix comment typo.
64614         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
64615         1.7 to avoid replacement.
64616         * tests/test-fpurge.c (main): Enhance test.
64618 2009-08-15  Eric Blake  <ebb9@byu.net>
64619         and Jim Meyering  <meyering@redhat.com>
64621         test-update-copyright: skip if perl is insufficient
64622         * tests/test-update-copyright.sh: Failure to run maintainer tool
64623         should not cause testsuite failure on cygwin 1.5.
64625 2009-08-14  Eric Blake  <ebb9@byu.net>
64627         doc: mention more functions added in cygwin 1.7.0
64628         * doc/posix-headers/limits.texi (limits.h): Update for recent
64629         cygwin additions.
64630         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
64631         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
64632         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
64633         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
64634         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
64636 2009-08-14  Eric Blake  <ebb9@byu.net>
64638         maint.mk: simplify update-copyright rule
64639         * top/maint.mk (update-copyright-local): Delete, and document how
64640         to do it in cfg.mk instead.
64641         (update-copyright-exclude-regexp): Delete, and document how to do
64642         it in .x-update-copyright instead.
64643         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
64644         exclude ChangeLog.
64646 2009-08-14  Bruno Haible  <bruno@clisp.org>
64648         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
64650 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
64652         maint.mk: support update-copyright-env
64653         * top/maint.mk (update-copyright-env): Define place-holder.
64654         (update-copyright): Expand $(update-copyright-env) before
64655         invoking update-copyright.
64657 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
64659         update-copyright: implement forced reformatting
64660         * build-aux/update-copyright: Implement and document
64661         UPDATE_COPYRIGHT_FORCE.
64662         * tests/test-update-copyright.sh: Test it.
64664 2009-08-14  Eric Blake  <ebb9@byu.net>
64665         and Bruno Haible  <bruno@clisp.org>
64667         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
64668         * tests/test-locale.c: Revert previous patch related to NULL.
64669         * tests/test-stdio.c: Likewise.
64670         * tests/test-stdlib.c: Likewise.
64671         * tests/test-string.c: Likewise.
64672         * tests/test-unistd.c: Likewise.
64673         * modules/time-tests (Depends-on): Add verify.
64674         * modules/wchar-tests (Depends-on): Likewise.
64675         * tests/test-time.c: Test for NULL compliance.
64676         * tests/test-wchar.c: Likewise.
64677         * modules/locale (Depends-on): Add stddef.
64678         * modules/stdio (Depends-on): Likewise.
64679         * modules/stdlib (Depends-on): Likewise.
64680         * modules/string (Depends-on): Likewise.
64681         * modules/time (Depends-on): Likewise.
64682         * modules/unistd (Depends-on): Likewise.
64683         * modules/wchar (Depends-on): Likewise.
64684         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
64685         * lib/stdlib.in.h (includes): Likewise.
64686         * lib/string.in.h (includes): Likewise.
64687         * lib/time.in.h (includes): Likewise.
64688         * lib/unistd.in.h (includes): Likewise.
64689         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
64690         replaced.
64691         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
64692         * m4/stddef_h.m4: New file.
64693         * modules/stddef: Likewise.
64694         * lib/stddef.in.h: Likewise.
64695         * modules/stddef-tests: Likewise.
64696         * tests/test-stddef.c: Likewise.
64697         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
64698         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
64699         * doc/posix-headers/locale.texi (locale.h): Likewise.
64700         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
64701         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
64702         * doc/posix-headers/string.texi (string.h): Likewise.
64703         * doc/posix-headers/time.texi (time.h): Likewise.
64704         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
64705         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
64707 2009-08-14  Eric Blake  <ebb9@byu.net>
64709         doc: improve git diff of texinfo files
64710         * .gitattributes: Add rule for *.texi files, with hint on how to
64711         use it.
64712         Copied from m4, and based on a report by Bruno Haible.
64714 2009-08-14  Bruno Haible  <bruno@clisp.org>
64716         Disable multithread support by default on Cygwin 1.5.x for real.
64717         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
64719 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
64721         update-copyright: much ado about intervals
64722         * build-aux/update-copyright: Implement and document
64723         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
64724         of copyright year intervals.
64725         Also, document UPDATE_COPYRIGHT_YEAR.
64726         * tests/test-update-copyright.sh: Test it.
64728         update-copyright: convert 2-digit to 4-digit years
64729         * build-aux/update-copyright: Implement and document.
64730         * tests/test-update-copyright.sh: Update.
64732 2009-08-14  Jim Meyering  <meyering@redhat.com>
64734         test-exclude: avoid coreutils "make check" failure
64735         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
64736         just as in test-argmatch.c.
64738 2009-08-13  Eric Blake  <ebb9@byu.net>
64740         test-dup2: fix bad assumption
64741         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
64742         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
64744         test-version-etc: fix CRLF portability issue
64745         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
64746         recognize \r.
64747         * tests/test-argp-version-etc-1.sh: Likewise.
64749         getopt: update client modules
64750         * modules/argp (Depends-on): Use getopt-gnu.
64751         * modules/git-merge-changelog (Depends-on): Likewise.
64752         * modules/long-options (Depends-on): Likewise.
64753         * modules/xstrtol (Depends-on): Likewise.
64755 2009-08-13  Simon Josefsson  <simon@josefsson.org>
64757         * tests/test-version-etc.sh: Don't fail on different
64758         project/version.  Don't fail on CRLF differences.  Rewrite to use
64759         multiple -e instead of multiple sed forks, suggested by Eric Blake
64760         <ebb9@byu.net>.
64761         * tests/test-argp-version-etc-1.sh: Likewise.
64763 2009-08-13  Simon Josefsson  <simon@josefsson.org>
64765         * tests/test-version-etc.sh: Don't fail on different
64766         project/version.
64768 2009-08-12  Bruno Haible  <bruno@clisp.org>
64770         Tests for modules 'getopt-posix', 'getopt-gnu'.
64771         * modules/getopt-posix-tests: New file.
64772         * tests/test-getopt.c: New file.
64773         * tests/test-getopt.h: New file.
64774         * tests/test-getopt_long.h: New file.
64776         New modules 'getopt-posix', 'getopt-gnu'.
64777         * modules/getopt-gnu: New file, renamed from modules/getopt.
64778         * modules/getopt-posix: New file.
64779         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
64780         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
64781         (gl_GETOPT): Remove macro.
64782         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
64783         Disable the test against BSD systems that declare optreset. Test
64784         against mingw bug. Test against lack of support of optional arguments
64785         on many platforms.
64786         * doc/glibc-headers/getopt.texi: Update module name and list of
64787         relevant platforms.
64788         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
64789         'getopt-gnu' and more portability problems.
64790         * NEWS: Mention the changes.
64792 2009-08-12  Bruno Haible  <bruno@clisp.org>
64794         Ensure that optarg etc. get declared by <unistd.h>.
64795         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
64796         AC_USE_SYSTEM_EXTENSIONS.
64797         * modules/getopt (Depends-on): Add 'extensions'.
64799 2009-08-12  Bruno Haible  <bruno@clisp.org>
64801         Avoid test link errors.
64802         * modules/pipe-filter-ii-tests (Makefile.am): Define
64803         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
64804         * modules/pipe-filter-gi-tests (Makefile.am): Define
64805         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
64806         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
64808 2009-08-12  Bruno Haible  <bruno@clisp.org>
64810         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
64811         gl_GETOPT_SUBSTITUTE before.
64812         (gl_GETOPT): Use it.
64813         * m4/argp.m4 (gl_ARGP): Update.
64814         Reported by Sergey Poznyakoff.
64816         * m4/getopt.m4: Reorder macros.
64817         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
64818         (gl_GETOPT_SUBSTITUTE): Remove macro.
64820 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
64822         Minor improvement in gitlog-to-changelog
64824         * build-aux/gitlog-to-changelog: New option `--format' makes
64825         output format string configurable.
64827 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
64829         Optimize exclude: use hash tables for non-wildcard patterns.
64831         * lib/exclude.c: Include hash.h and mbuiter.h
64832         (struct exclude_pattern, exclude_segment): New data types.
64833         (struct exclude): Rewrite.
64834         (fnmatch_pattern_has_wildcards): New function.
64835         (new_exclude_segment, free_exclude_segment): New functions.
64836         (excluded_file_pattern_p, excluded_file_name_p): New functions.
64837         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
64838         * lib/exclude.h (is_fnmatch_pattern): New prototype.
64839         * modules/exclude: Depend on hash and mbuiter.
64841         * modules/exclude-tests: New file.
64842         * tests/test-exclude.c: New file.
64843         * tests/test-exclude1.sh: New file.
64844         * tests/test-exclude2.sh: New file.
64845         * tests/test-exclude3.sh: New file.
64846         * tests/test-exclude4.sh: New file.
64847         * tests/test-exclude5.sh: New file.
64848         * tests/test-exclude6.sh: New file.
64849         * tests/test-exclude7.sh: New file.
64851 2009-08-12  Bruno Haible  <bruno@clisp.org>
64853         Ensure that getopt() gets declared by <unistd.h>.
64854         * lib/unistd.in.h: Conditionally include getopt.h.
64855         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
64856         Set GNULIB_UNISTD_H_GETOPT.
64857         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
64858         GNULIB_UNISTD_H_GETOPT.
64859         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
64861 2009-08-12  Bruno Haible  <bruno@clisp.org>
64863         Clarify logic.
64864         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
64865         gl_replace_getopt instead of GETOPT_H.
64867 2009-08-12  Bruno Haible  <bruno@clisp.org>
64869         * m4/getopt.m4: Add comments.
64871 2009-08-12  Bruno Haible  <bruno@clisp.org>
64873         Disable multithread support by default on Cygwin 1.5.x.
64874         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
64875         set gl_use_threads=no if not specified otherwise.
64877 2009-08-11  Bruno Haible  <bruno@clisp.org>
64879         Avoid compilation error on NetBSD 5.0.
64880         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
64881         * tests/test-stdio.c: Likewise.
64882         * tests/test-stdlib.c: Likewise.
64883         * tests/test-string.c: Likewise.
64884         * tests/test-unistd.c: Likewise.
64885         Reported by Greg Troxel <gdt@ir.bbn.com>
64886         at <https://savannah.gnu.org/support/?106973>.
64888 2009-08-11  Bruno Haible  <bruno@clisp.org>
64890         * modules/dup2-tests (Depends-on): Remove close.
64892         Undo 2009-07-19 commit.
64893         * modules/acl-tests (Depends-on): Remove close.
64894         * modules/binary-io-tests (Depends-on): Likewise.
64895         * modules/closein-tests (Depends-on): Likewise.
64896         * modules/flock-tests (Depends-on): Likewise.
64897         * modules/fsync-tests (Depends-on): Likewise.
64898         * modules/lseek-tests (Depends-on): Likewise.
64899         * modules/pipe-tests (Depends-on): Likewise.
64900         * modules/posix_spawn-tests (Depends-on): Likewise.
64901         * modules/posix_spawnp-tests (Depends-on): Likewise.
64902         * modules/stat-time-tests (Depends-on): Likewise.
64903         * modules/yesno-tests (Depends-on): Likewise.
64905 2009-08-10  Bruno Haible  <bruno@clisp.org>
64907         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
64909 2009-08-10  Bruno Haible  <bruno@clisp.org>
64911         Fix a gcc warning.
64912         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
64914 2009-08-10  Bruno Haible  <bruno@clisp.org>
64916         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
64917         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
64918         not only the first time.
64919         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
64920         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
64921         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
64922         is 1, not only the first time.
64924 2009-08-10  Bruno Haible  <bruno@clisp.org>
64926         Make it possible to use module 'gethostname' without module 'close'.
64927         * lib/unistd.in.h (close): Evoke a link error only if
64928         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
64929         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
64930         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
64931         * modules/unistd (Makefile.am): Substitute
64932         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
64933         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
64934         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
64935         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
64936         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
64937         * modules/sys_ioctl (Makefile.am): Substitute
64938         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
64939         * modules/socket (configure.ac): On native Windows, set
64940         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
64941         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
64942         Reported by Sam Steingold <sds@gnu.org>.
64944 2009-08-10  Bruno Haible  <bruno@clisp.org>
64946         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
64947         * modules/ioctl (configure.ac): Likewise.
64949 2009-08-10  Bruno Haible  <bruno@clisp.org>
64951         Avoid collision between gnulib wrapper and libintl wrapper.
64952         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
64953         already defined in intl/printf.c.
64954         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
64955         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
64957 2009-08-09  Bruno Haible  <bruno@clisp.org>
64959         Make <sys/select.h> really self-contained, also on Solaris 10.
64960         * lib/sys_select.in.h: Include <string.h>.
64961         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
64962         Solaris 10 problem.
64963         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
64964         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
64965         Reported by Jim Meyering.
64967 2009-08-09  Bruno Haible  <bruno@clisp.org>
64969         Avoid warnings from 'aclocal' that are due to a use of macro name
64970         AM_XGETTEXT_OPTION that is not defined in automake.
64971         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
64972         automake.
64973         * modules/error (configure.ac): Likewise.
64974         * modules/propername (configure.ac): Likewise.
64975         * modules/vasprintf (configure.ac): Likewise.
64976         * modules/verror (configure.ac): Likewise.
64977         * modules/xprintf (configure.ac): Likewise.
64978         * modules/xvasprintf (configure.ac): Likewise.
64980 2009-08-08  Bruno Haible  <bruno@clisp.org>
64982         Avoid compilation error in C++ mode.
64983         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
64984         Reported by Sam Steingold <sds@gnu.org>.
64986 2009-08-08  Bruno Haible  <bruno@clisp.org>
64988         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
64989         for the various Unix platforms.
64990         * doc/posix-headers/limits.texi: Update platforms list regarding
64991         HOST_NAME_MAX.
64992         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
64994 2009-08-07  Jim Meyering  <meyering@redhat.com>
64996         selinux-at: fix typo in a comment
64997         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
64998         Spotted by Paolo Bonzini.
65000         selinux-at: remove redundant m4 code, add documentation
65001         * modules/selinux-at (configure.ac): Remove redundant code.
65002         LIB_SELINUX is already set via the dependent module, selinux-h.
65003         (Include): Add quotes around selinux-at.h.
65004         * lib/selinux-at.h: Add documentation.
65005         Reported by Bruno Haible in
65006         http://marc.info/?l=gnulib-bug&m=124958988300749
65008 2009-08-07  Bruno Haible  <bruno@clisp.org>
65010         Avoid link error on MacOS X 10.3 and 10.4.
65011         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
65012         on non-ELF systems.
65013         * lib/argp-pv.c (argp_program_version): Likewise.
65014         Reported by Simon Josefsson.
65016 2009-08-07  Simon Josefsson  <simon@josefsson.org>
65018         * tests/test-version-etc.sh: Use $EXEEXT.
65020 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
65022         update-copyright: update documentation to point to maint.mk
65023         * build-aux/update-copyright: Here.
65025 2009-08-06  Jim Meyering  <meyering@redhat.com>
65027         maint.mk: support update-copyright-local
65028         * top/maint.mk (update-copyright-local): Define place-holder.
65029         (update-copyright): Depend on $(update-copyright-local).
65031 2009-08-06  Jim Meyering  <meyering@redhat.com>
65033         selinux-at: new module
65034         Initially written for coreutils, this module will soon be
65035         used by findutils, too.
65036         * MODULES.html.sh [Misc]: Add selinux-at.
65037         * lib/selinux-at.h: New file, from coreutils.
65038         * lib/selinux-at.c: Likewise.
65039         * modules/selinux-at: Likewise.
65040         (License): Change from LGPL to GPL, since it depends
65041         on the GPL'd openat module.
65043         doc: update README
65044         * README: Remove references to cogito.
65045         Remove cvs-repo-updating instructions from 2007.
65046         Don't imply that CVS is better if you have limited disk space.
65048 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
65050         update-copyright: support C-style comments
65051         * build-aux/update-copyright: Implement and document.
65052         * tests/test-update-copyright.sh: Test.
65054 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
65056         update-copyright: support omitted "(C)"
65057         * build-aux/update-copyright: Implement and document.  Also,
65058         allow variable whitespace before "(C)".
65059         * tests/test-update-copyright.sh: Test.
65061 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
65063         update-copyright: don't trip on non-FSF copyright statements
65064         * build-aux/update-copyright: Fix so that the first correctly
65065         formatted FSF copyright statement is recognized no matter what
65066         appears before it.  Update documentation.
65067         * tests/test-update-copyright.sh: Test that.
65069 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
65071         update-copyright: clean up code a little
65072         * build-aux/update-copyright: Append "_re" to the name of any
65073         variable holding a regular expression.
65074         Replace "old" and "new" with "stmt" in variable names.
65075         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
65076         handled correctly.
65077         Format code more consistently.
65079 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
65081         update-copyright-tests: improve portability
65082         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
65083         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
65085 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
65087         update-copyright: support @copyright{} and &copy;
65088         * build-aux/update-copyright: Implement and document.
65089         * tests/test-update-copyright.sh: Test.
65091 2009-08-04  Jim Meyering  <meyering@redhat.com>
65093         update-copyright-tests: correctly test EOL=\r\n handling
65094         * tests/test-update-copyright.sh: Put \r at the end of some lines
65095         for the dos-eol tests.  Based on a patch by Joel E. Denny.
65097         maint.mk: make update-copyright exclusion list more configurable
65098         * top/maint.mk (update-copyright): Default to excluding COPYING,
65099         but allow an override, in case someone does want to update that file.
65101         maint.mk: don't update copyright date in COPYING
65102         * top/maint.mk (update-copyright): Exclude COPYING.
65104         maint.mk: add a copyright-updating rule
65105         * top/maint.mk (update-copyright): New rule.
65106         Derived from coreutils/Makefile.am.
65108         update-copyright: rename some variables
65109         * build-aux/update-copyright: Rename a few variables for clarity.
65110         Tweak syntax.  List Joel E. Denny as coauthor.
65112 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
65114         update-copyright: fix bug for 2-digit last year and add tests
65115         * build-aux/update-copyright: Fix bug.
65116         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
65117         specified.
65118         * modules/update-copyright-tests: New
65119         * tests/test-update-copyright.sh: New.
65121 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
65123         update-copyright: handle leading tabs in line prefix
65124         * build-aux/update-copyright: Count leading tabs as 8 spaces
65125         when computing margin.  This helps with the formatting of
65126         ChangeLogs, for example.
65127         Fix documentation a little.
65129 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
65131         update-copyright: support EOL=\r\n
65132         * build-aux/update-copyright: Implement that.
65134 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
65136         update-copyright: automatically format copyright statements
65137         * build-aux/update-copyright: Implement that.
65138         Also, be a little more predictable and safer by always failing
65139         when the full copyright format is not perfectly recognized as an
65140         unbroken whole.  Discussed at
65141         <http://lists.gnu.org/r/bug-gnulib/2009-07/msg00131.html>.
65142         Rewrite documentation.
65144 2009-08-03  Bruno Haible  <bruno@clisp.org>
65146         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
65148 2009-08-02  Bruno Haible  <bruno@clisp.org>
65150         Tests for module 'uname'.
65151         * modules/uname-tests: New file.
65152         * tests/test-uname.c: New file.
65154         New module 'uname'.
65155         * lib/uname.c: New file.
65156         * m4/uname.m4: New file.
65157         * modules/uname: New file.
65158         * doc/posix-functions/uname.texi: Mention the new module.
65160 2009-08-02  Bruno Haible  <bruno@clisp.org>
65162         Tests for module 'sys_utsname'.
65163         * modules/sys_utsname-tests: New file.
65164         * tests/test-sys_utsname.c: New file.
65166         New module 'sys_utsname'.
65167         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
65168         * m4/sys_utsname_h.m4: New file.
65169         * modules/sys_utsname: New file.
65170         * doc/posix-headers/sys_utsname.texi: Mention the new module.
65172 2009-08-02  Bruno Haible  <bruno@clisp.org>
65174         Implicitly initialize the sockets library.
65175         * lib/gethostname.c: Include sockets.h.
65176         (rpl_gethostname): Invoke gl_sockets_startup.
65177         * lib/socket.c: Include sockets.h.
65178         (rpl_socket): Invoke gl_sockets_startup.
65179         * modules/gethostname (Depends-on): Add sockets.
65180         * modules/socket (Depends-on): Likewise.
65181         * tests/test-poll.c: Don't include sockets.h.
65182         (main): Don't invoke gl_sockets_startup.
65183         * tests/test-select.c: Don't include sockets.h.
65184         (main): Don't invoke gl_sockets_startup.
65186 2009-08-02  Bruno Haible  <bruno@clisp.org>
65188         Allow multiple calls to gl_sockets_startup.
65189         * lib/sockets.c (initialized_sockets_version): New variable.
65190         (gl_sockets_startup): Do nothing if already called for this or a higher
65191         version.
65192         (gl_sockets_cleanup): Reset initialized_sockets_version.
65194 2009-08-03  Simon Josefsson  <simon@josefsson.org>
65196         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
65197         different project/version.
65199 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
65200             Bruno Haible  <bruno@clisp.org>
65202         Tests for module 'pipe-filter-gi'.
65203         * modules/pipe-filter-gi-tests: New file.
65204         * tests/test-pipe-filter-gi1.sh: New file.
65205         * tests/test-pipe-filter-gi1.c: New file.
65206         * tests/test-pipe-filter-gi2.sh: New file.
65207         * tests/test-pipe-filter-gi2-main.c: New file.
65208         * tests/test-pipe-filter-gi2-child.c: New file.
65210         New module 'pipe-filter-gi'.
65211         * lib/pipe-filter-gi.c: New file.
65212         * modules/pipe-filter-gi: New file.
65214 2009-08-02  Bruno Haible  <bruno@clisp.org>
65215             Paolo Bonzini  <bonzini@gnu.org>
65217         Tests for module 'pipe-filter-ii'.
65218         * modules/pipe-filter-ii-tests: New file.
65219         * tests/test-pipe-filter-ii1.sh: New file.
65220         * tests/test-pipe-filter-ii1.c: New file.
65221         * tests/test-pipe-filter-ii2.sh: New file.
65222         * tests/test-pipe-filter-ii2-main.c: New file.
65223         * tests/test-pipe-filter-ii2-child.c: New file.
65225         New module 'pipe-filter-ii'.
65226         * lib/pipe-filter.h: New file.
65227         * lib/pipe-filter-ii.c: New file.
65228         * lib/pipe-filter-aux.h: New file.
65229         * modules/pipe-filter-ii: New file.
65231 2009-08-02  Simon Josefsson  <simon@josefsson.org>
65233         * lib/gc-libgcrypt.c: Change copyright to FSF.
65234         * lib/gc-gnulib.c: Likewise.
65236 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
65238         * lib/gethostname.c: Include limits.h.
65240 2009-08-02  Simon Josefsson  <simon@josefsson.org>
65241             Bruno Haible  <bruno@clisp.org>
65243         Ensure HOST_NAME_MAX as part of the gethostname module.
65244         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
65245         define also HOST_NAME_MAX.
65246         * tests/test-gethostname.c: Include <limits.h>.
65247         (main): Check also HOST_NAME_MAX.
65248         * doc/posix-headers/limits.texi: Document the mingw problem.
65250 2009-08-02  Bruno Haible  <bruno@clisp.org>
65252         * lib/gethostname.c (gethostname): Fix handling of large len argument.
65253         Add comments.
65255 2009-03-31  Simon Josefsson  <simon@josefsson.org>
65257         * lib/gethostname.c: Add Windows wrapper.
65258         * m4/gethostname.m4: Look for gethostname in -lws2_32.
65259         * modules/gethostname: Depend on sys_socket & errno, for also
65260         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
65261         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
65263 2009-07-31  Jim Meyering  <meyering@redhat.com>
65265         getloadavg: fix symbol name in comment
65266         * lib/getloadavg.c: Correct a typo I introduced when adding
65267         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
65268         Matt Kraai spotted the problem.
65270 2009-07-29  Matt Kraai  <mkraai@beckman.com>
65272         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
65273         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
65274         code also if ! defined N_NAME_POINTER.
65275         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
65276         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
65277         but the n_name member is a 12-byte array.
65279 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
65281         update-copyright: generalize comment handling
65282         * build-aux/update-copyright: Handle copyright statements
65283         within more comment styles.
65284         Document usage.
65285         Report any file with an external copyright holder or parse failure.
65287 2009-07-29  Jim Meyering  <meyering@redhat.com>
65289         mktime: correct setting of REPLACE_MKTIME
65290         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
65292         update-copyright: new module
65293         * modules/update-copyright: New file.
65294         * build-aux/update-copyright: New file.
65295         * MODULES.html.sh (maint+release support): Add update-copyright.
65297 2009-07-27  Bruno Haible  <bruno@clisp.org>
65299         Fix compilation error when <ctime> is used and mktime is replaced.
65300         * lib/time.in.h (mktime): New declaration.
65301         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
65302         REPLACE_MKTIME instead of defining mktime in config.h.
65303         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
65304         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
65305         Reported by Ross McFarland <rwmcfa1@neces.com>.
65307 2009-07-27  Bruno Haible  <bruno@clisp.org>
65309         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
65310         Reported by Matt Kraai <mkraai@beckman.com>.
65312 2009-07-25  Jim Meyering  <meyering@redhat.com>
65314         maint.mk: avoid warnings about missing files
65315         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
65316         diagnostic when .prev-version does not exist.
65317         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
65318         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
65319         nonexistent cfg.mk.
65320         Suggestions from Simon Josefsson.
65322 2009-07-25  Bruno Haible  <bruno@clisp.org>
65324         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
65325         defined as macros. Needed on QNX 6.4.1.
65326         Reported by Matt Kraai <mkraai@beckman.com>.
65328 2009-07-23  Jim Meyering  <meyering@redhat.com>
65330         maint.mk: invoke "make dist" with a working value of XZ_OPT
65331         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
65333 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
65335         Make fseeko.c compile on QNX.
65336         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
65338 2009-07-22  Peter Simons  <simons@cryp.to>
65340         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
65341         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
65342         * lib/md4.h: Likewise.
65343         * lib/md5.h: Likewise.
65344         * lib/sha1.h: Likewise.
65345         * lib/sha256.h: Likewise.
65346         * lib/sha512.h: Likewise.
65348         tests-sha1: don't assign literal string to 'char *' variable
65349         * tests/test-sha1.c (main): Declare locals with "const" to match
65350         attributes of the right hand side.
65352 2009-07-21  Eric Blake  <ebb9@byu.net>
65354         dup2: fix more mingw problems
65355         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
65356         fd to itself.
65357         * doc/posix-functions/dup2.texi (dup2): Document the bug.
65358         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
65359         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
65360         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
65361         care of mingw bugs.
65363 2009-07-21  Jim Meyering  <meyering@redhat.com>
65365         vc-list-files: avoid failure when /bin/sh is dash
65366         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
65367         On some Debian based systems, /bin/sh is a symlink to dash, and running
65368         this command would omit the "/" following each 'tests' prefix:
65369           dash -x build-aux/vc-list-files -C . tests
65370         That is because bash and dash work differently:
65371           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
65372           bash ok
65373           dash odd
65375 2009-07-21  Eric Blake  <ebb9@byu.net>
65377         dup2-tests: test previous patch
65378         * modules/dup2-tests: New file.
65379         * tests/test-dup2.c: Likewise.
65380         * tests/test-open.c (main): Avoid unspecified behavior.
65381         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
65382         test.
65384         dup2: work around mingw and cygwin 1.5 bug
65385         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
65386         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
65387         * modules/unistd (Makefile.am): Substitute it.
65388         * lib/unistd.in.h (dup2): Declare the replacement.
65389         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
65390         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
65391         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
65392         * modules/execute (Depends-on): Add dup2.
65393         * modules/fseterr (Depends-on): Likewise.
65394         * modules/pipe (Depends-on): Likewise.
65395         * modules/posix_spawn-internal (Depends-on): Likewise.
65397 2009-07-21  Bruno Haible  <bruno@clisp.org>
65399         * modules/.gitattributes: New file.
65401 2009-07-20  Bruno Haible  <bruno@clisp.org>
65403         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
65404         (main): Use it.
65406 2009-07-20  Eric Blake  <ebb9@byu.net>
65408         test-pipe: make a bit more robust.
65409         * tests/test-pipe.c (myerr): Allow error messages regardless of
65410         what we do to stderr.
65411         (test_pipe): Rearrange to avoid deadlock.
65412         (child_main): Try a larger read, to ensure we avoided deadlock.
65413         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
65414         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
65415         if misused.
65417 2009-07-19  Jim Meyering  <meyering@redhat.com>
65419         fts: avoid false-positive cycle-detection
65420         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
65421         for each new command line argument.
65423 2009-07-19  Bruno Haible  <bruno@clisp.org>
65425         Fix build error on mingw with the modules sys_select and unistd.
65426         * modules/acl-tests (Depends-on): Add close.
65427         * modules/binary-io-tests (Depends-on): Likewise.
65428         * modules/closein-tests (Depends-on): Likewise.
65429         * modules/flock-tests (Depends-on): Likewise.
65430         * modules/fsync-tests (Depends-on): Likewise.
65431         * modules/lseek-tests (Depends-on): Likewise.
65432         * modules/pipe-tests (Depends-on): Likewise.
65433         * modules/posix_spawn-tests (Depends-on): Likewise.
65434         * modules/posix_spawnp-tests (Depends-on): Likewise.
65435         * modules/stat-time-tests (Depends-on): Likewise.
65436         * modules/yesno-tests (Depends-on): Likewise.
65438 2009-07-19  Bruno Haible  <bruno@clisp.org>
65440         Unify conditionals.
65441         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
65442         macros, not at the compiler macros.
65443         * lib/pipe.c: Likewise.
65444         * lib/execute.c: Likewise.
65445         * lib/spawni.c: Likewise.
65447 2009-07-19  Bruno Haible  <bruno@clisp.org>
65449         Fix handling of closed stdin/stdout/stderr on mingw.
65450         * lib/w32spawn.h: Include unistd.h.
65451         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
65452         file descriptor with O_NOINHERIT flag.
65453         (fd_safer_noinherit): New function, based on fd-safer.c.
65454         (dup_safer_noinherit): New function, based on dup-safer.c.
65455         (undup_safer_noinherit): New function.
65456         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
65457         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
65458         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
65459         instead of fd_safer.
65460         * tests/test-pipe.c: Include <windows.h>.
65461         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
65462         result.
65464         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
65465         from main.
65466         (test_pipe): Pass an extra argument for disambiguation.
65467         (main): Invoke parent_main or child_main.
65469         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
65470         consistently.
65472 2009-07-18  Eric Blake  <ebb9@byu.net>
65474         test-pipe: fix mingw build
65475         * tests/test-pipe.c (main): Avoid fcntl on mingw.
65477 2009-07-18  Bruno Haible  <bruno@clisp.org>
65479         * modules/pipe-tests (Makefile.am): Fix typo.
65481 2009-07-18  Eric Blake  <ebb9@byu.net>
65483         error: fix mingw build
65484         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
65485         Reported by Bruno Haible.
65487         error: avoid undefined use of stdout
65488         * lib/error.c (error, error_at_line): Check that fd 1 is open
65489         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
65490         is handling faults and the close_stdout module wants to report the
65491         detection of closed stdout as an error.
65493 2009-07-17  Eric Blake  <ebb9@byu.net>
65495         pipe: be robust in face of closed fds
65496         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
65497         should cause child to misbehave.
65498         * modules/pipe-tests: New module.
65499         * tests/test-pipe.c: New file.
65500         * tests/test-pipe.sh: New file.
65501         Reported by Akim Demaille.
65503 2009-07-14  Bruno Haible  <bruno@clisp.org>
65505         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
65506         Reported by anonymous kc.
65508 2009-07-07  Jim Meyering  <meyering@redhat.com>
65510         maint.mk: don't look for translatable strings in *.m4 or *.mk
65511         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
65512         when searching for translatable strings.
65514 2009-07-05  Jim Meyering  <meyering@redhat.com>
65516         remove superfluous parentheses in STREQ definition
65517         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
65518         * lib/getugroups.c (STREQ): Likewise.
65519         * lib/fnmatch.c (STREQ): Likewise.
65520         Spotted by Bruno Haible.
65522 2009-07-04  Jim Meyering  <meyering@redhat.com>
65524         argv-iter: new module
65525         * MODULES.html.sh: Add argv-iter.
65526         * lib/argv-iter.c, lib/argv-iter.h: New files.
65527         * modules/argv-iter: New file.
65528         * modules/argv-iter-tests: New file.
65529         * tests/test-argv-iter.c: Test it.
65531 2009-07-04  Bruno Haible  <bruno@clisp.org>
65533         Fix assertion.
65534         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
65535         contains more exact copies of a given entry than file2, leave the extra
65536         copies unpaired rather than aborting.
65537         Reported by Eric Blake.
65539 2009-07-02  Bruno Haible  <bruno@clisp.org>
65541         Speedup git-merge-changelog for git cherry-pick.
65542         * lib/git-merge-changelog.c (struct entries_mapping): New type.
65543         (entries_mapping_get): New function, extracted from compute_mapping.
65544         (entries_mapping_reverse_get): New function.
65545         (compute_mapping): Add a 'full' argument. Return the result in a
65546         'struct entries_mapping'.
65547         (main): Update. Access the mappings through entries_mapping_get.
65548         Reported by Eric Blake.
65550 2009-07-02  Bruno Haible  <bruno@clisp.org>
65552         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
65553         best_i.
65555 2009-07-02  Bruno Haible  <bruno@clisp.org>
65557         Speed up approximate search for matching ChangeLog entries.
65558         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
65559         argument. Call fstrcmp_bounded instead of fstrcmp.
65560         (compute_mapping, try_split_merged_entry, main): Update callers.
65562 2009-07-02  Bruno Haible  <bruno@clisp.org>
65564         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
65566 2009-06-30  Bruno Haible  <bruno@clisp.org>
65568         Reduce the number of uc_is_cased calls.
65569         * lib/unicase.h (casing_suffix_context_t): Add
65570         'first_char_except_ignorable' field.
65571         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
65572         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
65573         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
65574         Update initializer.
65575         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
65576         case-ignorable characters.
65577         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
65578         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
65579         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
65580         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
65581         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
65583 2009-06-30  Bruno Haible  <bruno@clisp.org>
65585         Tests for module 'unicase/ignorable'.
65586         * modules/unicase/ignorable-tests: New file.
65587         * tests/unicase/test-ignorable.c: New file, generated by
65588         gen-uni-tables.
65590         Tests for module 'unicase/cased'.
65591         * modules/unicase/cased-tests: New file.
65592         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
65593         * tests/unicase/test-predicate-part1.h: New file, derived from
65594         tests/unictype/test-predicate-part1.h.
65595         * tests/unicase/test-predicate-part2.h: New file, same as
65596         tests/unictype/test-predicate-part2.h.
65598         Fix evaluation of "Before C" condition of FINAL_SIGMA.
65599         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
65600         (output_casing_properties): New function.
65601         (main): Call it.
65602         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
65603         * lib/unicase/cased.c: Include unictype/bitmap.h.
65604         (uc_is_cased): Define through a bitmap lookup.
65605         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
65606         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
65607         (uc_is_case_ignorable): Define through a bitmap lookup.
65608         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
65609         lib/unictype/bitmap.h.
65610         (Depends-on): Add inline. Clean up.
65611         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
65612         lib/unictype/bitmap.h.
65613         (Depends-on): Add inline. Clean up.
65614         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
65615         recognition.
65616         * tests/unicase/test-u16-tolower.c (main): Likewise.
65617         * tests/unicase/test-u32-tolower.c (main): Likewise.
65619 2009-06-30  Bruno Haible  <bruno@clisp.org>
65621         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
65622         * lib/unicase/u16-casemap.c: Likewise.
65623         * lib/unicase/u32-casemap.c: Likewise.
65625 2009-06-29  Bruno Haible  <bruno@clisp.org>
65627         Define u32_casefold as a wrapper around u32_ct_casefold.
65628         * lib/unicase/u32-casefold.c: Update.
65629         * modules/unicase/u32-casefold (Depends-on): Add
65630         unicase/u32-ct-casefold, unicase/empty-prefix-context,
65631         unicase/empty-suffix-context. Clean up.
65633         Define u16_casefold as a wrapper around u16_ct_casefold.
65634         * lib/unicase/u16-casefold.c: Update.
65635         * modules/unicase/u16-casefold (Depends-on): Add
65636         unicase/u16-ct-casefold, unicase/empty-prefix-context,
65637         unicase/empty-suffix-context. Clean up.
65639         Define u8_casefold as a wrapper around u8_ct_casefold.
65640         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
65641         * lib/unicase/u8-casefold.c: Update.
65642         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
65643         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
65645         Define u32_totitle as a wrapper around u32_ct_totitle.
65646         * lib/unicase/u32-totitle.c: Update.
65647         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
65648         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
65650         Define u16_totitle as a wrapper around u16_ct_totitle.
65651         * lib/unicase/u16-totitle.c: Update.
65652         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
65653         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
65655         Define u8_totitle as a wrapper around u8_ct_totitle.
65656         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
65657         functions.
65658         (FUNC): Delegate to U_CT_TOTITLE.
65659         * lib/unicase/u8-totitle.c: Update.
65660         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
65661         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
65663         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
65664         invocation.
65665         * modules/unicase/u32-tolower (Depends-on): Add
65666         unicase/empty-prefix-context, unicase/empty-suffix-context.
65668         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
65669         invocation.
65670         * modules/unicase/u16-tolower (Depends-on): Add
65671         unicase/empty-prefix-context, unicase/empty-suffix-context.
65673         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
65674         * modules/unicase/u8-tolower (Depends-on): Add
65675         unicase/empty-prefix-context, unicase/empty-suffix-context.
65677         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
65678         invocation.
65679         * modules/unicase/u32-toupper (Depends-on): Add
65680         unicase/empty-prefix-context, unicase/empty-suffix-context.
65682         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
65683         invocation.
65684         * modules/unicase/u16-toupper (Depends-on): Add
65685         unicase/empty-prefix-context, unicase/empty-suffix-context.
65687         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
65688         * modules/unicase/u8-toupper (Depends-on): Add
65689         unicase/empty-prefix-context, unicase/empty-suffix-context.
65691         New module 'unicase/u32-ct-casefold'.
65692         * lib/unicase/u32-ct-casefold.c: New file.
65693         * modules/unicase/u32-ct-casefold: New file.
65695         New module 'unicase/u16-ct-casefold'.
65696         * lib/unicase/u16-ct-casefold.c: New file.
65697         * modules/unicase/u16-ct-casefold: New file.
65699         New module 'unicase/u8-ct-casefold'.
65700         * lib/unicase/u8-ct-casefold.c: New file.
65701         * lib/unicase/u-ct-casefold.h: New file, derived from
65702         lib/unicase/u-casefold.h.
65703         * modules/unicase/u8-ct-casefold: New file.
65705         New module 'unicase/u32-ct-totitle'.
65706         * lib/unicase/u32-ct-totitle.c: New file.
65707         * modules/unicase/u32-ct-totitle: New file.
65709         New module 'unicase/u16-ct-totitle'.
65710         * lib/unicase/u16-ct-totitle.c: New file.
65711         * modules/unicase/u16-ct-totitle: New file.
65713         New module 'unicase/u8-ct-totitle'.
65714         * lib/unicase/u8-ct-totitle.c: New file.
65715         * lib/unicase/u-ct-totitle.h: New file, derived from
65716         lib/unicase/u-totitle.h.
65717         * modules/unicase/u8-ct-totitle: New file.
65719         New module 'unicase/u32-ct-tolower'.
65720         * lib/unicase/u32-ct-tolower.c: New file.
65721         * modules/unicase/u32-ct-tolower: New file.
65723         New module 'unicase/u16-ct-tolower'.
65724         * lib/unicase/u16-ct-tolower.c: New file.
65725         * modules/unicase/u16-ct-tolower: New file.
65727         New module 'unicase/u8-ct-tolower'.
65728         * lib/unicase/u8-ct-tolower.c: New file.
65729         * modules/unicase/u8-ct-tolower: New file.
65731         New module 'unicase/u32-ct-toupper'.
65732         * lib/unicase/u32-ct-toupper.c: New file.
65733         * modules/unicase/u32-ct-toupper: New file.
65735         New module 'unicase/u16-ct-toupper'.
65736         * lib/unicase/u16-ct-toupper.c: New file.
65737         * modules/unicase/u16-ct-toupper: New file.
65739         New module 'unicase/u8-ct-toupper'.
65740         * lib/unicase/u8-ct-toupper.c: New file.
65741         * modules/unicase/u8-ct-toupper: New file.
65743         Add context arguments to u*_casemap functions.
65744         * lib/unicase/unicasemap.h: Include unicase.h.
65745         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
65746         suffix_context arguments.
65747         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
65748         functions.
65749         (FUNC): Add prefix_context and suffix_context arguments. Use
65750         uc_is_cased and uc_is_case_ignorable.
65751         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
65752         * lib/unicase/u16-casemap.c: Likewise.
65753         * lib/unicase/u32-casemap.c: Likewise.
65754         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
65755         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
65756         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
65757         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
65758         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
65759         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
65761         New module 'unicase/u32-suffix-context'.
65762         * lib/unicase/u32-suffix-context.c: New file.
65763         * modules/unicase/u32-suffix-context: New file.
65765         New module 'unicase/u16-suffix-context'.
65766         * lib/unicase/u16-suffix-context.c: New file.
65767         * modules/unicase/u16-suffix-context: New file.
65769         New module 'unicase/u8-suffix-context'.
65770         * lib/unicase/u8-suffix-context.c: New file.
65771         * lib/unicase/u-suffix-context.h: New file.
65772         * modules/unicase/u8-suffix-context: New file.
65774         New module 'unicase/empty-suffix-context'.
65775         * lib/unicase/empty-suffix-context.c: New file.
65776         * modules/unicase/empty-suffix-context: New file.
65778         New module 'unicase/u32-prefix-context'.
65779         * lib/unicase/u32-prefix-context.c: New file.
65780         * modules/unicase/u32-prefix-context: New file.
65782         New module 'unicase/u16-prefix-context'.
65783         * lib/unicase/u16-prefix-context.c: New file.
65784         * modules/unicase/u16-prefix-context: New file.
65786         New module 'unicase/u8-prefix-context'.
65787         * lib/unicase/u8-prefix-context.c: New file.
65788         * lib/unicase/u-prefix-context.h: New file.
65789         * lib/unicase/context.h: New file.
65790         * modules/unicase/u8-prefix-context: New file.
65792         New module 'unicase/empty-prefix-context'.
65793         * lib/unicase/empty-prefix-context.c: New file.
65794         * modules/unicase/empty-prefix-context: New file.
65796         New module 'unicase/ignorable'.
65797         * lib/unicase/ignorable.c: New file.
65798         * modules/unicase/ignorable: New file.
65800         New module 'unicase/cased'.
65801         * lib/unicase/caseprop.h: New file.
65802         * lib/unicase/cased.c: New file.
65803         * modules/unicase/cased: New file.
65805         New functions for case mapping of substrings.
65806         * lib/unicase.h (casing_prefix_context_t): New type.
65807         (unicase_empty_prefix_context): New variable.
65808         (u8_casing_prefix_context, u16_casing_prefix_context,
65809         u32_casing_prefix_context, u8_casing_prefixes_context,
65810         u16_casing_prefixes_context, u32_casing_prefixes_context): New
65811         declarations.
65812         (casing_suffix_context_t): New type.
65813         (unicase_empty_suffix_context): New variable.
65814         (u8_casing_suffix_context, u16_casing_suffix_context,
65815         u32_casing_suffix_context, u8_casing_suffixes_context,
65816         u16_casing_suffixes_context, u32_casing_suffixes_context,
65817         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
65818         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
65819         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
65820         declarations.
65822 2009-06-28  Jim Meyering  <meyering@redhat.com>
65824         boostrap: indent only with spaces
65825         * build-aux/bootstrap: Indent only with spaces, never TABs.
65827         bootstrap: split long lines
65828         * build-aux/bootstrap: Keep line length < 80.
65830         bootstrap: sync from coreutils
65831         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
65832         just as autoreconf does.  Verify a list of prerequisite
65833         package-name,version-number pairs if defined in bootstrap.conf.
65834         Refer to README-prereq, if prerequisites are not satisfied.
65836 2009-06-27  Eric Blake  <ebb9@byu.net>
65838         tests: add test for bogus NULL definition
65839         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
65840         * tests/test-stdlib.c: Likewise.
65841         * tests/test-string.c: Likewise.
65842         * tests/test-locale.c: Likewise.
65843         * tests/test-unistd.c: Likewise.
65844         * modules/stdio-tests (Depends-on): Add verify.
65845         * modules/stdlib-tests (Depends-on): Likewise.
65846         * modules/string-tests (Depends-on): Likewise.
65847         * modules/locale-tests (Depends-on): Likewise.
65848         * modules/unistd-tests (Depends-on): Likewise.
65850 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
65852         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
65853         self-explaining comment.
65854         * m4/selinux-selinux-h: Update serial.
65855         (gl_LIBSELINUX): New macro, adding a warning for missing development
65856         packages to code extracted from...
65857         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
65858         Add warning for missing development packages here, too.
65860 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
65862         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
65864 2009-06-25  Eric Blake  <ebb9@byu.net>
65866         version-etc: fix regression
65867         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
65868         gcc.
65869         (version_etc): Use it, to catch bugs with trailing NULL.
65870         * lib/version-etc.c (version_etc_arn): Delete unused argument.
65871         (version_etc_va): Fix logic bug.
65872         * modules/version-etc-tests: Add test.
65873         * tests/test-version-etc.c: New file.
65874         * tests/test-version-etc.sh: Likewise.
65876 2009-06-25  Sam Steingold  <sds@gnu.org>
65878         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
65879         mbtowc declaration.
65881 2009-06-25  Eric Blake  <ebb9@byu.net>
65883         fpurge: migrate into <stdio.h>
65884         * lib/fpurge.h: Delete...
65885         * lib/stdio.in.h (fpurge): ...and declare here, instead.
65886         * lib/fpurge.c (fpurge): Change declaring header.
65887         * modules/fpurge (Files): Drop deleted file.
65888         (Depends-on): Add stdio.
65889         (configure.ac): Set witness.
65890         * modules/stdio (Makefile.am): Support fpurge macros.
65891         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
65892         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
65893         * lib/fflush.c: Update client.
65894         * tests/test-fpurge.c: Likewise.
65895         * NEWS: Mention the change.
65897 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
65899         * lib/argp-version-etc.c (program_authors): Add const
65900         qualifier.
65901         * lib/version-etc.c: Fix typos in the comments.
65902         * modules/argp-version-etc: Depends on version-etc.
65904 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
65906         argp-version-etc: new module.
65908         * lib/argp-version-etc.c: New file.
65909         * lib/argp-version-etc.h: New file.
65910         * modules/argp-version-etc: New file.
65911         * modules/argp-version-etc-tests: New file.
65912         * tests/test-argp-version-etc.c: New test.
65913         * tests/test-argp-version-etc-1.sh: New test.
65915 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
65917         Provide additional interfaces and documentation for version-etc
65918         module.
65920         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
65921         interfaces.
65922         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
65923         prototypes.
65925 2009-06-24  Bruno Haible  <bruno@clisp.org>
65927         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
65928         HAVE_LIB${NAME} macro.
65929         Reported by Sam Steingold <sds@gnu.org>.
65931 2009-06-23  Simon Josefsson  <simon@josefsson.org>
65933         * modules/hash-tests (test_hash_LDADD): Link to libintl when
65934         needed.
65936 2009-06-21  Bruno Haible  <bruno@clisp.org>
65938         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
65939         work.
65940         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
65941         together with LIB${NAME}, LTLIB${NAME}.
65942         Reported by Sam Steingold <sds@gnu.org>.
65944 2009-06-20  Jim Meyering  <meyering@redhat.com>
65946         tests: make sc_require_test_exit_idiom more generic
65947         * top/maint.mk (Exit_witness_file): New overridable variable.
65948         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
65949         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
65951 2009-06-19  Jim Meyering  <meyering@redhat.com>
65953         hash: reverse order of src/dst parameters in an internal interface
65954         * lib/hash.c (transfer_entries): Reverse order of parameters to
65955         put DST before SRC.  Adjust callers.
65957         tests: test-hash: avoid wholesale duplication
65958         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
65959         Instead, use a loop and add a single conditional.
65961         tests: test-hash: allow seed selection via a command line argument
65962         * tests/test-hash.c (get_seed): New function.
65963         (main): Use it.
65965 2009-06-19  Eric Blake  <ebb9@byu.net>
65967         hash: avoid memory leak on allocation failure
65968         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
65969         failure.  Factor repeated algorithm...
65970         (transfer_entries): ...into new helper routine.
65971         (hash_delete): React to hash_rehash return value.
65973         hash: reduce memory pressure in hash_rehash no-op case
65974         * lib/hash.c (next_prime): Avoid overflow.
65975         (hash_initialize): Factor bucket size computation...
65976         (compute_bucket_size): ...into new helper function.
65977         (hash_rehash): Use new function and open coding to reduce memory
65978         pressure, and avoid a memory leak in USE_OBSTACK code.
65979         Reported by Jim Meyering.
65981 2009-06-18  Eric Blake  <ebb9@byu.net>
65983         hash: make rotation more obvious
65984         * modules/hash (Depends-on): Add bitrotate and stdint.
65985         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
65986         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
65987         (SIZE_MAX): Rely on headers for definition.
65988         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
65989         (raw_hasher): Use rotr_sz.
65990         Suggested by Jim Meyering.
65992         hash: fix memory leak in last patch
65993         * lib/hash.c (hash_rehash): Avoid memory leak.
65995         hash: avoid no-op rehashing
65996         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
65998         hash: provide default callback functions
65999         * lib/hash.c (raw_hasher, raw_comparator): New functions.
66000         (hash_initialize): Use them as defaults.
66001         * tests/test-hash.c (main): Test this.
66003         hash: minor optimization
66004         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
66005         when possible.
66006         (hash_initialize): Document this promise.
66007         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
66008         * tests/test-hash.c (hash_compare_strings): Test this.
66010 2009-06-18  Bruno Haible  <bruno@clisp.org>
66012         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
66013         going to be replaced anyway.
66015 2009-06-18  Bruno Haible  <bruno@clisp.org>
66017         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
66018         in one place.
66019         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
66020         be replaced anyway.
66022 2009-06-18  Eric Blake  <ebb9@byu.net>
66024         hash: check for resize before insertion
66025         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
66026         threshold before insertion, so that a pathological hash_rehash
66027         that fills every bucket can still trigger another rehash.
66029 2009-06-18  Jim Meyering  <meyering@redhat.com>
66031         hash-tests: add a loop around the small tests
66032         * tests/test-hash.c (main): Repeat small tests with selected
66033         small initial table sizes.
66035 2009-06-17  Eric Blake  <ebb9@byu.net>
66037         hash: minor cleanups
66038         * lib/hash.h (hash_entry): Make opaque, by moving...
66039         * lib/hash.c (hash_entry): ...here.
66040         (hash_insert): Clarify restrictions on what can be inserted.
66041         (hash_get_next): Clarify when it is safe to remove an element
66042         during traversal.
66043         (check_tuning): Skip verification when tuning is known safe.
66044         (hash_initialize): Clarify restrictions on tuning.
66046 2009-06-17  Jim Meyering  <jim@meyering.net>
66047         and Eric Blake  <ebb9@byu.net>
66049         hash-tests: new module
66050         * modules/hash-tests: New file.
66051         * tests/test-hash.c: New file.
66053 2009-06-17  Eric Blake  <ebb9@byu.net>
66055         strstr-simple: document new module
66056         * MODULES.html.sh: Document new module.
66058         strstr, strcasestr: replace on platforms with broken memchr
66059         * modules/strstr: Split into...
66060         * modules/strstr-simple: ...new module that does not care about
66061         performance, but does care about glibc bug.
66062         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
66063         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
66064         if platform memchr is broken, per Debian bug 521737.
66065         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
66066         memchr.
66067         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
66068         * doc/posix-functions/strstr.texi (strstr): Document the fix.
66069         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
66070         * modules/mountlist (Depends-on): Add strstr-simple.
66071         * modules/gen-uni-tables (Depends-on): Likewise.
66072         * modules/argz (Depends-on): Add strstr.
66074 2009-06-17  Bruno Haible  <bruno@clisp.org>
66076         * modules/posix_spawn-internal (Depends-on): Add errno.
66078 2009-06-17  Bruno Haible  <bruno@clisp.org>
66080         Define missing ESTALE on Interix 3.5.
66081         * lib/errno.in.h (ESTALE): Assign a value if missing.
66082         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
66083         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
66084         missing.
66085         * doc/posix-headers/errno.texi: Mention the Interix bug.
66086         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
66088 2009-06-15  Eric Blake  <ebb9@byu.net>
66090         memchr, memchr2: add valgrind exception
66091         * lib/memchr.valgrind: New file.
66092         * lib/memchr2.valgrind: New file.
66093         * modules/memchr (Files): Distribute valgrind file.
66094         * modules/memchr2 (Files): Likewise.
66096         docs: memchr is no longer obsolete
66097         * MODULES.html.sh: Move memchr from obsolete to string.h section.
66098         * lib/string.in.h (memchr): Simplify logic.
66100 2009-06-14  Jim Meyering  <meyering@redhat.com>
66102         link-follow: fix the "checking..." message to not mention trailing slash
66103         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
66104         never considered trailing slashes.
66106 2009-06-14  Bruno Haible  <bruno@clisp.org>
66108         * m4/memchr.m4: Mention also the bug on IA-64.
66109         * doc/posix-functions/memchr.texi: Likewise.
66111 2009-06-12  Eric Blake  <ebb9@byu.net>
66113         memchr: detect broken x86_64 and alpha implementations
66114         * modules/memchr-tests (Depends-on): Move mmap detection...
66115         * modules/memchr (Depends-on): ...here.
66116         (configure.ac): Set indicator.
66117         * lib/string.in.h (memchr): Declare replacement.
66118         * modules/string (Makefile.am): Trigger replacement.
66119         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
66120         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
66121         bugs.
66122         * doc/posix-functions/memchr.texi (memchr): Document the bug.
66123         * modules/getpagesize (License): Relax license.
66125 2009-06-11  Bruno Haible  <bruno@clisp.org>
66127         * lib/idpriv.h: Add more references.
66129 2009-06-08  Bruno Haible  <bruno@clisp.org>
66131         Tests for module 'idpriv-droptemp'.
66132         * modules/idpriv-droptemp-tests: New file.
66133         * tests/test-idpriv-droptemp.sh: New file.
66134         * tests/test-idpriv-droptemp.su.sh: New file.
66135         * tests/test-idpriv-droptemp.c: New file.
66137         New module 'idpriv-droptemp'.
66138         * lib/idpriv-droptemp.c: New file.
66139         * modules/idpriv-droptemp: New file.
66141 2009-06-08  Bruno Haible  <bruno@clisp.org>
66143         Tests for module 'idpriv-drop'.
66144         * modules/idpriv-drop-tests: New file.
66145         * tests/test-idpriv-drop.sh: New file.
66146         * tests/test-idpriv-drop.su.sh: New file.
66147         * tests/test-idpriv-drop.c: New file.
66149         New module 'idpriv-drop'.
66150         * lib/idpriv.h: New file.
66151         * lib-idpriv-drop.c: New file.
66152         * m4/idpriv.m4: New file.
66153         * modules/idpriv-drop: New file.
66155 2009-06-08  Bruno Haible  <bruno@clisp.org>
66157         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
66158         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
66159         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
66160         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
66161         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
66162         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
66163         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
66165 2009-06-08  Eric Blake  <ebb9@byu.net>
66167         test-strstr: use memory fence, when possible
66168         * tests/test-strstr.c (main): Use memory fence, in order to be
66169         more likely to trigger Debian bug 521737.
66170         * modules/strstr-tests (Files): Pull in additional files.
66172         memchr: no longer obsolete, for wider field testing
66173         * modules/memchr (Status, Notice): Delete, this module is no
66174         longer obsolete.
66175         * modules/vasnprintf (Depends-on): Add memchr.
66177 2009-06-07  Jim Meyering  <meyering@redhat.com>
66179         hash: declare some functions with the warn_unused_result attribute
66180         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
66182 2009-06-07  Bruno Haible  <bruno@clisp.org>
66184         * tests/test-alignof.c: Don't test int64_t if it does not exist.
66185         Reported by Eric Blake.
66187 2009-06-06  Eric Blake  <ebb9@byu.net>
66189         test-alignof: fix typo with long double
66190         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
66191         compiler error.
66193 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
66195         Escape non-texinfo { and }s.
66196         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
66197         markup error.
66199 2009-06-04  Jim Meyering  <meyering@redhat.com>
66201         gitlog-to-changelog: don't infloop on an empty commit log
66202         * build-aux/gitlog-to-changelog: Warn about an empty log message.
66203         Reported by Boris Petersen <transacid@centerim.org>.
66205 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
66207         version-etc: extend for packagers
66208         Add three new configure options, intended for packagers:
66209           --with-packager="packager name"
66210           --with-packager-version="packager-specific version"
66211           --with-packager-bug-reports="packager bug reporting"
66212         An example with coreutils:
66213           $ ./configure \
66214             --with-packager=Gentoo \
66215             --with-packager-bug-report=http://bugs.gentoo.org/ \
66216             --with-packager-version="patchset 1.6"
66217           $ ./src/ls --version | head -n2
66218           ls (GNU coreutils) 7.1-dirty
66219           Packaged by Gentoo (patchset 1.6)
66220         Note that the bug reporting info via --help doesn't show up because
66221         coreutils uses its own custom emit_bug_reporting_address() implementation
66222         in src/system.h.  If it didn't, it'd look like:
66223           $ ./src/ls --help | tail -n4
66224           Report bugs to <bug-coreutils@gnu.org>.
66225           Report Gentoo bugs to <http://bugs.gentoo.org/>.
66226           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
66227           General help using GNU software: <http://www.gnu.org/gethelp/>.
66228         * lib/version-etc.c: Print new information, if provided.
66229         * m4/version-etc.m4: New file.
66230         * modules/version-etc (Files): Add m4/version-etc.m4.
66231         (configure.ac): Add gl_VERSION_ETC.
66233 2009-05-31  Bruno Haible  <bruno@clisp.org>
66235         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
66236         and 'int64_t'.
66237         * modules/alignof-tests (Dependencies): Add stdint.
66238         Reported by Eric Blake.
66240 2009-05-31  Bruno Haible  <bruno@clisp.org>
66242         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
66243         restriction due to compiler bugs.
66244         Reported by Eric Blake.
66246 2009-05-31  Simon Josefsson  <simon@josefsson.org>
66247             Bruno Haible  <bruno@clisp.org>
66249         Fix test-alignof failure.
66250         * lib/alignof.h (alignof_slot): New macro.
66251         (alignof_type): New macro, with the same semantics as the previous
66252         'alignof'.
66253         (alignof): Alias to alignof_slot.
66254         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
66255         check that the results are usable as constant expressions.
66257 2009-05-31  Bruno Haible  <bruno@clisp.org>
66259         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
66260         * tests/test-memchr.c (main): Check that memchr does not read past the
66261         first occurrence of the byte.
66262         * tests/test-strstr.c (main): Update comment.
66263         Suggested by Eric Blake.
66265 2009-05-30  Bruno Haible  <bruno@clisp.org>
66267         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
66268         detail how to use dumpbin.
66269         Reported by David Byron <dbyron@dbyron.com>.
66271 2009-06-02  Simon Josefsson  <simon@josefsson.org>
66273         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
66275 2009-06-02  Simon Josefsson  <simon@josefsson.org>
66277         * m4/manywarnings.m4: Add GCC 4.4 warnings.
66279 2009-05-28  Bruno Haible  <bruno@clisp.org>
66281         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
66282         build-aux/ files.
66284 2009-05-28  Simon Josefsson  <simon@josefsson.org>
66286         * gnulib-tool (func_import): Transform license on build-aux/ files too.
66288 2009-05-27  Simon Josefsson  <simon@josefsson.org>
66290         * gnulib-tool (sed_transform_main_lib_file)
66291         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
66292         regexps.
66294 2009-05-26  Simon Josefsson  <simon@josefsson.org>
66296         * tests/test-strstr.c: Add another self-test.
66297         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
66298         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
66300 2009-05-23  Bruno Haible  <bruno@clisp.org>
66302         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
66303         change.
66305 2009-05-21  Bruno Haible  <bruno@clisp.org>
66307         Simplify use of mode_t varargs.
66308         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
66309         uses 'mode_t' or 'int'.
66310         * lib/openat.c (openat): Likewise.
66311         * lib/open-safer.c (open_safer): Likewise.
66312         * m4/mode_t.m4: New file.
66313         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
66314         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
66315         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
66316         * modules/open (Files): Add m4/mode_t.m4.
66317         * modules/openat (Files): Likewise.
66318         * modules/fcntl-safer (Files): Likewise.
66319         Suggested by Eric Blake.
66321 2009-05-21  Pádraig Brady  <P@draigbrady.com>
66323         * doc/glibc-functions/fallocate.texi: New file.
66324         * doc/gnulib.texi: Include it.
66326 2009-05-21  Eric Blake  <ebb9@byu.net>
66327             Bruno Haible  <bruno@clisp.org>
66329         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
66330         invocations.
66331         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
66333 2009-05-21  Eric Blake  <ebb9@byu.net>
66334             Bruno Haible  <bruno@clisp.org>
66336         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
66337         include_next. Fix of 2008-11-20 commit.
66338         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
66339         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
66340         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
66341         NEXT_MATH_H.
66342         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
66343         instead of NEXT_MATH_H.
66345 2009-05-21  Bruno Haible  <bruno@clisp.org>
66347         Avoid redefinition warnings for SIZE_MAX.
66348         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
66349         Reported by Simon Josefsson.
66351 2009-05-21  Bruno Haible  <bruno@clisp.org>
66353         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
66354         AC_CACHE_VAL.
66356 2009-05-20  Bruno Haible  <bruno@clisp.org>
66358         Make zeroptr.h work on mingw.
66359         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
66360         mprotect.
66361         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
66362         * modules/memchr2-tests (configure.ac): Likewise.
66363         * modules/memcmp-tests (configure.ac): Likewise.
66364         * modules/memmem-tests (configure.ac): Likewise.
66365         * modules/memrchr-tests (configure.ac): Likewise.
66366         Reported by Simon Josefsson.
66368 2009-05-20  Simon Josefsson  <simon@josefsson.org>
66370         * tests/test-glob.c: Include string.h for strcmp prototype.
66372 2009-05-20  Simon Josefsson  <simon@josefsson.org>
66374         * modules/getdelim (Depends-on): Add explicit stdint, although it
66375         was implicitly already pulled in via realloc-posix.
66376         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
66378 2009-05-20  Simon Josefsson  <simon@josefsson.org>
66380         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
66381         G. Christensen" <tgc@jupiterrise.com>.
66382         * m4/sys_socket_h.m4: Check for sa_family_t.
66383         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
66384         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
66385         * tests/test-sys_socket.c: Check that sa_family_t works.
66387 2009-05-18  Eric Blake  <ebb9@byu.net>
66389         maint.mk: allow gnulib_dir in VPATH build
66390         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
66392 2009-05-15  Jim Meyering  <meyering@redhat.com>
66394         maint.mk: Give gnulib_dir a default definition.
66395         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
66396         Thus, most packages no longer need to specify this variable in cfg.mk
66398 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
66400         rename.m4: fix typos that would make non-mingw cross-configure fail
66401         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
66403 2009-05-13  Eric Blake  <ebb9@byu.net>
66405         mmap-anon: avoid out-of-order autoconf expansion
66406         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
66407         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
66408         * modules/memchr-tests (Depends-on): Add extensions.
66409         * modules/memchr2-tests (Depends-on): Add extensions.
66410         * modules/memcmp-tests (Depends-on): Add extensions.
66411         * modules/memmem-tests (Depends-on): Add extensions.
66412         * modules/memrchr-tests (Depends-on): Add extensions.
66414 2009-05-13  Bruno Haible  <bruno@clisp.org>
66416         Make some tests ISO C 99 compliant.
66417         * tests/zerosize-ptr.h: New file.
66418         * tests/test-memchr.c: Include zerosize-ptr.h.
66419         (main): Use a zero-size object pointer instead of NULL.
66420         * tests/test-memchr2.c: Include zerosize-ptr.h.
66421         (main): Use a zero-size object pointer instead of NULL.
66422         * tests/test-memcmp.c: Include zerosize-ptr.h.
66423         (main): Use a zero-size object pointer instead of NULL.
66424         * tests/test-memmem.c: Include zerosize-ptr.h.
66425         (main): Use a zero-size object pointer instead of NULL.
66426         * tests/test-memrchr.c: Include zerosize-ptr.h.
66427         (main): Use a zero-size object pointer instead of NULL.
66428         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
66429         m4/mmap-anon.m4.
66430         (Depends-on): Add getpagesize.
66431         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66432         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
66433         m4/mmap-anon.m4.
66434         (Depends-on): Add getpagesize.
66435         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66436         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
66437         m4/mmap-anon.m4.
66438         (Depends-on): Add getpagesize.
66439         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66440         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
66441         m4/mmap-anon.m4.
66442         (Depends-on): Add getpagesize.
66443         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66444         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
66445         m4/mmap-anon.m4.
66446         (Depends-on): Add getpagesize.
66447         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66449 2009-05-12  Bruno Haible  <bruno@clisp.org>
66451         Tests for module 'alignof'.
66452         * modules/alignof-tests: New file.
66453         * tests/test-alignof.c: New file.
66455 2009-05-12  Bruno Haible  <bruno@clisp.org>
66457         Fix alignof macro.
66458         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
66459         vendor compilers that are always correct.
66461 2009-05-12  Bruno Haible  <bruno@clisp.org>
66463         Make the MAP_ANONYMOUS detection work on HP-UX 11.
66464         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
66465         not whether its fully works.
66467 2009-05-12  Bruno Haible  <bruno@clisp.org>
66469         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
66471 2009-05-12  Jim Meyering  <meyering@redhat.com>
66473         * top/maint.mk: Adjust backslash alignment.
66475 2009-05-11  Simon Josefsson  <simon@josefsson.org>
66477         * top/maint.mk: Make $(srcdir)/build-aux configurable.
66479 2009-05-11  Eric Blake  <ebb9@byu.net>
66481         argp: avoid undefined behavior
66482         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
66483         macros.
66485 2009-05-08  Simon Josefsson  <simon@josefsson.org>
66487         * tests/test-vc-list-files-git.sh: Do git config of user.email and
66488         user.name to prevent git commit from complaining.
66490 2009-05-10  Bruno Haible  <bruno@clisp.org>
66492         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
66493         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
66494         it rewrites every file name only once.
66495         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
66497 2009-05-08  Bruno Haible  <bruno@clisp.org>
66499         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
66500         instead of 'max'.
66502 2009-05-08  Simon Josefsson  <simon@josefsson.org>
66504         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
66505         sockaddr_storage test.
66507 2009-05-07  Simon Josefsson  <simon@josefsson.org>
66509         * modules/sys_socket (Makefile.am): Substitute
66510         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
66511         * m4/sys_socket_h.m4: Check for sockaddr_storage.
66512         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
66513         * tests/test-sys_socket.c: Check sockaddr_storage.
66515 2009-05-08  Bruno Haible  <bruno@clisp.org>
66517         New module 'alignof'.
66518         * lib/alignof.h: New file.
66519         * modules/alignof: New file.
66521 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
66522             Bruno Haible  <bruno@clisp.org>
66524         Fix test-file-has-acl on FreeBSD.
66525         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
66526         mask is implicitly added.
66527         * tests/test-file-has-acl.c: Include <signal.h>.
66528         (main): Terminate the test after 5 seconds.
66529         * modules/acl-tests (configure.ac): Check for alarm function.
66531 2009-05-04  Bruno Haible  <bruno@clisp.org>
66533         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
66534         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
66535         * modules/errno (configure.ac): Drop AC_REQUIRE.
66536         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
66537         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
66539 2009-05-04  Simon Josefsson  <simon@josefsson.org>
66541         * modules/glob-tests: New module.
66542         * tests/test-glob.c: Add.
66544 2009-05-04  Simon Josefsson  <simon@josefsson.org>
66546         * modules/fnmatch-tests: New module.
66547         * tests/test-fnmatch.c: Add.
66549 2009-05-04  Eric Blake  <ebb9@byu.net>
66551         maint: make the new no-submodule-changes rule VPATH-safe
66552         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
66554 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
66555             Bruno Haible  <bruno@clisp.org>
66557         acl: Fix infinite loop on FreeBSD.
66558         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
66559         of return value from acl_get_entry.
66560         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
66561         Likewise.
66563 2009-05-03  Bruno Haible  <bruno@clisp.org>
66565         * lib/acl-internal.h (acl_entries): Clarify return value.
66566         * lib/acl_entries.c (acl_entries): Likewise.
66568 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
66570         Bug fix in acl module.
66571         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
66573 2009-05-03  Bruno Haible  <bruno@clisp.org>
66575         Create gperf-generated file in the source dir, not in the build dir.
66576         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
66577         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
66578         * modules/unicase/locale-language (unicase/locale-languages.h):
66579         Likewise.
66580         * modules/unicase/special-casing (unicase/special-casing-table.h):
66581         Likewise.
66582         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
66583         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
66584         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
66585         Reported by Ralf Wildenhues.
66587 2009-05-03  Bruno Haible  <bruno@clisp.org>
66589         * modules/fnmatch (Description, configure.ac): Taken from
66590         fnmatch-posix.
66591         * modules/fnmatch-posix: Turn into a symbolic reference to the
66592         'fnmatch' module, and deprecate.
66593         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
66595 2009-05-03  Bruno Haible  <bruno@clisp.org>
66597         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
66598         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
66599         Reported by Ralf Wildenhues.
66601 2009-05-04  Simon Josefsson  <simon@josefsson.org>
66603         * m4/fnmatch.m4: Fix fnmatch re-define.
66605 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
66607         priv-set: new module and tests; adapt write-any-file
66608         * lib/priv-set.c: New file.
66609         * lib/priv-set.h: New file.
66610         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
66611         * lib/write-any-file.c: Simplify by using priv-set module.
66612         * m4/priv-set.m4: New file.
66613         * modules/priv-set: New file.
66614         * modules/unlinkdir: Add dependency on priv-set module.
66615         * modules/write-any-file: Likewise.
66617         Tests for module 'priv-set'.
66618         * modules/priv-set-tests: New file.
66619         * tests/test-priv-set.c: New file.
66621 2009-05-03  Jim Meyering  <meyering@redhat.com>
66622             Bruno Haible  <bruno@clisp.org>
66624         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
66625         use the converted UTF-8 variant of the name instead.
66627 2009-05-03  Jim Meyering  <meyering@redhat.com>
66629         tests: tighten some getdate tests
66630         * tests/test-getdate.c (main): Tighten tests: require equality,
66631         not just greater than.  Set TZ envvar to UTC0.
66633 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
66635         getdate: correctly interpret "next monday" when run on a Monday
66636         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
66637         that e.g., "next tues" (when run on a tuesday) results in a date
66638         that is one week in the future, and not today's date.
66639         I.e., add a week when the wday is the same as the current one.
66640         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
66641         and earlier by Martin Bernreuther and Jan Minář.
66642         * tests/test-getdate.c (main): Check that "next DAY" is always in
66643         the future and that "last DAY" is always in the past.
66645 2009-05-02  Jim Meyering  <meyering@redhat.com>
66647         build: ensure that a release build fails when a submodule is unclean
66648         * top/maint.mk (no-submodule-changes): New rule.
66649         (alpha beta major): Depend on it.
66651 2009-05-02  Bruno Haible  <bruno@clisp.org>
66653         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
66654         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
66655         shell variable gl_fnmatch_required to detect which variant is
66656         requested.
66657         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
66658         gl_FUNC_FNMATCH_POSIX.
66659         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
66660         exclude fnmatch-posix.
66662 2009-05-02  Bruno Haible  <bruno@clisp.org>
66664         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
66665         * modules/mbsrtowcs (License): Change to LGPLv2+.
66666         * modules/strnlen1 (License): Likewise.
66667         Reported by Simon Josefsson.
66669 2009-05-02  Bruno Haible  <bruno@clisp.org>
66671         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
66672         "cross".
66673         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
66674         gnulib-tool was called with option --source-base=lib.
66676 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66678         Use automake *-local hooks without commands, for extensibility.
66679         * modules/localcharset (Makefile.am): Rename install-exec-local
66680         rule to install-exec-localcharset, and make it a prerequisite of
66681         install-exec-local.  Likewise, rename the uninstall-local rule to
66682         uninstall-localcharset, and make it a prerequisite of the former.
66684 2009-05-01  Bruno Haible  <bruno@clisp.org>
66686         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
66687         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
66688         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
66689         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
66690         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
66691         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
66692         m4/locale-zh.m4, m4/codeset.m4.
66694         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
66695         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
66696         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
66697         m4/locale-zh.m4.
66699         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
66700         REPLACE_WCRTOMB if mbstate_t must be replaced.
66701         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
66702         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
66704 2009-05-01  Bruno Haible  <bruno@clisp.org>
66706         Avoid compiler warnings when redefining macros defined by <libintl.h>.
66707         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
66708         dngettext, dcngettext, textdomain, bindtextdomain,
66709         bind_textdomain_codeset): Undefine before redefining.
66711 2009-04-30  Bruno Haible  <bruno@clisp.org>
66713         Fix bug introduced on 2009-04-25.
66714         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
66715         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
66716         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
66717         is defined.
66718         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
66719         is defined.
66720         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
66721         is defined.
66722         Reported by Elbert_Pol <elbert.pol@gmail.com>.
66724 2009-04-28  Bruno Haible  <bruno@clisp.org>
66726         Comment tweaks.
66727         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
66728         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
66729         * lib/unicase.h (u*_casexfrm): Likewise.
66730         Reported by Paolo Bonzini.
66732 2009-04-28  Bruno Haible  <bruno@clisp.org>
66734         Fix a compilation error.
66735         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
66736         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
66737         Reported by Jim Meyering.
66739 2009-04-27  Bruno Haible  <bruno@clisp.org>
66741         New module 'libunistring'.
66742         * modules/libunistring: New file.
66743         * m4/libunistring.m4: New file.
66744         * MODULES.html.sh (Unicode string functions): Add it.
66746 2009-04-27  Eric Blake  <ebb9@byu.net>
66748         maint.mk: allow package-specific header to provide <config.h>
66749         * top/maint.mk (sc_require_config_h): New variable.
66750         (sc_require_config_h, sc_require_config_h_first): Use it.
66752 2009-04-27  Simon Josefsson  <simon@josefsson.org>
66754         * top/maint.mk (sc_avoid_if_before_free): Except
66755         useless-if-before-free script.
66757 2009-04-27  Eric Blake  <ebb9@byu.net>
66759         maintainer-makefile: depend on all required helper scripts
66760         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
66761         useless-if-before-free.
66762         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
66763         version, rather than assuming gnulib checkout is available.
66764         Reported by Simen Josefsson.
66766 2009-04-26  Bruno Haible  <bruno@clisp.org>
66768         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
66769         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
66770         "../" or "..".
66772 2009-04-26  Bruno Haible  <bruno@clisp.org>
66774         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
66775         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
66776         AC_LIB_HAVE_LINKFLAGS.
66778 2009-04-26  Bruno Haible  <bruno@clisp.org>
66780         Simplify calling convention of u*_conv_from_encoding.
66781         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
66782         u32_conv_from_encoding): Expect a resultbuf argument and return the
66783         result directly as a pointer.
66784         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
66785         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
66786         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
66787         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
66788         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
66789         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
66790         Update.
66791         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
66792         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
66793         * lib/vasnprintf.c (VASNPRINTF): Update.
66794         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
66795         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
66796         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
66797         * NEWS: Mention the change.
66799 2009-04-26  Bruno Haible  <bruno@clisp.org>
66801         Simplify calling convention of u*_conv_to_encoding.
66802         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
66803         u32_conv_to_encoding): Expect a resultbuf argument and return the
66804         result directly as a pointer.
66805         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
66806         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
66807         freeing scaled_offsets if mem_iconveha failed.
66808         * lib/unicase/u-casexfrm.h (FUNC): Update.
66809         * lib/uninorm/u-normxfrm.h (FUNC): Update.
66810         * lib/vasnprintf.c (VASNPRINTF): Update.
66811         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
66812         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
66813         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
66814         * NEWS: Mention the change.
66816 2009-04-26  Bruno Haible  <bruno@clisp.org>
66818         Avoid test failures on AIX and OSF/1.
66819         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
66820         malloc(0).
66821         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
66822         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
66823         Likewise.
66824         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
66825         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
66826         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
66827         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
66828         * doc/posix-functions/malloc.texi: Document the portability problem
66829         related to malloc(0).
66831 2009-04-26  Bruno Haible  <bruno@clisp.org>
66833         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
66834         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
66835         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
66837 2009-04-25  Bruno Haible  <bruno@clisp.org>
66839         Avoid link error when creating a namespace clean library.
66840         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
66841         as macro with arguments if already defined as an alias.
66842         * lib/signbitf.c (gl_signbitf): Don't undefine.
66843         * lib/signbitd.c (gl_signbitd): Don't undefine.
66844         * lib/signbitl.c (gl_signbitl): Don't undefine.
66846 2009-04-25  Jim Meyering  <meyering@redhat.com>
66848         vc-list-files: fix another quoting bug
66849         * build-aux/vc-list-files: Avoid sed backslash expansion
66850         of pathological directory names.
66852 2009-04-25  Eric Blake  <ebb9@byu.net>
66854         vc-list-files: fix shell quoting error
66855         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
66856         timestamp.
66858 2009-04-25  Jim Meyering  <meyering@redhat.com>
66860         vc-list-files: restore lost functionality with subdir argument
66861         * build-aux/vc-list-files: When given a non-"." sub-directory
66862         argument, substitute the $dir/ prefix back onto each resulting name.
66863         Otherwise, coreutils' root_tests check would fail.
66865 2009-04-24  Eric Blake  <ebb9@byu.net>
66867         vc-list-files: ignore git symlinks
66868         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
66869         than ls-files, to ignore git symlinks.
66871         maint.mk: import improvements from m4
66872         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
66873         (move_if_change): Delete unused macro.
66874         (news-date-check, vc-diff-check): Support VPATH builds.
66875         (announcement): Likewise.  Split --bootstrap-tools list...
66876         (boostrap-tools): ...into separate list, which can be overridden
66877         in cfg.mk.
66878         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
66879         requiring dependency on useless-if-before-free module.
66880         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
66881         Support VPATH builds.
66883 2009-04-24  Jim Meyering  <meyering@redhat.com>
66885         maint.mk: remove coreutils-specific rules and variables
66886         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
66887         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
66888         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
66890         maint.mk: remove obsolete rule
66891         * top/maint.mk (rel-check): Remove rule.
66892         (WGET, WGETFLAGS): Remove now-unused variables.
66894 2009-04-24  Simon Josefsson  <simon@josefsson.org>
66896         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
66897         consistency.
66899         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
66900         '$(PATH_SEPARATOR)' instead of ':'.
66902 2009-04-24  Simon Josefsson  <simon@josefsson.org>
66904         * lib/getopt1.c (main): Use 'const' for static array.
66906 2009-04-24  Simon Josefsson  <simon@josefsson.org>
66908         * top/maint.mk: Sync with coreutils.
66909         * NEWS: Explain incompatibilities.
66911 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66912             Bruno Haible  <bruno@clisp.org>
66914         Fix cross-compilation results.
66915         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
66916         statement, as third argument of AC_TRY_RUN.
66917         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
66918         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
66919         Likewise.
66920         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
66921         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
66922         Likewise.
66923         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
66924         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
66925         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
66927 2009-04-20  Bruno Haible  <bruno@clisp.org>
66929         Avoid test failure on mingw.
66930         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
66932 2009-04-20  Bruno Haible  <bruno@clisp.org>
66934         Avoid compilation error on mingw.
66935         * modules/localename-tests (Depends-on): Add locale.
66937 2009-04-19  Bruno Haible  <bruno@clisp.org>
66939         Support for building a shared library on Windows platforms.
66940         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
66941         (main): Test the presence of UNINORM_NFC here.
66942         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
66943         (main): Test the presence of UNINORM_NFD here.
66944         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
66945         (main): Test the presence of UNINORM_NFKC here.
66946         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
66947         (main): Test the presence of UNINORM_NFKD here.
66949 2009-04-19  Bruno Haible  <bruno@clisp.org>
66951         Avoid a compiler warning.
66952         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
66953         Change type of variable 'sequence'.
66955 2009-04-19  Bruno Haible  <bruno@clisp.org>
66957         * modules/configmake (Makefile.am): When the contents of configmake.h
66958         does not change, arrange to preserve its modification time.
66960 2009-04-17  Simon Josefsson  <simon@josefsson.org>
66962         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
66963         gettext domain.
66965 2009-04-16  Jim Meyering  <meyering@redhat.com>
66967         useless-if-before-free: improve conversion code
66968         * build-aux/useless-if-before-free: Adjust code-in-comment to match
66969         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
66971 2009-04-14  Bruno Haible  <bruno@clisp.org>
66973         * modules/fcntl (Depends-on): Add extensions.
66974         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
66976 2009-04-12  Ben Pfaff  <blp@gnu.org>
66978         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
66979         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
66981 2009-03-20  Ben Pfaff  <blp@gnu.org>
66983         Make rename replace existing destinations on Windows.
66984         * m4/rename.m4: Add test for Mingw.
66985         * lib/rename.c: Add rename replacement that uses MoveFileEx with
66986         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
66987         * doc/posix-functions/rename.texi: Document.
66989 2009-04-10  Bruno Haible  <bruno@clisp.org>
66991         New include file "iconveh.h".
66992         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
66993         * lib/striconveh.h: Include it.
66994         (enum iconv_ilseq_handler): Remove definition.
66995         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
66996         striconveh.h.
66997         * lib/striconveha.c: Include striconveh.h.
66998         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
66999         * modules/striconveh (Files): Add lib/iconveh.h.
67000         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
67001         lib/striconveh.h.
67003 2009-04-10  Bruno Haible  <bruno@clisp.org>
67005         * lib/uniconv.h: Update comment.
67007 2009-04-10  Bruno Haible  <bruno@clisp.org>
67009         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
67010         always.
67011         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
67012         * lib/unistr/u16-mbtouc-aux.c: Likewise.
67013         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
67014         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
67015         "unistring-notinline.h", so that the function gets defined always.
67016         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
67017         * lib/unistr/u8-uctomb.c: Likewise.
67018         * lib/unistr/u16-mbtouc.c: Likewise.
67019         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
67020         * lib/unistr/u16-uctomb.c: Likewise.
67021         * lib/unistr/u32-mbtouc.c: Likewise.
67022         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
67023         * lib/unistr/u32-uctomb.c: Likewise.
67025 2009-04-10  Bruno Haible  <bruno@clisp.org>
67027         Mark 'utime' obsolete.
67028         * modules/utime (Status, Notice): New sections.
67029         Suggested by Jim Meyering.
67031         Fix cross-compile guess for utime test.
67032         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
67033         autoconf.
67034         * doc/posix-functions/utime.texi: Give more precisions.
67035         Reported by Jan <ipif@ymail.com>.
67037 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
67039         filevercmp: correct today's change
67040         * lib/filevercmp.c: Also handle coreutils' test inputs.
67041         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
67043         Fix regression in 'filevercmp' module. Thanks Sven Joachim
67044         for reporting it.
67045         * lib/filevercmp.c: Special handle for "", "." and "..".
67046         * tests/test-filevercmp.c: Enlarge the set suite.
67048 2009-04-07  Jim Meyering  <meyering@redhat.com>
67050         useless-if-before-free: show how to remove braced useless free, too
67051         * build-aux/useless-if-before-free: still only in a comment, though.
67053 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
67055         maint.mk: import changes to syntax-check macros from coreutils
67056         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
67057         Use them in the relevant macros.
67059 2009-04-06  Bruno Haible  <bruno@clisp.org>
67061         Fix unportable use of bit-fields.
67062         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
67063         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
67064         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
67066 2009-04-06  Bruno Haible  <bruno@clisp.org>
67068         Avoid test failures on AIX and OSF/1.
67069         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
67070         that malloc(0) = NULL.
67071         * tests/unicase/test-u8-tolower.c (check): Likewise.
67072         * tests/unicase/test-u8-totitle.c (check): Likewise.
67073         * tests/unicase/test-u8-toupper.c (check): Likewise.
67074         * tests/unicase/test-u16-casefold.c (check): Likewise.
67075         * tests/unicase/test-u16-tolower.c (check): Likewise.
67076         * tests/unicase/test-u16-totitle.c (check): Likewise.
67077         * tests/unicase/test-u16-toupper.c (check): Likewise.
67078         * tests/unicase/test-u32-casefold.c (check): Likewise.
67079         * tests/unicase/test-u32-tolower.c (check): Likewise.
67080         * tests/unicase/test-u32-totitle.c (check): Likewise.
67081         * tests/unicase/test-u32-toupper.c (check): Likewise.
67082         * tests/uninorm/test-u8-nfc.c (check): Likewise.
67083         * tests/uninorm/test-u8-nfd.c (check): Likewise.
67084         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
67085         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
67086         * tests/uninorm/test-u16-nfc.c (check): Likewise.
67087         * tests/uninorm/test-u16-nfd.c (check): Likewise.
67088         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
67089         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
67090         * tests/uninorm/test-u32-nfc.c (check): Likewise.
67091         * tests/uninorm/test-u32-nfd.c (check): Likewise.
67092         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
67093         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
67095 2009-04-05  Bruno Haible  <bruno@clisp.org>
67097         Work around an autoconf limitation.
67098         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
67099         comment line if it would be longer than 3 KB.
67101 2009-04-05  Bruno Haible  <bruno@clisp.org>
67103         Avoid test failure with libiconv-1.13.
67104         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
67105         of the expected test results.
67107 2009-04-05  Bruno Haible  <bruno@clisp.org>
67109         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
67110         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
67111         that it should be installed.
67113 2009-04-05  Bruno Haible  <bruno@clisp.org>
67115         * gnulib-tool: New option --copy-file.
67116         (func_usage): Document it.
67117         (func_dest_tmpfilename): Moved out of func_import.
67118         (func_add_file, func_update_file): New functions, extracted from
67119         func_import.
67120         (func_import): Update.
67122 2009-04-05  Karl Berry  <karl@gnu.org>
67124         * README: prominently mention gnulib-tool.
67125         Rearrange sections so getting the code is near the top.
67127 2009-04-05  Bruno Haible  <bruno@clisp.org>
67129         * lib/unicase.h: Mention u*_cmp2.
67130         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
67131         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
67132         * lib/unicase/ulc-casecmp.c: Likewise.
67133         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
67134         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
67135         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
67136         unistr/u8-cmp.
67137         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
67138         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
67139         unistr/u16-cmp.
67140         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
67141         unistr/u32-cmp.
67143         * lib/uninorm.h: Mention u*_cmp2.
67144         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
67145         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
67146         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
67147         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
67148         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
67149         unistr/u8-cmp.
67150         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
67151         unistr/u16-cmp.
67152         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
67153         unistr/u32-cmp.
67155         New module 'unistr/u32-cmp2'.
67156         * lib/unistr/u32-cmp2.c: New file.
67157         * modules/unistr/u32-cmp2: New file.
67159         New module 'unistr/u16-cmp2'.
67160         * lib/unistr/u16-cmp2.c: New file.
67161         * modules/unistr/u16-cmp2: New file.
67163         New module 'unistr/u8-cmp2'.
67164         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
67165         * lib/unistr/u8-cmp2.c: New file.
67166         * lib/unistr/u-cmp2.h: New file.
67167         * modules/unistr/u8-cmp2: New file.
67169 2009-04-05  Bruno Haible  <bruno@clisp.org>
67171         * lib/unictype.h (uc_property_is_valid): New macro.
67172         * tests/unictype/test-pr_byname.c (main): Use it.
67174         * lib/unistr.h: Doc fixes.
67175         * lib/uniconv.h: Doc fixes.
67176         * lib/unictype.h: Doc fixes.
67178 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
67180         Port coreutils 7.2 to Solaris 8.
67182         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
67183         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
67184         for Solaris 8.  This is a bit of a hack, as it means it's the
67185         caller's responsibility to add -lnsl if needed, but most likely it
67186         won't be needed since only getaddrinfo uses this and getaddrinfo
67187         isn't needed on Solaris 8.
67189         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
67190         problem to Solaris 8 encountered with coreutils 7.2, which
67191         resulted in a message "fnmatch.c:292: warning: passing argument 4
67192         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
67193         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
67195 2009-04-03  Simon Josefsson  <simon@josefsson.org>
67197         * m4/ld-version-script.m4: Add FIXME comment.
67199 2009-04-02  Simon Josefsson  <simon@josefsson.org>
67201         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
67202         SOVERSION variable.
67204 2009-04-02  Bruno Haible  <bruno@clisp.org>
67206         * Makefile (info, html, dvi, pdf): Combine the rules.
67207         Suggested by Jim Meyering.
67209 2009-04-01  Bruno Haible  <bruno@clisp.org>
67211         * Makefile (info, html, dvi, pdf): New targets.
67212         Reported by Reuben Thomas <rrt@sc3d.org>.
67214 2009-04-01  Bruno Haible  <bruno@clisp.org>
67216         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
67217         can be put into PATH.
67218         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
67220 2009-04-01  Bruno Haible  <bruno@clisp.org>
67222         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
67224 2009-04-01  Bruno Haible  <bruno@clisp.org>
67226         Rename module 'visibility'.
67227         * modules/lib-symbol-visibility: Renamed from modules/visibility.
67228         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
67229         * doc/gnulib.texi: Update.
67230         * MODULES.html.sh (Misc): Update.
67231         * NEWS: Mention the change.
67233 2009-04-01  Simon Josefsson  <simon@josefsson.org>
67235         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
67236         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
67237         Eric Blake <ebb9@byu.net> for review.
67238         * MODULES.html.sh: Add lib-msvc-compat.
67239         * doc/gnulib.texi: Link to new section.
67240         * m4/ld-output-def.m4: New file.
67241         * doc/ld-output-def.texi: New file.
67243 2009-04-01  Simon Josefsson  <simon@josefsson.org>
67245         Rename ld-version-script to lib-symbol-versions.  Suggested by
67246         Bruno Haible <bruno@clisp.org>.
67247         * modules/ld-version-script: Renamed to lib-symbol-versions.
67248         * doc/ld-version-script.texi: Fix module name.
67249         * MODULES.html.sh: Add lib-symbol-versions.
67251 2009-03-31  Simon Josefsson  <simon@josefsson.org>
67253         * modules/u64-tests: New file.
67254         * tests/test-u64.c: New file.
67256 2009-03-04  Simon Josefsson  <simon@josefsson.org>
67258         * MODULES.html.sh: Mention u64.
67259         * modules/u64: New module.
67260         * modules/crypto/sha512: Depend on u64 module instead of providing
67261         u64.h.
67263 2009-03-27  Eric Blake  <ebb9@byu.net>
67265         test-strerror: make debugging EAI_SYSTEM easier
67266         * modules/getaddrinfo-tests (Depends-on): Add strerror.
67267         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
67268         failure was EAI_SYSTEM.
67270 2009-03-25  Bruno Haible  <bruno@clisp.org>
67272         Fix a problem with --enable-relocatable on Solaris 7.
67273         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
67274         since 2008-02-24.
67276 2009-03-25  Eric Blake  <ebb9@byu.net>
67278         test-sockets: avoid gcc warning
67279         * tests/test-sockets.c (main): Silence compiler warning.
67281 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
67283         New modules nproc, pthread, contributed by Glen Lenker.
67285         * MODULES.html.sh: Add pthread, nproc.
67286         * lib/nproc.c: New file.
67287         * lib/nproc.h: New file.
67288         * lib/pthread.in.h: New file.
67289         * m4/pthread.m4: New file.
67290         * modules/nproc: New file.
67291         * modules/pthread: New file.
67293 2009-03-24  Simon Josefsson  <simon@josefsson.org>
67295         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
67296         New variable.
67298 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
67300         filevercmp: handle simple~ and numbered.~3~ backup suffixes
67301         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
67302         * tests/test-filevercmp.c: Add tests for backup suffixes.
67304 2009-03-24  Simon Josefsson  <simon@josefsson.org>
67306         * modules/stdlib (Depends-on): Add stdint, needed when defining
67307         struct random_data on, for example, HP-UX 10.20.  Reported by
67308         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
67310 2009-03-24  Simon Josefsson  <simon@josefsson.org>
67312         * lib/readline.c (readline): Call fflush on stdout after printing
67313         prompt.
67315 2009-03-20  Bruno Haible  <bruno@clisp.org>
67317         Remove dependency from 'close' module to -lws2_32 on native Windows.
67318         * lib/close-hook.h: New file.
67319         * lib/close-hook.c: New file.
67320         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
67321         w32sock.h.
67322         (_gl_close_fd_maybe_socket): Remove function.
67323         (rpl_close): Invoke execute_all_close_hooks instead of
67324         _gl_close_fd_maybe_socket.
67325         * lib/sockets.c: Include close-hook.h, w32sock.h.
67326         (close_fd_maybe_socket): New function, essentially from lib/close.c.
67327         (close_sockets_hook): New variable.
67328         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
67329         (gl_sockets_cleanup): Unregister it.
67330         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
67331         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
67332         * modules/close-hook: New file.
67333         * modules/close (Files): Remove lib/w32sock.h.
67334         (Depends-on): Add close-hook.
67335         (Link): Remove section.
67336         * modules/sockets (Files): Add lib/w32sock.h.
67337         (Depends-on): Add close-hook.
67338         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
67339         invocation.
67340         * NEWS: Mention that LIB_CLOSE is gone.
67342 2009-03-23  Eric Blake  <ebb9@byu.net>
67344         signal-tests: test previous patch
67345         * tests/test-signal.c: New file.
67346         * modules/signal-tests: Likewise.
67348         signal.h: always support 'volatile sig_atomic_t'
67349         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
67350         (gl_SIGNAL_H_DEFAULTS): Add a default.
67351         * modules/signal (Makefile.am): Substitute if needed.
67352         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
67353         users can blindly add volatile.
67354         * doc/posix-headers/signal.texi (signal.h): Document it.
67355         Reported by Matthew Woehlke.
67357 2009-03-23  Jim Meyering  <meyering@redhat.com>
67359         pathmax: PATH_MAX: use pathconf only when available
67360         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
67361         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
67362         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
67363         This avoids a link failure in a PSP cross-compilation environment
67364         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
67366         * lib/vasnprintf.c (divide): Fix typo in comment.
67368 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67370         * gnulib-tool (func_filter_filelist): Fix comment.
67372 2009-03-20  Bruno Haible  <bruno@clisp.org>
67374         Make sockets.h self-contained.
67375         * lib/sockets.c: Include sockets.h first.
67376         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
67378 2009-03-19  Eric Blake  <ebb9@byu.net>
67380         doc: mention more functions added in cygwin 1.7.0
67381         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
67382         addition.
67383         * doc/posix-functions/log2f.texi: Likewise.
67385 2009-03-19  Jim Meyering  <meyering@redhat.com>
67387         fsusage: avoid syntax error due to statement-before-declaration
67388         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
67389         after all declarations.  Reported by Matthew Woehlke in
67390         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
67392 2009-03-18  Eric Blake  <ebb9@byu.net>
67394         build-aux/compile: sync from automake
67395         * build-aux/compile: New file, from automake.
67396         * config/srclist.txt: Mention build-aux/compile.
67398 2009-03-17  Bruno Haible  <bruno@clisp.org>
67400         * lib/git-merge-changelog.c: Fix typo in comment.
67401         Reported by Reuben Thomas <rrt@sc3d.org>.
67403 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
67405         * m4/regex.m4: update and improve help for
67406         --without-included-regex.
67408 2009-03-17  Simon Josefsson  <simon@josefsson.org>
67410         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
67411         failure on missing include files.
67413 2009-03-17  Eric Blake  <ebb9@byu.net>
67415         doc: mention more functions added in cygwin 1.7.0
67416         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
67417         addition.
67418         * doc/posix-functions/fwscanf.texi: Likewise.
67419         * doc/posix-functions/swprintf.texi: Likewise.
67420         * doc/posix-functions/swscanf.texi: Likewise.
67421         * doc/posix-functions/vfwprintf.texi: Likewise.
67422         * doc/posix-functions/vfwscanf.texi: Likewise.
67423         * doc/posix-functions/vswprintf.texi: Likewise.
67424         * doc/posix-functions/vswscanf.texi: Likewise.
67425         * doc/posix-functions/vwprintf.texi: Likewise.
67426         * doc/posix-functions/vwscanf.texi: Likewise.
67427         * doc/posix-functions/wcscasecmp.texi: Likewise.
67428         * doc/posix-functions/wcsdup.texi: Likewise.
67429         * doc/posix-functions/wcsftime.texi: Likewise.
67430         * doc/posix-functions/wcsncasecmp.texi: Likewise.
67431         * doc/posix-functions/wprintf.texi: Likewise.
67432         * doc/posix-functions/wscanf.texi: Likewise.
67433         * doc/glibc-functions/gethostbyname2.texi: Likewise.
67435 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67437         maint.mk: really add $(AM_MAKEFLAGS)
67438         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
67439         was inadvertently omitted in the last commit.
67440         Spotted by Bruno Haible.
67442         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
67443         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
67444         $(AM_MAKEFLAGS)' rather than plain `make'.
67446         gnulib-tool: execute $MAKE not make
67447         * gnulib-tool: Default $MAKE to 'make'.
67448         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
67449         than make.  Initialize $MAKE in the do-autobuild script.
67451         gnulib-tool: use $MAKE not make in generated files
67452         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
67453         make, in generated files.  Initialize $MAKE in the do-autobuild
67454         script.
67456         * top/GNUmakefile (_have-git-version-gen): Fix typo.
67458         GNUmakefile: disable parallelism only for multiple, recursive targets
67459         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
67460         additions in the Makefile.
67461         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
67462         by Automake.
67463         (.NOTPARALLEL): Only disable parallel builds if multiple targets
67464         are listed on the command line and at least one of them is
67465         listed in $(ALL_RECURSIVE_TARGETS).
67467 2009-03-14  Bruno Haible  <bruno@clisp.org>
67469         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
67470         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
67471         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
67472         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
67473         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
67474         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
67475         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
67476         unistr/u8-uctomb.
67477         * modules/unistr/u8-strchr (Depends-on): Likewise.
67478         * modules/unistr/u8-strrchr (Depends-on): Likewise.
67479         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
67480         unistr/u16-uctomb.
67481         * modules/unistr/u16-strchr (Depends-on): Likewise.
67482         * modules/unistr/u16-strrchr (Depends-on): Likewise.
67484 2009-03-12  Bruno Haible  <bruno@clisp.org>
67486         Work around select() bug on Interix 3.5.
67487         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
67488         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
67489         * m4/select.m4: New file.
67490         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
67491         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
67492         * modules/select (Files): Add m4/select.m4.
67493         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
67494         * modules/nanosleep (Depends-on): Add select.
67495         * modules/poll (Depends-on): Likewise.
67496         * doc/posix-functions/select.texi: Mention the Interix bug.
67497         Reported by Markus Duft <mduft@gentoo.org>.
67499         * lib/select.c: Renamed from lib/winsock-select.c.
67500         * modules/select (Files): Add lib/select.c, remove
67501         lib/winsock-select.c.
67502         (configure.ac): Update.
67504 2009-03-12  Jim Meyering  <meyering@redhat.com>
67506         avoid gcc warnings about unused macro definitions
67507         * lib/readtokens.c (STREQ): Remove unused definition.
67508         * lib/xmalloc.c (SIZE_MAX): Likewise.
67509         * lib/openat-die.c (N_): Likewise.
67510         * lib/mountlist.c (SIZE_MAX): Remove definition.
67511         Instead, include <stdint.h>.
67512         * lib/readutmp.c: Likewise.
67513         * modules/readutmp (Depends-on): Add stdint.
67514         * modules/mountlist (Depends-on): Add stdint.
67515         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
67517 2009-03-10  Bruno Haible  <bruno@clisp.org>
67519         Tests for module 'mbmemcasecoll'.
67520         * modules/mbmemcasecoll-tests: New file.
67521         * tests/test-mbmemcasecoll1.sh: New file.
67522         * tests/test-mbmemcasecoll2.sh: New file.
67523         * tests/test-mbmemcasecoll3.sh: New file.
67524         * tests/test-mbmemcasecoll.c: New file.
67526         New module 'mbmemcasecoll'.
67527         * lib/mbmemcasecoll.h: New file.
67528         * lib/mbmemcasecoll.c: New file.
67529         * modules/mbmemcasecoll: New file.
67531         * tests/test-mbmemcasecmp.h: New file, extracted from
67532         tests/test-mbmemcasecmp.c.
67533         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
67534         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
67535         (main): Update.
67536         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
67538 2009-03-09  Bruno Haible  <bruno@clisp.org>
67540         Tests for module 'mbmemcasecmp'.
67541         * modules/mbmemcasecmp-tests: New file.
67542         * tests/test-mbmemcasecmp1.sh: New file.
67543         * tests/test-mbmemcasecmp2.sh: New file.
67544         * tests/test-mbmemcasecmp3.sh: New file.
67545         * tests/test-mbmemcasecmp.c: New file.
67547         New module 'mbmemcasecmp'.
67548         * lib/mbmemcasecmp.h: New file.
67549         * lib/mbmemcasecmp.c: New file.
67550         * modules/mbmemcasecmp: New file.
67552 2009-03-09  Bruno Haible  <bruno@clisp.org>
67554         Tests for module 'unicase/ulc-casecoll'.
67555         * modules/unicase/ulc-casecoll-tests: New file.
67556         * tests/unicase/test-ulc-casecoll1.sh: New file.
67557         * tests/unicase/test-ulc-casecoll2.sh: New file.
67558         * tests/unicase/test-ulc-casecoll.c: New file.
67560         New module 'unicase/ulc-casecoll'.
67561         * lib/unicase.h (ulc_casecoll): New declaration.
67562         * lib/unicase/ulc-casecoll.c: New file.
67563         * modules/unicase/ulc-casecoll: New file.
67565         New module 'unicase/ulc-casexfrm'.
67566         * lib/unicase.h (ulc_casexfrm): New declaration.
67567         * lib/unicase/ulc-casexfrm.c: New file.
67568         * modules/unicase/ulc-casexfrm: New file.
67570 2009-03-09  Bruno Haible  <bruno@clisp.org>
67572         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
67573         invocations.
67575         * m4/mbscasecmp.m4: Remove file.
67576         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
67577         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
67579         * m4/mbscasestr.m4: Remove file.
67580         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
67581         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
67583         * m4/mbschr.m4: Remove file.
67584         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
67585         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
67587         * m4/mbscspn.m4: Remove file.
67588         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
67589         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
67591         * m4/mbslen.m4: Remove file.
67592         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
67593         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
67595         * m4/mbsncasecmp.m4: Remove file.
67596         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
67597         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
67599         * m4/mbsnlen.m4: Remove file.
67600         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
67601         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
67603         * m4/mbspbrk.m4: Remove file.
67604         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
67605         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
67607         * m4/mbspcasecmp.m4: Remove file.
67608         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
67609         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
67611         * m4/mbsrchr.m4: Remove file.
67612         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
67613         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
67615         * m4/mbssep.m4: Remove file.
67616         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
67617         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
67619         * m4/mbsspn.m4: Remove file.
67620         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
67621         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
67623         * m4/mbsstr.m4: Remove file.
67624         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
67625         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
67627         * m4/mbstok_r.m4: Remove file.
67628         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
67629         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
67631         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
67633         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
67634         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
67636         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
67638 2009-03-08  Bruno Haible  <bruno@clisp.org>
67640         Tests for module 'unicase/ulc-casecmp'.
67641         * modules/unicase/ulc-casecmp-tests: New file.
67642         * tests/unicase/test-ulc-casecmp1.sh: New file.
67643         * tests/unicase/test-ulc-casecmp2.sh: New file.
67644         * tests/unicase/test-ulc-casecmp.c: New file.
67646         New module 'unicase/ulc-casecmp'.
67647         * lib/unicase.h (ulc_casecmp): New declaration.
67648         * lib/unicase/ulc-casecmp.c: New file.
67649         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
67650         'const SRC_UNIT *'.
67651         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
67652         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
67653         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
67654         * modules/unicase/ulc-casecmp: New file.
67656         Tests for module 'unicase/u32-is-cased'.
67657         * modules/unicase/u32-is-cased-tests: New file.
67658         * tests/unicase/test-u32-is-cased.c: New file.
67660         Tests for module 'unicase/u16-is-cased'.
67661         * modules/unicase/u16-is-cased-tests: New file.
67662         * tests/unicase/test-u16-is-cased.c: New file.
67664         Tests for module 'unicase/u8-is-cased'.
67665         * modules/unicase/u8-is-cased-tests: New file.
67666         * tests/unicase/test-u8-is-cased.c: New file.
67667         * tests/unicase/test-is-cased.h: New file.
67669         New module 'unicase/u32-is-cased'.
67670         * lib/unicase/u32-is-cased.c: New file.
67671         * modules/unicase/u32-is-cased: New file.
67673         New module 'unicase/u16-is-cased'.
67674         * lib/unicase/u16-is-cased.c: New file.
67675         * modules/unicase/u16-is-cased: New file.
67677         New module 'unicase/u8-is-cased'.
67678         * lib/unicase/u8-is-cased.c: New file.
67679         * lib/unicase/u-is-cased.h: New file.
67680         * modules/unicase/u8-is-cased: New file.
67682         Tests for module 'unicase/u32-is-casefolded'.
67683         * modules/unicase/u32-is-casefolded-tests: New file.
67684         * tests/unicase/test-u32-is-casefolded.c: New file.
67686         Tests for module 'unicase/u16-is-casefolded'.
67687         * modules/unicase/u16-is-casefolded-tests: New file.
67688         * tests/unicase/test-u16-is-casefolded.c: New file.
67690         Tests for module 'unicase/u8-is-casefolded'.
67691         * modules/unicase/u8-is-casefolded-tests: New file.
67692         * tests/unicase/test-u8-is-casefolded.c: New file.
67693         * tests/unicase/test-is-casefolded.h: New file.
67695         New module 'unicase/u32-is-casefolded'.
67696         * lib/unicase/u32-is-casefolded.c: New file.
67697         * modules/unicase/u32-is-casefolded: New file.
67699         New module 'unicase/u16-is-casefolded'.
67700         * lib/unicase/u16-is-casefolded.c: New file.
67701         * modules/unicase/u16-is-casefolded: New file.
67703         New module 'unicase/u8-is-casefolded'.
67704         * lib/unicase/u8-is-casefolded.c: New file.
67705         * modules/unicase/u8-is-casefolded: New file.
67707         Tests for module 'unicase/u32-is-titlecase'.
67708         * modules/unicase/u32-is-titlecase-tests: New file.
67709         * tests/unicase/test-u32-is-titlecase.c: New file.
67711         Tests for module 'unicase/u16-is-titlecase'.
67712         * modules/unicase/u16-is-titlecase-tests: New file.
67713         * tests/unicase/test-u16-is-titlecase.c: New file.
67715         Tests for module 'unicase/u8-is-titlecase'.
67716         * modules/unicase/u8-is-titlecase-tests: New file.
67717         * tests/unicase/test-u8-is-titlecase.c: New file.
67718         * tests/unicase/test-is-titlecase.h: New file.
67720         New module 'unicase/u32-is-titlecase'.
67721         * lib/unicase/u32-is-titlecase.c: New file.
67722         * modules/unicase/u32-is-titlecase: New file.
67724         New module 'unicase/u16-is-titlecase'.
67725         * lib/unicase/u16-is-titlecase.c: New file.
67726         * modules/unicase/u16-is-titlecase: New file.
67728         New module 'unicase/u8-is-titlecase'.
67729         * lib/unicase/u8-is-titlecase.c: New file.
67730         * modules/unicase/u8-is-titlecase: New file.
67732         Tests for module 'unicase/u32-is-lowercase'.
67733         * modules/unicase/u32-is-lowercase-tests: New file.
67734         * tests/unicase/test-u32-is-lowercase.c: New file.
67736         Tests for module 'unicase/u16-is-lowercase'.
67737         * modules/unicase/u16-is-lowercase-tests: New file.
67738         * tests/unicase/test-u16-is-lowercase.c: New file.
67740         Tests for module 'unicase/u8-is-lowercase'.
67741         * modules/unicase/u8-is-lowercase-tests: New file.
67742         * tests/unicase/test-u8-is-lowercase.c: New file.
67743         * tests/unicase/test-is-lowercase.h: New file.
67745         New module 'unicase/u32-is-lowercase'.
67746         * lib/unicase/u32-is-lowercase.c: New file.
67747         * modules/unicase/u32-is-lowercase: New file.
67749         New module 'unicase/u16-is-lowercase'.
67750         * lib/unicase/u16-is-lowercase.c: New file.
67751         * modules/unicase/u16-is-lowercase: New file.
67753         New module 'unicase/u8-is-lowercase'.
67754         * lib/unicase/u8-is-lowercase.c: New file.
67755         * modules/unicase/u8-is-lowercase: New file.
67757         Tests for module 'unicase/u32-is-uppercase'.
67758         * modules/unicase/u32-is-uppercase-tests: New file.
67759         * tests/unicase/test-u32-is-uppercase.c: New file.
67761         Tests for module 'unicase/u16-is-uppercase'.
67762         * modules/unicase/u16-is-uppercase-tests: New file.
67763         * tests/unicase/test-u16-is-uppercase.c: New file.
67765         Tests for module 'unicase/u8-is-uppercase'.
67766         * modules/unicase/u8-is-uppercase-tests: New file.
67767         * tests/unicase/test-u8-is-uppercase.c: New file.
67768         * tests/unicase/test-is-uppercase.h: New file.
67770         New module 'unicase/u32-is-uppercase'.
67771         * lib/unicase/u32-is-uppercase.c: New file.
67772         * modules/unicase/u32-is-uppercase: New file.
67774         New module 'unicase/u16-is-uppercase'.
67775         * lib/unicase/u16-is-uppercase.c: New file.
67776         * modules/unicase/u16-is-uppercase: New file.
67778         New module 'unicase/u8-is-uppercase'.
67779         * lib/unicase/u8-is-uppercase.c: New file.
67780         * modules/unicase/u8-is-uppercase: New file.
67782         New module 'unicase/u32-is-invariant'.
67783         * lib/unicase/u32-is-invariant.c: New file.
67784         * modules/unicase/u32-is-invariant: New file.
67786         New module 'unicase/u16-is-invariant'.
67787         * lib/unicase/u16-is-invariant.c: New file.
67788         * modules/unicase/u16-is-invariant: New file.
67790         New module 'unicase/u8-is-invariant'.
67791         * lib/unicase/u8-is-invariant.c: New file.
67792         * lib/unicase/invariant.h: New file.
67793         * lib/unicase/u-is-invariant.h: New file.
67794         * modules/unicase/u8-is-invariant: New file.
67796         Tests for module 'unicase/u32-casecoll'.
67797         * modules/unicase/u32-casecoll-tests: New file.
67798         * tests/unicase/test-u32-casecoll.c: New file.
67800         Tests for module 'unicase/u16-casecoll'.
67801         * modules/unicase/u16-casecoll-tests: New file.
67802         * tests/unicase/test-u16-casecoll.c: New file.
67804         Tests for module 'unicase/u8-casecoll'.
67805         * modules/unicase/u8-casecoll-tests: New file.
67806         * tests/unicase/test-u8-casecoll.c: New file.
67808         New module 'unicase/u32-casecoll'.
67809         * lib/unicase/u32-casecoll.c: New file.
67810         * modules/unicase/u32-casecoll: New file.
67812         New module 'unicase/u16-casecoll'.
67813         * lib/unicase/u16-casecoll.c: New file.
67814         * modules/unicase/u16-casecoll: New file.
67816         New module 'unicase/u8-casecoll'.
67817         * lib/unicase/u8-casecoll.c: New file.
67818         * lib/unicase/u-casecoll.h: New file.
67819         * modules/unicase/u8-casecoll: New file.
67821         New module 'unicase/u32-casexfrm'.
67822         * lib/unicase/u32-casexfrm.c: New file.
67823         * modules/unicase/u32-casexfrm: New file.
67825         New module 'unicase/u16-casexfrm'.
67826         * lib/unicase/u16-casexfrm.c: New file.
67827         * modules/unicase/u16-casexfrm: New file.
67829         New module 'unicase/u8-casexfrm'.
67830         * lib/unicase/u8-casexfrm.c: New file.
67831         * lib/unicase/u-casexfrm.h: New file.
67832         * modules/unicase/u8-casexfrm: New file.
67834         Tests for module 'unicase/u32-casecmp'.
67835         * modules/unicase/u32-casecmp-tests: New file.
67836         * tests/unicase/test-u32-casecmp.c: New file.
67838         Tests for module 'unicase/u16-casecmp'.
67839         * modules/unicase/u16-casecmp-tests: New file.
67840         * tests/unicase/test-u16-casecmp.c: New file.
67842         Tests for module 'unicase/u8-casecmp'.
67843         * modules/unicase/u8-casecmp-tests: New file.
67844         * tests/unicase/test-u8-casecmp.c: New file.
67845         * tests/unicase/test-casecmp.h: New file.
67847         New module 'unicase/u32-casecmp'.
67848         * lib/unicase/u32-casecmp.c: New file.
67849         * modules/unicase/u32-casecmp: New file.
67851         New module 'unicase/u16-casecmp'.
67852         * lib/unicase/u16-casecmp.c: New file.
67853         * modules/unicase/u16-casecmp: New file.
67855         New module 'unicase/u8-casecmp'.
67856         * lib/unicase/u8-casecmp.c: New file.
67857         * lib/unicase/u-casecmp.h: New file.
67858         * modules/unicase/u8-casecmp: New file.
67860         Tests for module 'unicase/u32-casefold'.
67861         * modules/unicase/u32-casefold-tests: New file.
67862         * tests/unicase/test-u32-casefold.c: New file.
67864         Tests for module 'unicase/u16-casefold'.
67865         * modules/unicase/u16-casefold-tests: New file.
67866         * tests/unicase/test-u16-casefold.c: New file.
67868         Tests for module 'unicase/u8-casefold'.
67869         * modules/unicase/u8-casefold-tests: New file.
67870         * tests/unicase/test-u8-casefold.c: New file.
67872         New module 'unicase/u32-casefold'.
67873         * lib/unicase/u32-casefold.c: New file.
67874         * modules/unicase/u32-casefold: New file.
67876         New module 'unicase/u16-casefold'.
67877         * lib/unicase/u16-casefold.c: New file.
67878         * modules/unicase/u16-casefold: New file.
67880         New module 'unicase/u8-casefold'.
67881         * lib/unicase/u8-casefold.c: New file.
67882         * lib/unicase/u-casefold.h: New file.
67883         * modules/unicase/u8-casefold: New file.
67885         New module 'unicase/tocasefold'.
67886         * lib/unicase/casefold.h: New file.
67887         * lib/unicase/tocasefold.c: New file.
67888         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
67889         * modules/unicase/tocasefold: New file.
67891         Tests for module 'unicase/u32-totitle'.
67892         * modules/unicase/u32-totitle-tests: New file.
67893         * tests/unicase/test-u32-totitle.c: New file.
67895         Tests for module 'unicase/u16-totitle'.
67896         * modules/unicase/u16-totitle-tests: New file.
67897         * tests/unicase/test-u16-totitle.c: New file.
67899         Tests for module 'unicase/u8-totitle'.
67900         * modules/unicase/u8-totitle-tests: New file.
67901         * tests/unicase/test-u8-totitle.c: New file.
67903         New module 'unicase/u32-totitle'.
67904         * lib/unicase/u32-totitle.c: New file.
67905         * modules/unicase/u32-totitle: New file.
67907         New module 'unicase/u16-totitle'.
67908         * lib/unicase/u16-totitle.c: New file.
67909         * modules/unicase/u16-totitle: New file.
67911         New module 'unicase/u8-totitle'.
67912         * lib/unicase/u8-totitle.c: New file.
67913         * lib/unicase/u-totitle.h: New file.
67914         * modules/unicase/u8-totitle: New file.
67916         Tests for module 'unicase/u32-tolower'.
67917         * modules/unicase/u32-tolower-tests: New file.
67918         * tests/unicase/test-u32-tolower.c: New file.
67920         Tests for module 'unicase/u16-tolower'.
67921         * modules/unicase/u16-tolower-tests: New file.
67922         * tests/unicase/test-u16-tolower.c: New file.
67924         Tests for module 'unicase/u8-tolower'.
67925         * modules/unicase/u8-tolower-tests: New file.
67926         * tests/unicase/test-u8-tolower.c: New file.
67928         New module 'unicase/u32-tolower'.
67929         * lib/unicase/u32-tolower.c: New file.
67930         * modules/unicase/u32-tolower: New file.
67932         New module 'unicase/u16-tolower'.
67933         * lib/unicase/u16-tolower.c: New file.
67934         * modules/unicase/u16-tolower: New file.
67936         New module 'unicase/u8-tolower'.
67937         * lib/unicase/u8-tolower.c: New file.
67938         * modules/unicase/u8-tolower: New file.
67940         Tests for module 'unicase/u32-toupper'.
67941         * modules/unicase/u32-toupper-tests: New file.
67942         * tests/unicase/test-u32-toupper.c: New file.
67944         Tests for module 'unicase/u16-toupper'.
67945         * modules/unicase/u16-toupper-tests: New file.
67946         * tests/unicase/test-u16-toupper.c: New file.
67948         Tests for module 'unicase/u8-toupper'.
67949         * modules/unicase/u8-toupper-tests: New file.
67950         * tests/unicase/test-u8-toupper.c: New file.
67952         New module 'unicase/u32-toupper'.
67953         * lib/unicase/u32-toupper.c: New file.
67954         * modules/unicase/u32-toupper: New file.
67956         New module 'unicase/u16-toupper'.
67957         * lib/unicase/u16-toupper.c: New file.
67958         * modules/unicase/u16-toupper: New file.
67960         New module 'unicase/u8-toupper'.
67961         * lib/unicase/u8-toupper.c: New file.
67962         * modules/unicase/u8-toupper: New file.
67964         New module 'unicase/u32-casemap'.
67965         * lib/unicase/u32-casemap.c: New file.
67966         * modules/unicase/u32-casemap: New file.
67968         New module 'unicase/u16-casemap'.
67969         * lib/unicase/u16-casemap.c: New file.
67970         * modules/unicase/u16-casemap: New file.
67972         New module 'unicase/u8-casemap'.
67973         * lib/unicase/unicasemap.h: New file.
67974         * lib/unicase/u8-casemap.c: New file.
67975         * lib/unicase/u-casemap.h: New file.
67976         * modules/unicase/u8-casemap: New file.
67978         New module 'unicase/special-casing'.
67979         * lib/unicase/special-casing.h: New file.
67980         * lib/unicase/special-casing.c: New file.
67981         * lib/unicase/special-casing-table.gperf: New file, generated by
67982         gen-uni-tables.c.
67983         * modules/unicase/special-casing: New file.
67985         Tests for module 'unicase/locale-language'.
67986         * modules/unicase/locale-language-tests: New file.
67987         * tests/unicase/test-locale-language.sh: New file.
67988         * tests/unicase/test-locale-language.c: New file.
67990         New module 'unicase/locale-language'.
67991         * lib/unicase/locale-language.c: New file.
67992         * lib/unicase/locale-languages.gperf: New file.
67993         * modules/unicase/locale-language: New file.
67995         Generate more tables for case conversion and case folding.
67996         * lib/gen-uni-tables.c (SCC_*): New enum items.
67997         (struct special_casing_rule): New type.
67998         (casing_rules, num_casing_rules, allocated_casing_rules): New
67999         variables.
68000         (add_casing_rule, fill_casing_rules): New functions.
68001         (struct casefold_rule): New type.
68002         (casefolding_rules, num_casefolding_rules,
68003         allocated_casefolding_rules): New variables.
68004         (fill_casefolding_rules): New function.
68005         (unicode_casefold): New variable.
68006         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
68007         sort_casing_rules, output_casing_rules): New functions.
68008         (main): Accept to more arguments: SpecialCasing.txt and
68009         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
68010         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
68011         Output mapping for casefolding.
68013         * lib/unicase.h: Include stdbool.h, uninorm.h.
68014         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
68015         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
68016         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
68017         arguments.
68018         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
68019         resultp arguments.
68020         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
68021         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
68022         resultp arguments.
68023         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
68024         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
68025         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
68026         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
68027         declarations.
68028         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
68030 2009-03-08  Bruno Haible  <bruno@clisp.org>
68032         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
68033         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
68034         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
68035         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
68037 2009-03-07  Bruno Haible  <bruno@clisp.org>
68039         Adjust u*_normcmp, u*_normcoll API.
68040         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
68041         u16_normcoll, u32_normcoll): Change failure conventions.
68042         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
68043         errno and return -1.
68044         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
68046 2009-03-07  Bruno Haible  <bruno@clisp.org>
68048         Tests for module 'uninorm/u32-normcoll'.
68049         * modules/uninorm/u32-normcoll-tests: New file.
68050         * tests/uninorm/test-u32-normcoll.c: New file.
68052         Tests for module 'uninorm/u16-normcoll'.
68053         * modules/uninorm/u16-normcoll-tests: New file.
68054         * tests/uninorm/test-u16-normcoll.c: New file.
68056         Tests for module 'uninorm/u8-normcoll'.
68057         * modules/uninorm/u8-normcoll-tests: New file.
68058         * tests/uninorm/test-u8-normcoll.c: New file.
68060 2009-03-07  Bruno Haible  <bruno@clisp.org>
68062         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
68063         tests/uninorm/test-u32-normcmp.c.
68064         * tests/uninorm/test-u32-normcmp.c: Include it.
68065         (test_nonascii): New function, extracted from main. Add some more
68066         tests.
68067         (main): Invoke test_ascii and test_nonascii.
68068         * modules/uninorm/u32-normcmp-tests (Files): Add
68069         tests/uninorm/test-u32-normcmp.h.
68070         (Depends-on): Remove uninorm/u32-normcmp.
68072         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
68073         tests/uninorm/test-u16-normcmp.c.
68074         * tests/uninorm/test-u16-normcmp.c: Include it.
68075         (test_nonascii): New function, extracted from main. Add some more
68076         tests.
68077         (main): Invoke test_ascii and test_nonascii.
68078         * modules/uninorm/u16-normcmp-tests (Files): Add
68079         tests/uninorm/test-u16-normcmp.h.
68080         (Depends-on): Remove uninorm/u16-normcmp.
68082         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
68083         tests/uninorm/test-u8-normcmp.c.
68084         * tests/uninorm/test-u8-normcmp.c: Include it.
68085         (test_nonascii): New function, extracted from main. Add some more
68086         tests.
68087         (main): Invoke test_ascii and test_nonascii.
68088         * modules/uninorm/u8-normcmp-tests (Files): Add
68089         tests/uninorm/test-u8-normcmp.h.
68090         (Depends-on): Remove uninorm/u8-normcmp.
68092 2009-03-07  Bruno Haible  <bruno@clisp.org>
68094         New module 'uninorm/u32-normcoll'.
68095         * lib/uninorm/u32-normcoll.c: New file.
68096         * modules/uninorm/u32-normcoll: New file.
68098         New module 'uninorm/u16-normcoll'.
68099         * lib/uninorm/u16-normcoll.c: New file.
68100         * modules/uninorm/u16-normcoll: New file.
68102         New module 'uninorm/u8-normcoll'.
68103         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
68104         declarations.
68105         * lib/uninorm/u8-normcoll.c: New file.
68106         * lib/uninorm/u-normcoll.h: New file.
68107         * modules/uninorm/u8-normcoll: New file.
68109         New module 'uninorm/u32-normxfrm'.
68110         * lib/uninorm/u32-normxfrm.c: New file.
68111         * modules/uninorm/u32-normxfrm: New file.
68113         New module 'uninorm/u16-normxfrm'.
68114         * lib/uninorm/u16-normxfrm.c: New file.
68115         * modules/uninorm/u16-normxfrm: New file.
68117         New module 'uninorm/u8-normxfrm'.
68118         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
68119         declarations.
68120         * lib/uninorm/u8-normxfrm.c: New file.
68121         * lib/uninorm/u-normxfrm.h: New file.
68122         * modules/uninorm/u8-normxfrm: New file.
68124 2009-03-07  Bruno Haible  <bruno@clisp.org>
68126         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
68127         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
68128         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
68130 2009-03-07  Bruno Haible  <bruno@clisp.org>
68132         New module 'memxfrm'.
68133         * lib/memxfrm.h: New file.
68134         * lib/memxfrm.c: New file.
68135         * modules/memxfrm: New file.
68137 2009-03-07  Bruno Haible  <bruno@clisp.org>
68139         New module 'memcmp2'.
68140         * lib/memcmp2.h: New file.
68141         * lib/memcmp2.c: New file.
68142         * modules/memcmp2: New file.
68144 2009-03-07  Bruno Haible  <bruno@clisp.org>
68146         Tests for module 'uninorm/decomposing-form'.
68147         * modules/uninorm/decomposing-form-tests: New file.
68148         * tests/uninorm/test-decomposing-form.c: New file.
68150         New module 'uninorm/decomposing-form'.
68151         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
68152         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
68153         Add 'decomposing_variant' field.
68154         * lib/uninorm/decomposing-form.c: New file.
68155         * lib/uninorm/nfc.c (uninorm_nfc): Update.
68156         * lib/uninorm/nfd.c (uninorm_nfd): Update.
68157         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
68158         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
68159         * modules/uninorm/decomposing-form: New file.
68160         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
68161         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
68163 2009-03-07  Bruno Haible  <bruno@clisp.org>
68165         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
68166         strings.
68168 2009-03-06  Bruno Haible  <bruno@clisp.org>
68170         Tests for module 'uninorm/u32-normcmp'.
68171         * tests/uninorm/test-u32-normcmp.c: New file.
68172         * modules/uninorm/u32-normcmp-tests: New file.
68174         Tests for module 'uninorm/u16-normcmp'.
68175         * tests/uninorm/test-u16-normcmp.c: New file.
68176         * modules/uninorm/u16-normcmp-tests: New file.
68178         Tests for module 'uninorm/u8-normcmp'.
68179         * tests/uninorm/test-u8-normcmp.c: New file.
68180         * modules/uninorm/u8-normcmp-tests: New file.
68182         New module 'uninorm/u32-normcmp'.
68183         * lib/uninorm/u32-normcmp.c: New file.
68184         * modules/uninorm/u32-normcmp: New file.
68186         New module 'uninorm/u16-normcmp'.
68187         * lib/uninorm/u16-normcmp.c: New file.
68188         * modules/uninorm/u16-normcmp: New file.
68190         New module 'uninorm/u8-normcmp'.
68191         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
68192         declarations.
68193         * lib/uninorm/u8-normcmp.c: New file.
68194         * lib/uninorm/u-normcmp.h: New file.
68195         * modules/uninorm/u8-normcmp: New file.
68197 2009-03-06  Bruno Haible  <bruno@clisp.org>
68199         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
68200         Reported by Eric Blake.
68202 2009-03-06  Eric Blake  <ebb9@byu.net>
68203             Bruno Haible  <bruno@clisp.org>
68205         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
68206         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
68207         condition.
68208         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
68209         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
68210         condition.
68211         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
68213 2009-03-06  Eric Blake  <ebb9@byu.net>
68215         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
68216         to avoid compiler warnings.
68217         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
68219 2009-03-05  Bruno Haible  <bruno@clisp.org>
68221         * tests/test-ftell.c (main): Disable test beyond end of file on
68222         FreeMiNT.
68223         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
68225 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
68227         * lib/filevercmp.c: Move hidden files up in ordering.
68228         * tests/test-filevercmp.c: Add tests for hidden files.
68230 2009-03-04  Bruno Haible  <bruno@clisp.org>
68232         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
68233         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
68234         AM_CFLAGS.
68235         Reported by Simon Josefsson.
68237 2009-03-03  Bruno Haible  <bruno@clisp.org>
68239         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
68240         Reported by Simon Josefsson.
68242         * doc/ld-version-script.texi: Update node reference.
68244 2009-03-03  Bruno Haible  <bruno@clisp.org>
68246         * modules/visibility (License): Change to 'unlimited'.
68247         Suggested by Simon Josefsson.
68249 2009-03-03  Jim Meyering  <meyering@redhat.com>
68251         unlinkdir: cannot_unlink_dir may modify process state
68252         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
68253         it's neither thread-safe nor appropriate for use in a library.
68255 2009-03-03  Eric Blake  <ebb9@byu.net>
68257         test-closein: silence test under Darwin
68258         * tests/test-closein.sh: Ignore stderr from cat, since we don't
68259         care if it dies from EPIPE or EBADF.
68261 2009-03-03  Bruno Haible  <bruno@clisp.org>
68263         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
68264         earlier.
68265         * doc/visibility.texi: Fix @node and @section.
68267 2009-03-03  Simon Josefsson  <simon@josefsson.org>
68269         * doc/gnulib.texi: Link to sections for ld version script and
68270         visibility.
68271         * doc/visibility.texi: Add @node and @section.
68272         * modules/ld-version-script: New module.
68273         * m4/ld-version-script.m4: New file.
68274         * doc/ld-version-script.texi: New file.
68276 2009-03-02  David Lutterkort  <lutter@redhat.com>
68278         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
68279         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
68281 2009-03-02  Bruno Haible  <bruno@clisp.org>
68283         * doc/visibility.texi: Mention libtool's -export-symbols option.
68285 2009-03-02  Jim Meyering  <meyering@redhat.com>
68287         announce-gen: new option: --no-print-checksums
68288         * build-aux/announce-gen (usage): Describe it.
68289         (print_checksums): Print a newline here, not in the [*] footnote.
68290         (main): Honor it.
68292 2009-03-01  Bruno Haible  <bruno@clisp.org>
68294         Use socklen_t in the native Windows replacements prototypes.
68295         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
68296         instead of 'int'.
68297         * lib/getsockopt.c (rpl_getsockopt): Likewise.
68298         * lib/setsockopt.c (rpl_setsockopt): Likewise.
68299         * modules/getsockopt (Depends-on): Add socklen.
68300         * modules/setsockopt (Depends-on): Add socklen.
68302 2009-03-01  Bruno Haible  <bruno@clisp.org>
68304         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
68305         least 4.2.
68307 2009-03-01  Eric Blake  <ebb9@byu.net>
68308             Bruno Haible  <bruno@clisp.org>
68310         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
68311         error messages.
68312         * lib/wait-process.c (wait_subprocess): Omit error message about
68313         deadly signal sent to the child of termsigp != NULL.
68315 2009-03-01  Eric Blake  <ebb9@byu.net>
68317         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
68319 2009-03-01  Bruno Haible  <bruno@clisp.org>
68321         Avoid a gcc warning.
68322         * tests/test-sched.c (b): Make global.
68323         Reported by Eric Blake.
68325 2009-01-19  Martin Lambers  <marlam@marlam.de>
68327         Provide POSIX semantics for socket timeout options on W32.
68328         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
68329         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
68330         * modules/setsockopt: Depend on sys_time module for struct timeval.
68331         * modules/getsockopt: Depend on sys_time module for struct timeval.
68333 2009-03-01  Simon Josefsson  <simon@josefsson.org>
68335         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
68336         __USE_GNU, for consistency with netdb.in.h.
68337         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
68339 2009-03-01  Bruno Haible  <bruno@clisp.org>
68341         More support for FreeMiNT.
68342         * lib/fseeko.c (rpl_fseeko): Complete last commit.
68343         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
68345 2009-03-01  Bruno Haible  <bruno@clisp.org>
68347         More support for FreeMiNT.
68348         * lib/fpurge.c (fpurge): Correct last commit.
68349         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
68351 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68353         Fix unportable awk script in vc-list-files.
68354         * build-aux/vc-list-files: In the replacement awk script, use
68355         substr with a second argument of 1, not zero.
68356         Report by Simon Josefsson.
68358 2009-02-28  Bruno Haible  <bruno@clisp.org>
68360         More support for FreeMiNT.
68361         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
68362         to FreeMiNT today.
68363         * lib/fwriting.c (fwriting): Likewise.
68364         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
68366 2009-02-28  Bruno Haible  <bruno@clisp.org>
68368         * tests/test-freadseek.c (main): Disable test beyond end of file on
68369         FreeMiNT.
68370         * tests/test-ftello.c (main): Likewise.
68371         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
68373 2009-02-28  Bruno Haible  <bruno@clisp.org>
68375         Add tentative support for FreeMiNT.
68376         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
68377         * lib/fpurge.c (fpurge): Likewise.
68378         * lib/freadable.c (freadable): Likewise.
68379         * lib/freading.c (freading): Likewise.
68380         * lib/freadptr.c (freadptr): Likewise.
68381         * lib/freadseek.c (freadptrinc): Likewise.
68382         * lib/fseeko.c (rpl_fseeko): Likewise.
68383         * lib/fseterr.c (fseterr): Likewise.
68384         * lib/fwritable.c (fwritable): Likewise.
68385         * lib/fwriting.c (fwriting): Likewise.
68386         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
68387         Hourihane.
68388         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
68390 2009-02-28  Bruno Haible  <bruno@clisp.org>
68392         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
68393         SIGCHLD.
68394         Reported by Jim Meyering.
68396 2009-02-28  Bruno Haible  <bruno@clisp.org>
68398         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
68399         Mention the results of these tests on various platforms.
68400         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
68401         order.
68402         * doc/posix-functions/printf.texi: Likewise.
68403         * doc/posix-functions/snprintf.texi: Likewise.
68404         * doc/posix-functions/sprintf.texi: Likewise.
68405         * doc/posix-functions/vfprintf.texi: Likewise.
68406         * doc/posix-functions/vprintf.texi: Likewise.
68407         * doc/posix-functions/vsnprintf.texi: Likewise.
68408         * doc/posix-functions/vsprintf.texi: Likewise.
68409         * doc/glibc-functions/obstack_printf.texi: Likewise.
68410         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
68412 2009-02-28  Bruno Haible  <bruno@clisp.org>
68414         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
68415         Reported by Loïc Minier <lool@dooz.org>.
68417 2009-02-27  Bruno Haible  <bruno@clisp.org>
68419         * gnulib-tool (func_import): Make the sed expression used to create the
68420         sed script for updating the .gitignore file POSIX compliant.
68421         Reported by Eric Blake.
68423 2009-02-27  Bruno Haible  <bruno@clisp.org>
68425         * gnulib-tool (sed): Don't alias as "sed --posix".
68426         Reported by Eric Blake.
68428 2009-02-27  Bruno Haible  <bruno@clisp.org>
68430         Avoid test link errors.
68431         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
68432         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
68433         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
68434         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
68435         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
68437 2009-02-27  Bruno Haible  <bruno@clisp.org>
68439         Avoid spurious "(cached)" in configure output.
68440         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
68441         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
68442         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
68443         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
68444         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
68445         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
68446         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
68447         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
68448         Reported by Eric Blake.
68450 2009-02-27  Eric Blake  <ebb9@byu.net>
68452         printf: fix regression in previous patch
68453         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
68455 2009-02-27  Bruno Haible  <bruno@clisp.org>
68457         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
68458         value.
68459         * lib/stdint.in.h: Likewise.
68460         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
68462 2009-02-27  Eric Blake  <ebb9@byu.net>
68464         doc: mention more functions added in cygwin 1.7.0
68465         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
68466         addition.
68467         * doc/posix-functions/open_wmemstream.texi: Likewise.
68468         * doc/posix-functions/wcsnlen.texi: Likewise.
68469         * doc/posix-functions/wcsnrtombs.texi: Likewise.
68470         * doc/posix-functions/wcstod.texi: Likewise.
68471         * doc/posix-functions/wcstof.texi: Likewise.
68472         * doc/posix-functions/wcstoimax.texi: Likewise.
68473         * doc/posix-functions/wcstok.texi: Likewise.
68474         * doc/posix-functions/wcstoumax.texi: Likewise.
68476         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
68477         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
68478         * doc/posix-functions/fprintf.texi: Update.
68479         * doc/posix-functions/printf.texi: Update.
68480         * doc/posix-functions/snprintf.texi: Update.
68481         * doc/posix-functions/sprintf.texi: Update.
68482         * doc/posix-functions/vfprintf.texi: Update.
68483         * doc/posix-functions/vprintf.texi: Update.
68484         * doc/posix-functions/vsnprintf.texi: Update.
68485         * doc/posix-functions/vsprintf.texi: Update.
68486         * doc/glibc-functions/obstack_printf.texi: Update.
68487         * doc/glibc-functions/obstack_vprintf.texi: Update.
68489 2009-02-26  Eric Blake  <ebb9@byu.net>
68491         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
68492         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
68493         compilation bug by using runtime conversion.
68494         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
68495         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
68496         * modules/ceill-tests (Files): Use nan.h.
68497         * modules/floorl-tests (Files): Likewise.
68498         * modules/frexpl-tests (Files): Likewise.
68499         * modules/isnanl-tests (Files): Likewise.
68500         * modules/ldexpl-tests (Files): Likewise.
68501         * modules/roundl-tests (Files): Likewise.
68502         * modules/truncl-tests (Files): Likewise.
68503         * tests/test-ceill.c (main): Use a working NaN.
68504         * tests/test-floorl.c (main): Likewise.
68505         * tests/test-frexpl.c (main): Likewise.
68506         * tests/test-isnan.c (test_long_double): Likewise.
68507         * tests/test-isnanl.h (main): Likewise.
68508         * tests/test-ldexpl.h (main): Likewise.
68509         * tests/test-roundl.h (main): Likewise.
68510         * tests/test-truncl.h (main): Likewise.
68511         See http://lists.gnu.org/r/bug-gnulib/2009-02/msg00190.html.
68513 2009-02-26  Eric Blake  <ebb9@byu.net>
68514             Bruno Haible  <bruno@clisp.org>
68516         Work around a *printf bug with %ls on Solaris.
68517         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
68518         precision is specified, sprintf stops converting the wide string
68519         argument when the number of bytes that have been produced by this
68520         conversion equals or exceeds the precision.
68521         * doc/posix-functions/fprintf.texi: Update.
68522         * doc/posix-functions/printf.texi: Update.
68523         * doc/posix-functions/snprintf.texi: Update.
68524         * doc/posix-functions/sprintf.texi: Update.
68525         * doc/posix-functions/vfprintf.texi: Update.
68526         * doc/posix-functions/vprintf.texi: Update.
68527         * doc/posix-functions/vsnprintf.texi: Update.
68528         * doc/posix-functions/vsprintf.texi: Update.
68529         * doc/glibc-functions/obstack_printf.texi: Update.
68530         * doc/glibc-functions/obstack_vprintf.texi: Update.
68532 2009-02-26  Eric Blake  <ebb9@byu.net>
68534         stdlib: favor compiler check of random.h
68535         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
68536         to avoid an ObjC random.h installed by Swarm.
68538 2009-02-26  Bruno Haible  <bruno@clisp.org>
68540         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
68541         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
68542         Reported by Gary V. Vaughan <gary@gnu.org>.
68544 2009-02-26  Bruno Haible  <bruno@clisp.org>
68546         Fix *printf behaviour regarding the %ls directive.
68547         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
68548         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
68549         NEED_PRINTF_DIRECTIVE_LS.
68550         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
68551         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
68552         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
68553         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
68554         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
68555         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
68556         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
68557         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
68558         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68559         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68560         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68561         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
68562         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
68563         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
68564         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68565         * doc/posix-functions/fprintf.texi: Update.
68566         * doc/posix-functions/printf.texi: Update.
68567         * doc/posix-functions/snprintf.texi: Update.
68568         * doc/posix-functions/sprintf.texi: Update.
68569         * doc/posix-functions/vfprintf.texi: Update.
68570         * doc/posix-functions/vprintf.texi: Update.
68571         * doc/posix-functions/vsnprintf.texi: Update.
68572         * doc/posix-functions/vsprintf.texi: Update.
68573         * doc/glibc-functions/obstack_printf.texi: Update.
68574         * doc/glibc-functions/obstack_vprintf.texi: Update.
68575         Reported by Eric Blake.
68577 2009-02-25  Bruno Haible  <bruno@clisp.org>
68579         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
68580         with known value.
68581         Reported by Gary V. Vaughan <gary@gnu.org>.
68583 2009-02-25  Bruno Haible  <bruno@clisp.org>
68585         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
68586         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
68587         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
68588         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
68589         Reported by Gary V. Vaughan <gary@gnu.org>.
68591 2009-02-25  Bruno Haible  <bruno@clisp.org>
68593         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
68594         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
68595         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
68596         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
68597         Reported by Gary V. Vaughan <gary@gnu.org>.
68599 2009-02-25  Eric Blake  <ebb9@byu.net>
68601         tests: skip fseek/ftell tests if ungetc is broken
68602         * m4/ungetc.m4: New file.
68603         * modules/fseek-tests: Split test, so ungetc dependency is
68604         separate from rest of test.
68605         * modules/fseeko-tests: Likewise.
68606         * modules/ftell-tests: Likewise.
68607         * modules/ftello-tests: Likewise.
68608         * tests/test-fseek.c (main): Isolate ungetc dependency.
68609         * tests/test-fseeko.c (main): Likewise.
68610         * tests/test-ftell.c (main): Likewise.
68611         * tests/test-ftello.c (main): Likewise.
68612         * tests/test-fseek2.sh: New file.
68613         * tests/test-fseeko2.sh: Likewise.
68614         * tests/test-ftell2.sh: Likewise.
68615         * tests/test-ftello2.sh: Likewise.
68617 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
68619         test-getaddrinfo: fix usage of skip return code 77
68620         * tests/test-gettaddrinfo.c: Return skip code 77 only
68621         for first occurrence of skip (4x77 is not 77)
68623 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
68625         strtod: avoid C99 decl-after-statement
68626         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
68628 2009-02-24  Eric Blake  <ebb9@byu.net>
68630         strtod: detect HP-UX 11.31 bug
68631         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
68632         Reported by Gary V. Vaughan.
68634 2009-02-23  Bruno Haible  <bruno@clisp.org>
68636         Fix invalid read past end of memory block.
68637         * lib/vasnprintf.c (DCHAR_SET): Define.
68638         (local_wcslen): Define only when needed.
68639         (local_strnlen, local_wcsnlen): New functions.
68640         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
68641         directives that involve a conversion ourselves.
68642         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
68643         wcsnlen, mbrtowc, wcrtomb.
68644         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
68645         * tests/test-vasprintf-posix.c (test_function): Likewise.
68646         * tests/test-snprintf-posix.h (test_function): Likewise.
68647         * tests/test-sprintf-posix.h (test_function): Likewise.
68648         Reported by Ben Pfaff <blp@cs.stanford.edu>.
68650 2009-02-22  Bruno Haible  <bruno@clisp.org>
68652         Implement new clarified decomposition of Hangul syllables.
68653         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
68654         of type LTV, return only a pairwise decomposition.
68655         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
68656         Likewise.
68657         * tests/uninorm/test-decomposition.c (main): Updated expected result.
68658         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
68659         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
68661 2009-02-22  Bruno Haible  <bruno@clisp.org>
68663         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
68664         zero-length results and shrink excess allocated memory.
68665         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
68666         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
68667         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
68668         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
68669         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
68670         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
68671         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
68672         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
68673         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
68674         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
68675         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
68676         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
68678 2009-02-21  Bruno Haible  <bruno@clisp.org>
68680         * doc/gnulib.texi: Include safe-alloc.texi earlier.
68681         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
68682         spaces after a period. Put a space between a macro name and its
68683         argument list. Trivial rewordings.
68684         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
68685         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
68686         (main): Return 0 explicitly.
68688 2009-02-21  Bruno Haible  <bruno@clisp.org>
68690         Tests for module 'uninorm/filter'.
68691         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
68692         * modules/uninorm/filter-tests: New file.
68694         New module 'uninorm/filter'.
68695         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
68696         uninorm_filter_flush, uninorm_filter_free): New declarations.
68697         * lib/uninorm/uninorm-filter.c: New file.
68698         * modules/uninorm/filter: New file.
68700 2009-02-21  Bruno Haible  <bruno@clisp.org>
68702         Tests for module 'uninorm/nfkc'.
68703         * tests/uninorm/test-nfkc.c: New file.
68704         * tests/uninorm/test-u8-nfkc.c: New file.
68705         * tests/uninorm/test-u16-nfkc.c: New file.
68706         * tests/uninorm/test-u32-nfkc.c: New file.
68707         * tests/uninorm/test-u32-nfkc-big.sh: New file.
68708         * tests/uninorm/test-u32-nfkc-big.c: New file.
68709         * modules/uninorm/nfkc-tests: New file.
68711         New module 'uninorm/nfkc'.
68712         * lib/uninorm/nfkc.c: New file.
68713         * modules/uninorm/nfkc: New file.
68715         Tests for module 'uninorm/nfkd'.
68716         * tests/uninorm/test-nfkd.c: New file.
68717         * tests/uninorm/test-u8-nfkd.c: New file.
68718         * tests/uninorm/test-u16-nfkd.c: New file.
68719         * tests/uninorm/test-u32-nfkd.c: New file.
68720         * tests/uninorm/test-u32-nfkd-big.sh: New file.
68721         * tests/uninorm/test-u32-nfkd-big.c: New file.
68722         * modules/uninorm/nfkd-tests: New file.
68724         New module 'uninorm/nfkd'.
68725         * lib/uninorm/nfkd.c: New file.
68726         * modules/uninorm/nfkd: New file.
68728         Tests for module 'uninorm/nfc'.
68729         * tests/uninorm/test-nfc.c: New file.
68730         * tests/uninorm/test-u8-nfc.c: New file.
68731         * tests/uninorm/test-u16-nfc.c: New file.
68732         * tests/uninorm/test-u32-nfc.c: New file.
68733         * tests/uninorm/test-u32-nfc-big.sh: New file.
68734         * tests/uninorm/test-u32-nfc-big.c: New file.
68735         * modules/uninorm/nfc-tests: New file.
68737         New module 'uninorm/nfc'.
68738         * lib/uninorm/nfc.c: New file.
68739         * modules/uninorm/nfc: New file.
68741         Tests for module 'uninorm/nfd'.
68742         * tests/uninorm/test-nfd.c: New file.
68743         * tests/uninorm/test-u8-nfd.c: New file.
68744         * tests/uninorm/test-u16-nfd.c: New file.
68745         * tests/uninorm/test-u32-nfd.c: New file.
68746         * tests/uninorm/test-u32-nfd-big.sh: New file.
68747         * tests/uninorm/test-u32-nfd-big.c: New file.
68748         * tests/uninorm/test-u32-normalize-big.h: New file.
68749         * tests/uninorm/test-u32-normalize-big.c: New file.
68750         * tests/uninorm/NormalizationTest.txt: New file, created from
68751         Unicode 5.1.0 NormalizationTest.txt.
68752         * modules/uninorm/nfd-tests: New file.
68754         New module 'uninorm/nfd'.
68755         * lib/uninorm/nfd.c: New file.
68756         * modules/uninorm/nfd: New file.
68758         New module 'uninorm/u32-normalize'.
68759         * lib/uninorm/u32-normalize.c: New file.
68760         * modules/uninorm/u32-normalize: New file.
68762         New module 'uninorm/u16-normalize'.
68763         * lib/uninorm/u16-normalize.c: New file.
68764         * modules/uninorm/u16-normalize: New file.
68766         New module 'uninorm/u8-normalize'.
68767         * lib/uninorm/u8-normalize.c: New file.
68768         * lib/uninorm/normalize-internal.h: New file.
68769         * lib/uninorm/u-normalize-internal.h: New file.
68770         * modules/uninorm/u8-normalize: New file.
68772         New module 'uninorm/decompose-internal'.
68773         * lib/uninorm/decompose-internal.c: New file.
68774         * modules/uninorm/decompose-internal: New file.
68776         Tests for module 'uninorm/composition'.
68777         * tests/uninorm/test-composition.c: New file.
68778         * modules/uninorm/composition-tests: New file.
68780         New module 'uninorm/composition'.
68781         * lib/uninorm/composition.c: New file.
68782         * lib/uninorm/composition-table.gperf: New file, generated by
68783         gen-uni-tables.
68784         * modules/uninorm/composition: New file.
68786         Tests for module 'uninorm/compat-decomposition'.
68787         * tests/uninorm/test-compat-decomposition.c: New file.
68788         * modules/uninorm/compat-decomposition-tests: New file.
68790         New module 'uninorm/compat-decomposition'.
68791         * lib/uninorm/decompose-internal.h: New file.
68792         * lib/uninorm/compat-decomposition.c: New file.
68793         * modules/uninorm/compat-decomposition: New file.
68795         Tests for module 'uninorm/canonical-decomposition'.
68796         * tests/uninorm/test-canonical-decomposition.c: New file.
68797         * modules/uninorm/canonical-decomposition-tests: New file.
68799         New module 'uninorm/canonical-decomposition'.
68800         * lib/uninorm/canonical-decomposition.c: New file.
68801         * modules/uninorm/canonical-decomposition: New file.
68803         Tests for module 'uninorm/decomposition'.
68804         * tests/uninorm/test-decomposition.c: New file.
68805         * modules/uninorm/decomposition-tests: New file.
68807         New module 'uninorm/decomposition'.
68808         * lib/uninorm/decomposition.c: New file.
68809         * modules/uninorm/decomposition: New file.
68811         New module 'uninorm/decomposition-table'.
68812         * lib/uninorm/decomposition-table.h: New file.
68813         * lib/uninorm/decomposition-table.c: New file.
68814         * lib/uninorm/decomposition-table1.h: New file, generated by
68815         gen-uni-tables.
68816         * lib/uninorm/decomposition-table2.h: New file, generated by
68817         gen-uni-tables.
68818         * modules/uninorm/decomposition-table: New file.
68820         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
68821         (UC_DECOMP_*): New enumeration items.
68822         (get_decomposition): New function.
68823         (struct decomp_table): New type.
68824         (output_decomposition, output_decomposition_tables): New functions.
68825         (unicode_composition_exclusions): New variable.
68826         (fill_composition_exclusions, debug_output_composition_tables): New
68827         functions.
68828         (main): Accept one more argument. Invoke fill_composition_exclusions.
68829         Output decomposition and composition tables.
68831         New module 'uninorm/base'.
68832         * lib/uninorm.h: New file.
68833         * lib/unictype.h: Update comment.
68834         * modules/uninorm/base: New file.
68836 2009-02-21  David Lutterkort  <lutter@redhat.com>
68838         Tests for module 'safe-alloc'.
68839         * tests/test-safe-alloc.c: New file.
68840         * modules/safe-alloc-tests: New file.
68842         New module 'safe-alloc'.
68843         * lib/safe-alloc.h: New file.
68844         * lib/safe-alloc.c: New file.
68845         * m4/safe-alloc.m4: New file.
68846         * modules/safe-alloc: New file.
68847         * doc/safe-alloc.texi: New file.
68848         * doc/gnulib.texi: Include it.
68849         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
68850         safe-alloc.
68852 2009-02-18  Bruno Haible  <bruno@clisp.org>
68854         Fix link error on non-glibc systems.
68855         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
68856         variable.
68857         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
68859 2009-02-18  Jim Meyering  <meyering@redhat.com>
68861         fts: avoid used-uninitialized error due to recent change
68862         * lib/fts.c (fts_read): Guard uses of the new member,
68863         parent->fts_n_dirs_remaining, since it's not relevant for
68864         the parent of a directory specified on the command-line.
68866 2009-02-17  James Youngman  <jay@gnu.org>
68867             Bruno Haible  <bruno@clisp.org>
68869         * m4/include_next.m4: Reformulate comment.
68871 2009-02-16  Jim Meyering  <meyering@redhat.com>
68873         fts: add #if guards so that the fts_lgpl module still builds
68874         * lib/fts.c: Guard just-added hash-table-using parts with
68875         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
68876         Reported by Simon Josefsson.
68878 2009-02-15  Bruno Haible  <bruno@clisp.org>
68880         * modules/array-mergesort-tests: New file.
68881         * tests/test-array-mergesort.c: New file.
68883         New module 'array-mergesort'.
68884         * modules/array-mergesort: New file.
68885         * lib/array-mergesort.h: New file.
68887 2009-02-15  Bruno Haible  <bruno@clisp.org>
68889         Fix 2009-02-07 commit.
68890         * lib/gen-uni-tables.c (output_predicate, output_category,
68891         output_combclass, output_bidi_category, output_decimal_digit,
68892         output_digit, output_numeric, output_mirror, output_scripts,
68893         output_ident_category, output_simple_mapping): Fix format directives.
68894         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
68896 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
68898         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
68899         fixes are available from IBM.
68901 2009-02-13  Jim Meyering  <meyering@redhat.com>
68903         fts: arrange not to stat non-directories in more cases
68904         This makes GNU find (when it doesn't need to stat each file)
68905         *much* more efficient at traversing reiserfs file systems.
68906         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
68907         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
68908         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
68909         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
68910         (leaf_optimization_applies): New function.
68911         (LCO_hash, LCO_compare): New helper functions.
68912         (link_count_optimize_ok): New function.
68913         (fts_stat): Initialize new member (if dir).
68914         (fts_read): Decrement parent's fts_n_dirs_remaining count if
68915         we've just stat'ed a directory.  Skip the stat call when possible.
68916         ---
68917         Note this AFS-related exchange:
68918         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
68919         and note find's pioctl call in find/fstype.c.
68920         But that is necessary only if you want to enable the
68921         optimization for AFS, and for now, I don't.
68923         fts: move a function definition "up" (no semantic change)
68924         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
68925         "up" to precede upcoming use of a related function.
68927 2009-02-11  Jim Meyering  <meyering@redhat.com>
68929         fts: correct internal computation of nlinks (optimization-related)
68930         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
68931         whether the current entry is a directory, so don't test it.
68933 2009-02-10  Bruno Haible  <bruno@clisp.org>
68935         Tests for module 'uniwbrk/ulc-wordbreaks'.
68936         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
68937         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
68938         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
68940         Tests for module 'uniwbrk/u32-wordbreaks'.
68941         * modules/uniwbrk/u32-wordbreaks-tests: New file.
68942         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
68944         Tests for module 'uniwbrk/u16-wordbreaks'.
68945         * modules/uniwbrk/u16-wordbreaks-tests: New file.
68946         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
68948         Tests for module 'uniwbrk/u8-wordbreaks'.
68949         * modules/uniwbrk/u8-wordbreaks-tests: New file.
68950         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
68952 2009-02-10  Bruno Haible  <bruno@clisp.org>
68954         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
68955         property.
68956         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
68957         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
68958         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
68960 2009-02-10  Simon Josefsson  <simon@josefsson.org>
68962         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
68963         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
68965 2009-02-10  Bruno Haible  <bruno@clisp.org>
68967         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
68968         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
68969         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
68970         * lib/unilbrk/u8-possible-linebreaks.c: Update.
68971         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
68972         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
68974 2009-02-09  Simon Josefsson  <simon@josefsson.org>
68976         * lib/sockets.h (gl_fd_to_handle): New function.
68978         * tests/test-sockets.c: Call gl_fd_to_handle.
68980 2009-02-09  Bruno Haible  <bruno@clisp.org>
68982         * doc/havelib.texi: Document the conventions on bi-arch systems.
68984 2009-02-08  Bruno Haible  <bruno@clisp.org>
68986         Document the AC_LIB_LINKFLAGS macro.
68987         * doc/havelib.texi: New file, mostly written on 2005-05-24.
68988         * doc/gnulib.texi: Include it.
68990 2009-02-08  Bruno Haible  <bruno@clisp.org>
68992         Fix wrong order of sections, compared to TOC.
68993         * doc/gnulib.texi: Include relocatable-maint.texi after the
68994         "Regular expressions" node, not before.
68996 2009-02-08  Bruno Haible  <bruno@clisp.org>
68998         Tests for module 'unicase/totitle'.
68999         * modules/unicase/totitle-tests: New file.
69001         Tests for module 'unicase/tolower'.
69002         * modules/unicase/tolower-tests: New file.
69004         Tests for module 'unicase/toupper'.
69005         * modules/unicase/toupper-tests: New file.
69006         * tests/unicase/test-mapping-part1.h: New file.
69007         * tests/unicase/test-mapping-part2.h: New file.
69009         New module 'unicase/totitle'.
69010         * modules/unicase/totitle: New file.
69011         * lib/unicase/totitle.c: New file.
69013         New module 'unicase/tolower'.
69014         * modules/unicase/tolower: New file.
69015         * lib/unicase/tolower.c: New file.
69017         New module 'unicase/toupper'.
69018         * modules/unicase/toupper: New file.
69019         * lib/unicase/toupper.c: New file.
69020         * lib/unicase/simple-mapping.h: New file.
69022         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
69023         (mapping_table): New structure.
69024         (output_simple_mapping): New function.
69025         (main): Invoke output_simple_mapping_test and output_simple_mapping.
69026         * modules/gen-uni-tables (Description): Update.
69027         * lib/unicase/toupper.h: New file, automatically generated by
69028         gen-uni-tables.
69029         * lib/unicase/tolower.h: New file, automatically generated by
69030         gen-uni-tables.
69031         * lib/unicase/totitle.h: New file, automatically generated by
69032         gen-uni-tables.
69033         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
69034         gen-uni-tables.
69035         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
69036         gen-uni-tables.
69037         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
69038         gen-uni-tables.
69040         New module 'unicase/base'.
69041         * modules/unicase/base: New file.
69042         * lib/unicase.h: New file.
69044 2009-02-08  Bruno Haible  <bruno@clisp.org>
69046         New module 'uniwbrk/ulc-wordbreaks'.
69047         * modules/uniwbrk/ulc-wordbreaks: New file.
69048         * lib/uniwbrk/ulc-wordbreaks.c: New file.
69050         New module 'uniwbrk/u32-wordbreaks'.
69051         * modules/uniwbrk/u32-wordbreaks: New file.
69052         * lib/uniwbrk/u32-wordbreaks.c: New file.
69054         New module 'uniwbrk/u16-wordbreaks'.
69055         * modules/uniwbrk/u16-wordbreaks: New file.
69056         * lib/uniwbrk/u16-wordbreaks.c: New file.
69058         New module 'uniwbrk/u8-wordbreaks'.
69059         * modules/uniwbrk/u8-wordbreaks: New file.
69060         * lib/uniwbrk/u8-wordbreaks.c: New file.
69061         * lib/uniwbrk/u-wordbreaks.h: New file.
69063         New module 'uniwbrk/table'.
69064         * modules/uniwbrk/table: New file.
69065         * lib/uniwbrk/wbrktable.h: New file.
69066         * lib/uniwbrk/wbrktable.c: New file.
69068         New module 'uniwbrk/wordbreak-property'.
69069         * modules/uniwbrk/wordbreak-property: New file.
69070         * lib/uniwbrk/wordbreak-property.c: New file.
69072         * lib/gen-uni-tables.c (WBP_*): New enum items.
69073         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
69074         (unicode_org_wbp): New variable.
69075         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
69076         New functions.
69077         (wbp_table): New structure.
69078         (output_wbp, output_wbrk_tables): New functions.
69079         (main): Accept additional argument. Invoke fill_org_wbp,
69080         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
69081         output_wbrk_tables.
69082         * modules/gen-uni-tables (Description): Update.
69083         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
69084         gen-uni-tables.
69086         New module 'uniwbrk/base'.
69087         * modules/uniwbrk/base: New file.
69088         * lib/uniwbrk.h: New file.
69090 2009-02-08  Bruno Haible  <bruno@clisp.org>
69092         Update to Unicode 5.1.0.
69093         * lib/gen-uni-tables.c (is_property_alphabetic): Include
69094         U+2185..U+2188.
69095         (is_property_default_ignorable_code_point): Don't include characters
69096         of category Cc or Cs and not-a-characters.
69097         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
69098         U+0D79, U+109E, U+109F, U+A60C.
69099         * lib/unictype/bidi_of.h: Regenerated.
69100         * lib/unictype/blocks.h: Regenerated.
69101         * lib/unictype/categ_C.h: Regenerated.
69102         * lib/unictype/categ_Cf.h: Regenerated.
69103         * lib/unictype/categ_Cn.h: Regenerated.
69104         * lib/unictype/categ_L.h: Regenerated.
69105         * lib/unictype/categ_Ll.h: Regenerated.
69106         * lib/unictype/categ_Lm.h: Regenerated.
69107         * lib/unictype/categ_Lo.h: Regenerated.
69108         * lib/unictype/categ_Lu.h: Regenerated.
69109         * lib/unictype/categ_M.h: Regenerated.
69110         * lib/unictype/categ_Mc.h: Regenerated.
69111         * lib/unictype/categ_Me.h: Regenerated.
69112         * lib/unictype/categ_Mn.h: Regenerated.
69113         * lib/unictype/categ_N.h: Regenerated.
69114         * lib/unictype/categ_Nd.h: Regenerated.
69115         * lib/unictype/categ_Nl.h: Regenerated.
69116         * lib/unictype/categ_No.h: Regenerated.
69117         * lib/unictype/categ_P.h: Regenerated.
69118         * lib/unictype/categ_Pd.h: Regenerated.
69119         * lib/unictype/categ_Pe.h: Regenerated.
69120         * lib/unictype/categ_Pf.h: Regenerated.
69121         * lib/unictype/categ_Pi.h: Regenerated.
69122         * lib/unictype/categ_Po.h: Regenerated.
69123         * lib/unictype/categ_Ps.h: Regenerated.
69124         * lib/unictype/categ_S.h: Regenerated.
69125         * lib/unictype/categ_Sk.h: Regenerated.
69126         * lib/unictype/categ_Sm.h: Regenerated.
69127         * lib/unictype/categ_So.h: Regenerated.
69128         * lib/unictype/categ_of.h: Regenerated.
69129         * lib/unictype/combining.h: Regenerated.
69130         * lib/unictype/ctype_alnum.h: Regenerated.
69131         * lib/unictype/ctype_alpha.h: Regenerated.
69132         * lib/unictype/ctype_graph.h: Regenerated.
69133         * lib/unictype/ctype_lower.h: Regenerated.
69134         * lib/unictype/ctype_print.h: Regenerated.
69135         * lib/unictype/ctype_punct.h: Regenerated.
69136         * lib/unictype/ctype_upper.h: Regenerated.
69137         * lib/unictype/decdigit.h: Regenerated.
69138         * lib/unictype/digit.h: Regenerated.
69139         * lib/unictype/mirror.h: Regenerated.
69140         * lib/unictype/numeric.h: Regenerated.
69141         * lib/unictype/pr_alphabetic.h: Regenerated.
69142         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
69143         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
69144         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
69145         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
69146         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
69147         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
69148         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
69149         * lib/unictype/pr_combining.h: Regenerated.
69150         * lib/unictype/pr_dash.h: Regenerated.
69151         * lib/unictype/pr_decimal_digit.h: Regenerated.
69152         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
69153         * lib/unictype/pr_deprecated.h: Regenerated.
69154         * lib/unictype/pr_diacritic.h: Regenerated.
69155         * lib/unictype/pr_extender.h: Regenerated.
69156         * lib/unictype/pr_format_control.h: Regenerated.
69157         * lib/unictype/pr_grapheme_base.h: Regenerated.
69158         * lib/unictype/pr_grapheme_extend.h: Regenerated.
69159         * lib/unictype/pr_grapheme_link.h: Regenerated.
69160         * lib/unictype/pr_id_continue.h: Regenerated.
69161         * lib/unictype/pr_id_start.h: Regenerated.
69162         * lib/unictype/pr_ideographic.h: Regenerated.
69163         * lib/unictype/pr_ignorable_control.h: Regenerated.
69164         * lib/unictype/pr_lowercase.h: Regenerated.
69165         * lib/unictype/pr_math.h: Regenerated.
69166         * lib/unictype/pr_numeric.h: Regenerated.
69167         * lib/unictype/pr_other_alphabetic.h: Regenerated.
69168         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
69169         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
69170         * lib/unictype/pr_other_id_continue.h: Regenerated.
69171         * lib/unictype/pr_other_lowercase.h: Regenerated.
69172         * lib/unictype/pr_other_math.h: Regenerated.
69173         * lib/unictype/pr_punctuation.h: Regenerated.
69174         * lib/unictype/pr_sentence_terminal.h: Regenerated.
69175         * lib/unictype/pr_soft_dotted.h: Regenerated.
69176         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
69177         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
69178         * lib/unictype/pr_unified_ideograph.h: Regenerated.
69179         * lib/unictype/pr_uppercase.h: Regenerated.
69180         * lib/unictype/pr_xid_continue.h: Regenerated.
69181         * lib/unictype/pr_xid_start.h: Regenerated.
69182         * lib/unictype/pr_zero_width.h: Regenerated.
69183         * lib/unictype/scripts.h: Regenerated.
69184         * lib/unictype/scripts_byname.gperf: Regenerated.
69185         * lib/unictype/sy_java_ident.h: Regenerated.
69186         * lib/unilbrk/lbrkprop1.h: Regenerated.
69187         * lib/unilbrk/lbrkprop2.h: Regenerated.
69188         * tests/unictype/test-categ_C.c: Regenerated.
69189         * tests/unictype/test-categ_Cf.c: Regenerated.
69190         * tests/unictype/test-categ_Cn.c: Regenerated.
69191         * tests/unictype/test-categ_L.c: Regenerated.
69192         * tests/unictype/test-categ_Ll.c: Regenerated.
69193         * tests/unictype/test-categ_Lm.c: Regenerated.
69194         * tests/unictype/test-categ_Lo.c: Regenerated.
69195         * tests/unictype/test-categ_Lu.c: Regenerated.
69196         * tests/unictype/test-categ_M.c: Regenerated.
69197         * tests/unictype/test-categ_Mc.c: Regenerated.
69198         * tests/unictype/test-categ_Me.c: Regenerated.
69199         * tests/unictype/test-categ_Mn.c: Regenerated.
69200         * tests/unictype/test-categ_N.c: Regenerated.
69201         * tests/unictype/test-categ_Nd.c: Regenerated.
69202         * tests/unictype/test-categ_Nl.c: Regenerated.
69203         * tests/unictype/test-categ_No.c: Regenerated.
69204         * tests/unictype/test-categ_P.c: Regenerated.
69205         * tests/unictype/test-categ_Pd.c: Regenerated.
69206         * tests/unictype/test-categ_Pe.c: Regenerated.
69207         * tests/unictype/test-categ_Pf.c: Regenerated.
69208         * tests/unictype/test-categ_Pi.c: Regenerated.
69209         * tests/unictype/test-categ_Po.c: Regenerated.
69210         * tests/unictype/test-categ_Ps.c: Regenerated.
69211         * tests/unictype/test-categ_S.c: Regenerated.
69212         * tests/unictype/test-categ_Sk.c: Regenerated.
69213         * tests/unictype/test-categ_Sm.c: Regenerated.
69214         * tests/unictype/test-categ_So.c: Regenerated.
69215         * tests/unictype/test-ctype_alnum.c: Regenerated.
69216         * tests/unictype/test-ctype_alpha.c: Regenerated.
69217         * tests/unictype/test-ctype_graph.c: Regenerated.
69218         * tests/unictype/test-ctype_lower.c: Regenerated.
69219         * tests/unictype/test-ctype_print.c: Regenerated.
69220         * tests/unictype/test-ctype_punct.c: Regenerated.
69221         * tests/unictype/test-ctype_upper.c: Regenerated.
69222         * tests/unictype/test-decdigit.h: Regenerated.
69223         * tests/unictype/test-digit.h: Regenerated.
69224         * tests/unictype/test-numeric.h: Regenerated.
69225         * tests/unictype/test-pr_alphabetic.c: Regenerated.
69226         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
69227         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
69228         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
69229         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
69230         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
69231         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
69232         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
69233         * tests/unictype/test-pr_combining.c: Regenerated.
69234         * tests/unictype/test-pr_dash.c: Regenerated.
69235         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
69236         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
69237         * tests/unictype/test-pr_deprecated.c: Regenerated.
69238         * tests/unictype/test-pr_diacritic.c: Regenerated.
69239         * tests/unictype/test-pr_extender.c: Regenerated.
69240         * tests/unictype/test-pr_format_control.c: Regenerated.
69241         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
69242         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
69243         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
69244         * tests/unictype/test-pr_id_continue.c: Regenerated.
69245         * tests/unictype/test-pr_id_start.c: Regenerated.
69246         * tests/unictype/test-pr_ideographic.c: Regenerated.
69247         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
69248         * tests/unictype/test-pr_lowercase.c: Regenerated.
69249         * tests/unictype/test-pr_math.c: Regenerated.
69250         * tests/unictype/test-pr_numeric.c: Regenerated.
69251         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
69252         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
69253         Regenerated.
69254         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
69255         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
69256         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
69257         * tests/unictype/test-pr_other_math.c: Regenerated.
69258         * tests/unictype/test-pr_punctuation.c: Regenerated.
69259         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
69260         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
69261         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
69262         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
69263         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
69264         * tests/unictype/test-pr_uppercase.c: Regenerated.
69265         * tests/unictype/test-pr_xid_continue.c: Regenerated.
69266         * tests/unictype/test-pr_xid_start.c: Regenerated.
69267         * tests/unictype/test-pr_zero_width.c: Regenerated.
69269         Update to Unicode 5.1.0.
69270         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
69271         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
69272         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
69273         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
69274         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
69275         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
69276         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
69277         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
69278         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
69279         (nonspacing_table_ind): Update.
69280         * tests/uniwidth/test-uc_width2.sh: Update expected result.
69282         Update to Unicode 5.1.0.
69283         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
69284         code transform.
69285         * lib/uniname/uniname.c (unicode_character_name,
69286         unicode_name_character): Add the range 0x1Fxxx to the code transform.
69287         * lib/uniname/uninames.h: Regenerated.
69288         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
69290 2009-02-07  Bruno Haible  <bruno@clisp.org>
69292         Merge gen-ctype and gen-lbrk into a single program.
69293         * lib/gen-uni-tables.c: New file, incorporating
69294         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
69295         Add directory prefixes to the names of the generated files.
69296         * lib/unictype/gen-ctype.c: Remove file.
69297         * lib/unilbrk/gen-lbrk.c: Remove file.
69298         * modules/gen-uni-tables: New file.
69299         * modules/unictype/gen-ctype: Remove file.
69300         * modules/unilbrk/gen-lbrk: Remove file.
69302 2009-02-07  Bruno Haible  <bruno@clisp.org>
69304         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
69306         New module 'unistr/u32-strcoll'.
69307         * modules/unistr/u32-strcoll: New file.
69308         * lib/unistr/u32-strcoll.c: New file.
69310         New module 'unistr/u16-strcoll'.
69311         * modules/unistr/u16-strcoll: New file.
69312         * lib/unistr/u16-strcoll.c: New file.
69314         New module 'unistr/u8-strcoll'.
69315         * modules/unistr/u8-strcoll: New file.
69316         * lib/unistr/u8-strcoll.c: New file.
69317         * lib/unistr/u-strcoll.h: New file.
69319 2009-02-07  Bruno Haible  <bruno@clisp.org>
69321         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
69322         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
69323         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
69324         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
69325         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
69326         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
69328 2009-02-07  Bruno Haible  <bruno@clisp.org>
69330         Make 64-bit clean.
69331         * lib/unictype/gen-ctype.c (output_predicate, output_category,
69332         output_combclass, output_bidi_category, output_decimal_digit,
69333         output_digit, output_numeric, output_mirror, output_scripts,
69334         output_ident_category): Use proper width specifier in format strings.
69336 2009-02-07  Bruno Haible  <bruno@clisp.org>
69338         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
69339         failure behaviour.
69341 2009-02-07  Jim Meyering  <meyering@redhat.com>
69343         regex: avoid compilation failure with upcoming gcc-4.4
69344         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
69345         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
69346         "... error: integer overflow in preprocessor expression".
69348 2009-02-05  Ben Pfaff  <blp@gnu.org>
69350         Fix link errors on Windows when close module is used.
69351         * modules/close: Add $(LIB_CLOSE) to Link section.
69352         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
69353         $(LIB_CLOSE) on Windows.
69355 2009-02-05  Jim Meyering  <meyering@redhat.com>
69357         still avoid unused-parameter warnings, but do it cleanly
69358         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
69359         (get_fs_usage): Cast to void instead.
69360         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
69361         (dev_from_mount_options, read_file_system_list): Cast to void.
69362         Prompted by Bruno Haible.
69364 2009-02-04  Jim Meyering  <meyering@redhat.com>
69366         fsusage.c: correct copyright year
69367         * lib/fsusage.c: Reflect year in which the change is pushed into
69369         avoid misc. warnings
69370         * lib/fsusage.c (UNUSED_PARAM): Define.
69371         (get_fs_usage): Mark parameter "disk" as unused.
69372         * lib/getugroups.c (getgrent): Use "void" in prototype.
69373         * lib/mountlist.c: Mark unused parameters.
69374         (read_file_system_list): Declare a local with "const".
69375         * lib/nanosleep.c (getnow): Declare static.
69376         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
69378         dirfd: set errno upon failure
69379         * lib/dirfd.c: Include <errno.h>.
69380         Set errno to ENOTSUP when returning -1.
69381         * modules/dirfd (Depends-on): Add errno.
69382         Suggested by John Kodis <kodis@comcast.net>.
69384 2009-02-01  Bruno Haible  <bruno@clisp.org>
69386         Don't assume sizeof (long) >= sizeof (void *).
69387         * lib/memcmp.c: Include stdint.h.
69388         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
69389         srcp2 to 'const byte *'.
69390         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
69391         types to uintptr_t.
69392         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
69393         * modules/memcmp (Depends-on): Add stdint.
69394         Reported by Ozkan Sezer <sezeroz@gmail.com>.
69396 2009-01-30  Eric Blake  <ebb9@byu.net>
69398         fix more require-before-expand issues
69399         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
69400         expand, AC_PROG_AWK.
69401         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
69403 2009-01-28  Eric Blake  <ebb9@byu.net>
69405         version-etc: use consistent URL formatting
69406         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
69407         Improve formatting.  Use fputs for string without %.
69409 2009-01-28  Jim Meyering  <meyering@redhat.com>
69411         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
69412         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
69413         "underquoted definition of NAME" from autoconf-2.59.
69415 2009-01-28  Bruno Haible  <bruno@clisp.org>
69417         * doc/gnulib.texi: Add "Obsolete modules" to index.
69419 2009-01-28  Jim Meyering  <meyering@redhat.com>
69421         useless-if-before-free: recognize more variants
69422         * build-aux/useless-if-before-free: Also recognize e.g.,
69423         if (NULL != p) free (p);
69425 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
69427         test-getaddrinfo: skip (don't fail) this test when there's no network
69428         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
69429         on the presumption that it means you lack network access.
69431 2009-01-26  Jim Meyering  <meyering@redhat.com>
69433         fflush: avoid warnings on modern systems
69434         * lib/fflush.c (rpl_fflush): Move declarations of locals,
69435         pos and result, into scopes where they're used.
69437 2009-01-26  Eric Blake  <ebb9@byu.net>
69439         Silence warning reintroduced by recent extensions patch.
69440         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
69441         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
69442         autoconf.
69444         Backport improved autoconf semantics of AC_DEFUN_ONCE.
69445         * m4/00gnulib.m4: New file.
69446         * gnulib-tool (func_get_filelist): Always use it.
69447         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
69448         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
69450 2009-01-25  Bruno Haible  <bruno@clisp.org>
69452         Make test-quotearg work on MacOS X and AIX.
69453         * tests/test-quotearg.sh: New file.
69454         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
69455         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
69456         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
69457         include <libintl.h>.
69458         (fake_locale): Remove variable.
69459         (gettext, dgettext, dcgettext): Remove functions.
69460         (main): Instead of setting a fake locale, set a real locale. Call
69461         textdomain and bindtextdomain.
69462         * modules/quotearg-tests (Files): Add the new files.
69463         (Depends-on): Add gettext, setenv, unsetenv.
69464         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
69465         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
69466         Augment TESTS_ENVIRONMENT.
69468 2009-01-25  Bruno Haible  <bruno@clisp.org>
69470         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
69471         fr_FR.ISO8859-1 locale on MacOS X.
69472         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
69473         ja_JP.eucJP locale on MacOS X.
69474         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
69475         zh_CN.GB18030 locale on MacOS X.
69477 2009-01-25  Bruno Haible  <bruno@clisp.org>
69479         Avoid link errors on MacOS X 10.3.
69480         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
69481         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
69483 2009-01-25  Bruno Haible  <bruno@clisp.org>
69485         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
69486         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
69487         * modules/pipe (Files): Remove m4/posix_spawn.m4.
69488         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
69489         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
69490         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
69491         posix_spawnattr_init, posix_spawnattr_setsigmask,
69492         posix_spawnattr_setflags, posix_spawnattr_destroy.
69494         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
69495         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
69496         * modules/execute (Files): Remove m4/posix_spawn.m4.
69497         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
69498         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
69499         posix_spawnattr_init, posix_spawnattr_setsigmask,
69500         posix_spawnattr_setflags, posix_spawnattr_destroy.
69502 2009-01-25  Bruno Haible  <bruno@clisp.org>
69504         * lib/glthread/threadlib.c: Include <stdlib.h>.
69506 2009-01-25  Bruno Haible  <bruno@clisp.org>
69508         * lib/glthread/threadlib.c (dummy): New declaration.
69510 2009-01-25  Bruno Haible  <bruno@clisp.org>
69512         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
69513         multibyte characters also for the GB18030 encoding. Don't crash when
69514         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
69516 2009-01-25  Bruno Haible  <bruno@clisp.org>
69518         Avoid redefining 'struct random_data' on OSF/1 5.1.
69519         * lib/stdlib.in.h: Include <random.h> if it exists.
69520         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
69521         HAVE_RANDOM_H. Include <random.h> when testing whether
69522         'struct random_data' exists.
69523         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
69525 2009-01-25  Bruno Haible  <bruno@clisp.org>
69527         Don't install charset.alias on MacOS X >= 10.3.
69528         * lib/localcharset.c (DARWIN7): New macro.
69529         (get_charset_aliases): Hardcode the result for Darwin7.
69530         * modules/localcharset (install-exec-local): Don't install
69531         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
69533 2009-01-25  Bruno Haible  <bruno@clisp.org>
69535         Don't install charset.alias on mingw and Cygwin.
69536         * modules/localcharset (install-exec-local): Don't install
69537         charset.alias on mingw and Cygwin, if the file does not yet exist.
69538         The result for these platforms is hardcoded in localcharset.c.
69540 2009-01-25  Bruno Haible  <bruno@clisp.org>
69542         Make it possible again to use AC_GNU_SOURCE together with gnulib.
69543         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
69544         before requiring AC_USE_SYSTEM_EXTENSIONS.
69546 2009-01-25  Jim Meyering  <meyering@redhat.com>
69548         c-strtod: avoid warnings
69549         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
69550         "assignment discards qualifiers from pointer target type" warnings.
69552 2009-01-24  Bruno Haible  <bruno@clisp.org>
69554         Add support for non-UTF-8 locales on MacOS X.
69555         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
69556         canonical encodings. For Darwin 7 and newer, don't map traditional
69557         encodings to UTF-8.
69558         Reported by Vincent Lefevre <vincent@vinc17.org>
69559         at <http://savannah.gnu.org/bugs/?25235>.
69561 2009-01-24  Bruno Haible  <bruno@clisp.org>
69563         * doc/gnulib.texi (Obsolete modules): New section.
69564         Reported by Mike Frysinger <vapier@gentoo.org>.
69566 2009-01-24  Bruno Haible  <bruno@clisp.org>
69568         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
69569         (%.dvi): New rule.
69571 2009-01-24  Bruno Haible  <bruno@clisp.org>
69573         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
69574         Reported by Eric Blake.
69576 2009-01-24  Bruno Haible  <bruno@clisp.org>
69578         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
69579         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
69580         Reported by Gary V. Vaughan <gary@gnu.org>.
69582 2009-01-24  Bruno Haible  <bruno@clisp.org>
69584         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
69586 2009-01-23  Bruno Haible  <bruno@clisp.org>
69588         Make c-strtod, c-strtold usable in libraries.
69589         * lib/c-strtod.c: Include string.h instead of xalloc.h.
69590         (C_STRTOD): Call strdup instead of xstrdup.
69591         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
69592         * modules/c-strtold (Depends-on): Likewise.
69593         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
69594         * NEWS: Mention the change.
69595         Reported by Michael Gold <mgold@ncf.ca>.
69597 2009-01-23  Jim Meyering  <meyering@redhat.com>
69599         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
69600         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
69601         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
69603 2009-01-23  Simon Josefsson  <simon@josefsson.org>
69605         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
69606         GNU CoreUtils.
69607         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
69608         * modules/version-etc (Description): Update.
69610 2009-01-22  Bruno Haible  <bruno@clisp.org>
69612         Cache the C locale object.
69613         * lib/c-strtod.c (c_locale_cache): New variable.
69614         (c_locale): New function.
69615         (C_STRTOD): Use it, and don't call freelocale.
69616         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
69617         Suggested by Paolo Bonzini.
69619 2009-01-21  Bruno Haible  <bruno@clisp.org>
69621         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
69622         conditions other than overflow.
69624 2009-01-21  Bruno Haible  <bruno@clisp.org>
69626         * lib/c-strtod.c: Include errno.h.
69627         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
69628         value from STRTOD_L and STRTOD.
69630 2009-01-21  Bruno Haible  <bruno@clisp.org>
69631         and Jim Meyering  <meyering@redhat.com>
69633         nanosleep: skip configure test (fail it) for apple universal builds
69634         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
69635         universal builds, assume that nanosleep does not work.
69636         * modules/nanosleep (Depends-on): Add multiarch.
69638         mktime: skip configure test (fail it) for apple universal builds
69639         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
69640         universal builds, assume that mktime does not work.
69641         * modules/mktime (Depends-on): Add multiarch.
69643 2009-01-21  Eric Blake  <ebb9@byu.net>
69645         multiarch: avoid expand-before-require warning
69646         * modules/multiarch (configure.ac): Require, rather than expand,
69647         gl_MULTIARCH.
69648         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
69649         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
69650         enforce that all clients require it.  Partial reversion of
69651         2008-12-29 patch.
69653         error: avoid expand-before-require warning
69654         * modules/errno (configure.ac): Require, rather than expand,
69655         gl_HEADER_ERRNO_H.
69656         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
69657         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
69658         enforce that all clients require it.
69660         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
69661         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
69662         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
69663         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
69665 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
69667         Revert:
69668         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
69670         regex: do not depend on obsolete modules.
69671         * modules/regex: Remove memcmp and memmove.
69673 2009-01-20  Bruno Haible  <bruno@clisp.org>
69675         Make the 'link' module link on Windows NT 4.
69676         * lib/link.c (_WIN32_WINNT): Don't define.
69677         (CreateHardLinkFuncType): New type.
69678         (CreateHardLinkFunc, initialized): New variables.
69679         (initialize): New function.
69680         (link): Invoke CreateHardLink indirectly through the function pointer.
69682 2009-01-20  Bruno Haible  <bruno@clisp.org>
69684         Fix compilation failure on mingw.
69685         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
69687 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
69689         * doc/c-strtod.texi: Mention a couple of restrictions.
69691 2009-01-20  Jim Meyering  <meyering@redhat.com>
69693         gettimeofday: move more declarations out of functions
69694         * lib/gettimeofday.c: Move extern declarations of tzset and
69695         gmtime out of containing functions.  Prompted by Bruno Haible.
69697 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
69699         regex: do not depend on obsolete modules.
69700         * modules/regex: Remove memcmp and memmove.
69702 2009-01-19  Bruno Haible  <bruno@clisp.org>
69704         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
69705         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
69706         gl_BIGENDIAN, not AC_C_BIGENDIAN.
69707         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
69708         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
69710 2009-01-19  Bruno Haible  <bruno@clisp.org>
69712         * tests/test-link.c: Include <errno.h>.
69713         (main): Exit with code 77 when a hard link cannot be created due to
69714         the file system.
69715         * tests/test-link.sh: Skip test when a hard link cannot be created due
69716         to the file system.
69717         Suggested by Eric Blake.
69719 2009-01-19  Martin Lambers  <marlam@marlam.de>
69721         * modules/link-tests: New file.
69722         * tests/test-link.sh: New file.
69723         * tests/test-link.c: New file.
69725 2009-01-19  Eric Blake  <ebb9@byu.net>
69727         doc: mention another function added in cygwin 1.7.0
69728         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
69729         Another new function in cygwin 1.7.
69731 2009-01-19  Bruno Haible  <bruno@clisp.org>
69733         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
69734         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
69735         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
69736         gl_BIGENDIAN, not AC_C_BIGENDIAN.
69737         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
69738         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
69739         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
69740         * m4/md4.m4 (gl_MD4): Likewise.
69741         * m4/md5.m4 (gl_MD5): Likewise.
69742         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
69743         * m4/sha1.m4 (gl_SHA1): Likewise.
69744         * m4/sha256.m4 (gl_SHA256): Likewise.
69745         * m4/sha512.m4 (gl_SHA512): Likewise.
69747 2009-01-19  Bruno Haible  <bruno@clisp.org>
69749         * modules/uniname/uniname-tests (Depends-on): Add progname.
69750         * tests/uniname/test-uninames.c: Include progname.h.
69751         (main): Call set_program_name.
69753         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
69754         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
69755         (main): Call set_program_name.
69757         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
69758         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
69759         (main): Call set_program_name.
69761         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
69762         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
69763         (main): Call set_program_name.
69765         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
69766         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
69767         (main): Call set_program_name.
69769         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
69770         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
69771         (main): Call set_program_name.
69773         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
69774         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
69775         (main): Call set_program_name.
69777         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
69778         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
69779         (main): Call set_program_name.
69781         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
69782         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
69783         (main): Call set_program_name.
69785 2009-01-19  Eric Blake  <ebb9@byu.net>
69787         test-unistd: test previous patch
69788         * tests/test-unistd.c: Test *_FILENO macros.
69790         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
69791         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
69792         Guarantee a definition.
69793         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
69794         * modules/unistd-safer (Depends-on): Add dependency on unistd.
69795         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
69796         * lib/dup-safer.c (STDERR_FILENO): Likewise.
69797         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
69798         Likewise.
69799         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
69800         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
69801         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
69802         Likewise.
69803         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
69804         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
69805         (STDERR_FILENO): Likewise.
69806         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
69807         (STDERR_FILENO): Likewise.
69808         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
69809         (STDERR_FILENO): Likewise.
69810         Reported by Elbert Pol.
69812 2009-01-19  Eric Blake  <ebb9@byu.net>
69814         doc: mention more functions added in cygwin 1.7.0
69815         * doc/posix-functions/abort.texi (abort): Update wording related
69816         to cygwin.
69817         * doc/posix-functions/daylight.texi (daylight): Likewise.
69818         * doc/posix-functions/optarg.texi (optarg): Likewise.
69819         * doc/posix-functions/optarg.texi (opterr): Likewise.
69820         * doc/posix-functions/optarg.texi (optind): Likewise.
69821         * doc/posix-functions/optarg.texi (optopt): Likewise.
69822         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
69823         worked in 1.5.x, and was withdrawn in 1.7.
69824         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
69825         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
69826         cygwin versions.
69827         * doc/posix-functions/perror.texi (perror): Likewise.
69828         * doc/posix-functions/printf.texi (printf): Likewise.
69829         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
69830         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
69831         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
69832         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
69833         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
69834         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
69835         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
69836         Likewise.
69837         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
69838         Likewise.
69839         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
69840         this function.
69841         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
69842         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
69843         Likewise.
69844         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
69845         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
69846         * doc/posix-functions/confstr.texi (confstr): Likewise.
69847         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
69848         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
69849         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
69850         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
69851         * doc/posix-functions/fputws.texi (fputws): Likewise.
69852         * doc/posix-functions/fwide.texi (fwide): Likewise.
69853         * doc/posix-functions/getwc.texi (getwc): Likewise.
69854         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
69855         * doc/posix-functions/putwc.texi (putwc): Likewise.
69856         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
69857         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
69858         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
69859         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
69860         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
69861         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
69862         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
69863         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
69864         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
69865         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
69866         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
69868 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
69870         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
69871         * lib/ioctl.c: Include <sys/ioctl.h>.
69873 2009-01-19  Simon Josefsson  <simon@josefsson.org>
69875         * modules/getdate-tests (Depends-on): Add progname.
69876         * tests/test-getdate.c: Use progname module, to avoid link errors
69877         on non-glibc systems.
69879 2009-01-18  Simon Josefsson  <simon@josefsson.org>
69881         * modules/filenamecat-tests (Depends-on): Add progname.
69882         * modules/fstrcmp-tests (Depends-on): Likewise.
69884         * tests/test-filenamecat.c: Use progname module, to avoid link
69885         errors on non-glibc systems.
69886         * tests/test-fstrcmp.c: Likewise.
69888 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
69890         gettimeofday: avoid warning: nested extern declaration of 'localtime'
69891         * lib/gettimeofday.c: Move extern declaration out of function.
69893 2009-01-18  Bruno Haible  <bruno@clisp.org>
69895         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
69896         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
69897         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
69899 2009-01-18  Bruno Haible  <bruno@clisp.org>
69901         * lib/strftime.c (MEMPCPY): Remove unused macro.
69902         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
69904 2009-01-18  Martin Lambers  <marlam@marlam.de>
69906         New module 'link'.
69907         * lib/unistd.in.h (link): New declaration.
69908         * lib/link.c: New file.
69909         * m4/link.m4: New file.
69910         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
69911         HAVE_LINK.
69912         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
69913         * modules/link: New file.
69914         * doc/posix-functions/link.texi: Mention the new module.
69916 2009-01-18  Bruno Haible  <bruno@clisp.org>
69918         * tests/test-avltree_list.c (main): Call set_program_name.
69919         * tests/test-avltree_oset.c (main): Likewise.
69920         * tests/test-obstack-printf.c: Include progname.h.
69921         (main): Call set_program_name.
69922         * tests/test-quotearg.c: Include progname.h.
69923         (main): Call set_program_name.
69924         * tests/test-xmemdup0.c: Include progname.h.
69925         (main): Call set_program_name.
69927 2009-01-18  Bruno Haible  <bruno@clisp.org>
69929         New module 'alphasort'.
69930         * lib/dirent.in.h (alphasort): New declaration.
69931         * lib/alphasort.c: New file, from glibc with modifications.
69932         * m4/alphasort.m4: New file.
69933         * modules/alphasort: New file.
69934         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
69935         HAVE_ALPHASORT.
69936         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
69937         HAVE_ALPHASORT.
69938         * doc/posix-functions/alphasort.texi: Mention the new module and the
69939         portability problems.
69941 2009-01-18  Bruno Haible  <bruno@clisp.org>
69943         New module 'scandir'.
69944         * lib/dirent.in.h (scandir): New declaration.
69945         * lib/scandir.c: New file, from glibc with modifications.
69946         * m4/scandir.m4: New file.
69947         * modules/scandir: New file.
69948         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
69949         HAVE_SCANDIR.
69950         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
69951         HAVE_SCANDIR.
69952         * doc/posix-functions/scandir.texi: Mention the new module and the
69953         portability problems.
69955 2009-01-17  Bruno Haible  <bruno@clisp.org>
69957         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
69958         Update documentation.
69959         (func_remove_suffix): Escape all dots in the suffix. Update
69960         documentation.
69961         (func_filter_filelist): Update documentation.
69962         Reported by Ralf Wildenhues.
69964 2009-01-17  Bruno Haible  <bruno@clisp.org>
69966         * modules/dprintf-posix-tests: New file.
69967         * tests/test-dprintf-posix.sh: New file.
69968         * tests/test-dprintf-posix.c: New file.
69970         New modules 'dprintf', 'dprintf-posix'.
69971         * lib/stdio.in.h (dprintf): New declaration.
69972         * lib/dprintf.c: New file.
69973         * m4/dprintf.m4: New file.
69974         * m4/dprintf-posix.m4: New file.
69975         * modules/dprintf: New file.
69976         * modules/dprintf-posix: New file.
69977         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
69978         HAVE_DPRINTF, REPLACE_DPRINTF.
69979         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
69980         HAVE_DPRINTF, REPLACE_DPRINTF.
69981         * doc/posix-functions/dprintf.texi: Mention the new modules.
69983 2009-01-17  Bruno Haible  <bruno@clisp.org>
69985         * modules/vdprintf-posix-tests: New file.
69986         * tests/test-vdprintf-posix.sh: New file.
69987         * tests/test-vdprintf-posix.c: New file.
69989         New modules 'vdprintf', 'vdprintf-posix'.
69990         * lib/stdio.in.h (vdprintf): New declaration.
69991         * lib/vdprintf.c: New file.
69992         * m4/vdprintf.m4: New file.
69993         * m4/vdprintf-posix.m4: New file.
69994         * modules/vdprintf: New file.
69995         * modules/vdprintf-posix: New file.
69996         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
69997         HAVE_VDPRINTF, REPLACE_VDPRINTF.
69998         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
69999         HAVE_VDPRINTF, REPLACE_VDPRINTF.
70000         * doc/posix-functions/vdprintf.texi: Mention the new modules.
70002 2009-01-17  Bruno Haible  <bruno@clisp.org>
70004         Fix replacement of fopen on mingw.
70005         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
70006         mingw.
70008 2009-01-17  Bruno Haible  <bruno@clisp.org>
70010         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
70011         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
70013 2009-01-17  Bruno Haible  <bruno@clisp.org>
70015         Avoid test-fflush2.sh failure on mingw.
70016         * tests/test-fflush2.c: Include binary-io.h.
70017         (main): Put standard input into binary mode.
70018         * modules/fflush-tests (Depends-on): Add binary-io.
70020 2009-01-17  Bruno Haible  <bruno@clisp.org>
70022         * lib/wchar.in.h: In another particular situation, include only the
70023         system's <wchar.h> file.
70024         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
70025         Reported by Albert Chin-A-Young <china@thewrittenword.com>
70026         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
70028 2009-01-17  Bruno Haible  <bruno@clisp.org>
70030         Support for stripping executables in --enable-relocatable.
70031         * build-aux/install-reloc: Expect one more argument, or an environment
70032         variable RELOC_STRIP_PROG. If set, strip the destination program and
70033         its wrapper.
70034         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
70035         RELOC_STRIP_PROG.
70036         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
70037         to set RELOCATABLE_STRIP.
70038         * NEWS: Mention the new Makefile requirement.
70040 2009-01-17  Bruno Haible  <bruno@clisp.org>
70042         * build-aux/install-reloc: Remove debugging information left over by
70043         C compiler on MacOS X.
70045 2009-01-17  Bruno Haible  <bruno@clisp.org>
70047         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
70048         * lib/progreloc.c (find_executable): Fix type of pointer passed to
70049         _NSGetExecutablePath.
70051 2009-01-16  Jim Meyering  <meyering@redhat.com>
70053         strerror: avoid warnings about discarding "const"
70054         * lib/strerror.c (rpl_strerror): Instead of returning a const
70055         string from each and every "case", use a variable, and add a single
70056         cast after the switch.
70058 2009-01-16  Albert Chin-A-Young  <china@thewrittenword.com>
70060         * lib/arpa_inet.in.h: Add extern "C" block for C++.
70062 2009-01-16  Bruno Haible  <bruno@clisp.org>
70064         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
70065         array initializer syntax that also works in C++ mode.
70066         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
70068 2009-01-16  Jim Meyering  <meyering@redhat.com>
70070         poll: suppress a warning
70071         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
70072         to ignore "...unsigned expression < 0 is always false" warnings.
70074 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
70076         poll: remove declarations of unused variables
70077         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
70078         sockbuf and optlen.
70080 2009-01-15  Bruno Haible  <bruno@clisp.org>
70082         Make fflush-after-ungetc POSIX compliant on BSD systems.
70083         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
70084         (clear_ungetc_buffer): Implement also for other systems.
70085         (rpl_fflush): On glibc systems, invoke
70086         clear_ungetc_buffer_preserving_position. Otherwise, invoke
70087         clear_ungetc_buffer after fetching the stream's position, not before.
70089 2009-01-15  Bruno Haible  <bruno@clisp.org>
70091         Make fflush-after-ungetc POSIX compliant on glibc systems.
70092         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
70093         after ungetc.
70094         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
70095         (rpl_fflush): On glibc systems, simply call the system's fflush
70096         function after clearing the ungetc buffer.
70097         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
70098         Instead, lseek only to the end of file, then use the system's fseeko
70099         for the rest. On glibc systems, reset the EOF indicator bit.
70101 2009-01-15  Jim Meyering  <meyering@redhat.com>
70103         openmp.m4: revert quote-adding change, for portability to older autoconf
70104         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
70105         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
70106         Simon Josefsson noticed the problem when using autoconf-2.61.
70108 2009-01-15  Bruno Haible  <bruno@clisp.org>
70110         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
70111         * tests/test-fflush2.c (ASSERT): Always fail.
70112         (main): Add two tests for fflush() after ungetc(), taking into account
70113         the Austin Group's clarification.
70114         Suggested by Eric Blake.
70116 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
70118         mktime.m4: remove K&R-style function prototypes
70119         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
70120         for the Sun C++ compiler.
70122 2009-01-14  Bruno Haible  <bruno@clisp.org>
70124         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
70125         while including <wchar.h>.
70126         * lib/wchar.in.h: In two particular situations on HP-UX, include only
70127         the system's <wchar.h> file.
70128         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
70130 2009-01-14  Bruno Haible  <bruno@clisp.org>
70132         * m4/csharp.m4: Don't mention gettext on the serial number line.
70133         * m4/csharpexec.m4: Likewise.
70134         * m4/eaccess.m4: Likewise.
70135         * m4/javaexec.m4: Likewise.
70136         * m4/sig_atomic_t.m4: Likewise.
70137         * m4/tmpdir.m4: Likewise.
70138         * m4/intldir.m4: Bump gettext version.
70139         * m4/lib-ld.m4: Likewise.
70141 2009-01-14  Bruno Haible  <bruno@clisp.org>
70143         * lib/progname.c (set_program_name): Add more comments.
70144         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
70146 2009-01-14  Simon Josefsson  <simon@josefsson.org>
70148         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
70149         were sys/stat.h does not define it.
70151 2009-01-14  Jim Meyering  <meyering@redhat.com>
70153         many *.m4 files: improve m4 quoting
70154         99% of this change was performed by running the following commands:
70155         git ls-files | grep '\.m4$' | xargs perl -pi \
70156           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
70157           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
70158           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
70159           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
70160         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
70161         The remainder were to add Copyright dates, increment serial numbers,
70162         undo some changes in comments, exclude m4/intl.m4, and add quotes
70163         around the "1" in ",1" where the unusual spacing prohibited the
70164         above regexps from doing the job.  For more details, see
70165         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
70166         * m4/acl.m4: Modified.
70167         * m4/afs.m4: Likewise.
70168         * m4/alloca.m4: Likewise.
70169         * m4/argp.m4: Likewise.
70170         * m4/argz.m4: Likewise.
70171         * m4/atexit.m4: Likewise.
70172         * m4/bison-i18n.m4: Likewise.
70173         * m4/bison.m4: Likewise.
70174         * m4/byteswap.m4: Likewise.
70175         * m4/c-stack.m4: Likewise.
70176         * m4/c-strtod.m4: Likewise.
70177         * m4/calloc.m4: Likewise.
70178         * m4/canonicalize-lgpl.m4: Likewise.
70179         * m4/chown.m4: Likewise.
70180         * m4/clock_time.m4: Likewise.
70181         * m4/codeset.m4: Likewise.
70182         * m4/copy-file.m4: Likewise.
70183         * m4/csharp.m4: Likewise.
70184         * m4/csharpcomp.m4: Likewise.
70185         * m4/csharpexec.m4: Likewise.
70186         * m4/d-ino.m4: Likewise.
70187         * m4/d-type.m4: Likewise.
70188         * m4/dirfd.m4: Likewise.
70189         * m4/double-slash-root.m4: Likewise.
70190         * m4/eaccess.m4: Likewise.
70191         * m4/eealloc.m4: Likewise.
70192         * m4/environ.m4: Likewise.
70193         * m4/errno_h.m4: Likewise.
70194         * m4/euidaccess.m4: Likewise.
70195         * m4/execute.m4: Likewise.
70196         * m4/fatal-signal.m4: Likewise.
70197         * m4/fchdir.m4: Likewise.
70198         * m4/fcntl_h.m4: Likewise.
70199         * m4/fileblocks.m4: Likewise.
70200         * m4/filenamecat.m4: Likewise.
70201         * m4/findprog.m4: Likewise.
70202         * m4/flexmember.m4: Likewise.
70203         * m4/fnmatch.m4: Likewise.
70204         * m4/fopen.m4: Likewise.
70205         * m4/fpending.m4: Likewise.
70206         * m4/fprintf-posix.m4: Likewise.
70207         * m4/free.m4: Likewise.
70208         * m4/frexp.m4: Likewise.
70209         * m4/frexpl.m4: Likewise.
70210         * m4/fsusage.m4: Likewise.
70211         * m4/ftruncate.m4: Likewise.
70212         * m4/gc-camellia.m4: Likewise.
70213         * m4/gc-random.m4: Likewise.
70214         * m4/gc.m4: Likewise.
70215         * m4/getaddrinfo.m4: Likewise.
70216         * m4/getcwd-abort-bug.m4: Likewise.
70217         * m4/getcwd-path-max.m4: Likewise.
70218         * m4/getdate.m4: Likewise.
70219         * m4/getdomainname.m4: Likewise.
70220         * m4/getgroups.m4: Likewise.
70221         * m4/gethostname.m4: Likewise.
70222         * m4/gethrxtime.m4: Likewise.
70223         * m4/getline.m4: Likewise.
70224         * m4/getloadavg.m4: Likewise.
70225         * m4/getndelim2.m4: Likewise.
70226         * m4/getpass.m4: Likewise.
70227         * m4/gettext.m4: Likewise.
70228         * m4/gettime.m4: Likewise.
70229         * m4/gettimeofday.m4: Likewise.
70230         * m4/gnulib-common.m4: Likewise.
70231         * m4/group-member.m4: Likewise.
70232         * m4/host-os.m4: Likewise.
70233         * m4/iconv.m4: Likewise.
70234         * m4/iconv_open.m4: Likewise.
70235         * m4/inet_ntop.m4: Likewise.
70236         * m4/inet_pton.m4: Likewise.
70237         * m4/inline.m4: Likewise.
70238         * m4/intldir.m4: Likewise.
70239         * m4/intlmacosx.m4: Likewise.
70240         * m4/intmax.m4: Likewise.
70241         * m4/intmax_t.m4: Likewise.
70242         * m4/inttypes.m4: Likewise.
70243         * m4/inttypes_h.m4: Likewise.
70244         * m4/inttypes-pri.m4: Likewise.
70245         * m4/isapipe.m4: Likewise.
70246         * m4/isnand.m4: Likewise.
70247         * m4/isnanf.m4: Likewise.
70248         * m4/isnanl.m4: Likewise.
70249         * m4/javacomp.m4: Likewise.
70250         * m4/javaexec.m4: Likewise.
70251         * m4/jm-winsz1.m4: Likewise.
70252         * m4/jm-winsz2.m4: Likewise.
70253         * m4/lchown.m4: Likewise.
70254         * m4/lcmessage.m4: Likewise.
70255         * m4/ldexpl.m4: Likewise.
70256         * m4/lib-ld.m4: Likewise.
70257         * m4/lib-link.m4: Likewise.
70258         * m4/libsigsegv.m4: Likewise.
70259         * m4/link-follow.m4: Likewise.
70260         * m4/localcharset.m4: Likewise.
70261         * m4/locale-fr.m4: Likewise.
70262         * m4/locale-ja.m4: Likewise.
70263         * m4/locale-tr.m4: Likewise.
70264         * m4/locale-zh.m4: Likewise.
70265         * m4/lock.m4: Likewise.
70266         * m4/longlong.m4: Likewise.
70267         * m4/ls-mntd-fs.m4: Likewise.
70268         * m4/lstat.m4: Likewise.
70269         * m4/malloc.m4: Likewise.
70270         * m4/mathl.m4: Likewise.
70271         * m4/mbrtowc.m4: Likewise.
70272         * m4/mbstate_t.m4: Likewise.
70273         * m4/mbswidth.m4: Likewise.
70274         * m4/memchr.m4: Likewise.
70275         * m4/memcmp.m4: Likewise.
70276         * m4/memcpy.m4: Likewise.
70277         * m4/memmem.m4: Likewise.
70278         * m4/memmove.m4: Likewise.
70279         * m4/mempcpy.m4: Likewise.
70280         * m4/memrchr.m4: Likewise.
70281         * m4/memset.m4: Likewise.
70282         * m4/minmax.m4: Likewise.
70283         * m4/mkdir-slash.m4: Likewise.
70284         * m4/mkdtemp.m4: Likewise.
70285         * m4/mktime.m4: Likewise.
70286         * m4/mmap-anon.m4: Likewise.
70287         * m4/mountlist.m4: Likewise.
70288         * m4/nanosleep.m4: Likewise.
70289         * m4/nls.m4: Likewise.
70290         * m4/nocrash.m4: Likewise.
70291         * m4/open.m4: Likewise.
70292         * m4/openat.m4: Likewise.
70293         * m4/openmp.m4: Likewise.
70294         * m4/pathmax.m4: Likewise.
70295         * m4/perl.m4: Likewise.
70296         * m4/physmem.m4: Likewise.
70297         * m4/pipe.m4: Likewise.
70298         * m4/po.m4: Likewise.
70299         * m4/poll.m4: Likewise.
70300         * m4/posixtm.m4: Likewise.
70301         * m4/posixver.m4: Likewise.
70302         * m4/printf-frexp.m4: Likewise.
70303         * m4/printf-frexpl.m4: Likewise.
70304         * m4/printf-posix.m4: Likewise.
70305         * m4/printf-posix-rpl.m4: Likewise.
70306         * m4/printf.m4: Likewise.
70307         * m4/progtest.m4: Likewise.
70308         * m4/putenv.m4: Likewise.
70309         * m4/readline.m4: Likewise.
70310         * m4/readlink.m4: Likewise.
70311         * m4/readutmp.m4: Likewise.
70312         * m4/realloc.m4: Likewise.
70313         * m4/regex.m4: Likewise.
70314         * m4/relocatable.m4: Likewise.
70315         * m4/relocatable-lib.m4: Likewise.
70316         * m4/rename-dest-slash.m4: Likewise.
70317         * m4/rename.m4: Likewise.
70318         * m4/rmdir-errno.m4: Likewise.
70319         * m4/rmdir.m4: Likewise.
70320         * m4/roundf.m4: Likewise.
70321         * m4/roundl.m4: Likewise.
70322         * m4/rpmatch.m4: Likewise.
70323         * m4/save-cwd.m4: Likewise.
70324         * m4/selinux-selinux-h.m4: Likewise.
70325         * m4/setenv.m4: Likewise.
70326         * m4/settime.m4: Likewise.
70327         * m4/sig2str.m4: Likewise.
70328         * m4/sig_atomic_t.m4: Likewise.
70329         * m4/signalblocking.m4: Likewise.
70330         * m4/signbit.m4: Likewise.
70331         * m4/sigpipe.m4: Likewise.
70332         * m4/sockets.m4: Likewise.
70333         * m4/sockpfaf.m4: Likewise.
70334         * m4/st_dm_mode.m4: Likewise.
70335         * m4/stat-time.m4: Likewise.
70336         * m4/stdbool.m4: Likewise.
70337         * m4/stdint.m4: Likewise.
70338         * m4/stdint_h.m4: Likewise.
70339         * m4/stpcpy.m4: Likewise.
70340         * m4/stpncpy.m4: Likewise.
70341         * m4/strcase.m4: Likewise.
70342         * m4/strchrnul.m4: Likewise.
70343         * m4/strcspn.m4: Likewise.
70344         * m4/strdup.m4: Likewise.
70345         * m4/strftime.m4: Likewise.
70346         * m4/strndup.m4: Likewise.
70347         * m4/strnlen.m4: Likewise.
70348         * m4/strpbrk.m4: Likewise.
70349         * m4/strptime.m4: Likewise.
70350         * m4/strsep.m4: Likewise.
70351         * m4/strtod.m4: Likewise.
70352         * m4/strtoimax.m4: Likewise.
70353         * m4/strtok_r.m4: Likewise.
70354         * m4/strtol.m4: Likewise.
70355         * m4/strtoll.m4: Likewise.
70356         * m4/strtoul.m4: Likewise.
70357         * m4/strtoull.m4: Likewise.
70358         * m4/strtoumax.m4: Likewise.
70359         * m4/strverscmp.m4: Likewise.
70360         * m4/threadlib.m4: Likewise.
70361         * m4/timegm.m4: Likewise.
70362         * m4/tm_gmtoff.m4: Likewise.
70363         * m4/tmpdir.m4: Likewise.
70364         * m4/tmpfile.m4: Likewise.
70365         * m4/tzset.m4: Likewise.
70366         * m4/uintmax_t.m4: Likewise.
70367         * m4/unlinkdir.m4: Likewise.
70368         * m4/unlocked-io.m4: Likewise.
70369         * m4/uptime.m4: Likewise.
70370         * m4/userspec.m4: Likewise.
70371         * m4/utimbuf.m4: Likewise.
70372         * m4/utime.m4: Likewise.
70373         * m4/utimes-null.m4: Likewise.
70374         * m4/utimes.m4: Likewise.
70375         * m4/vararrays.m4: Likewise.
70376         * m4/vasnprintf.m4: Likewise.
70377         * m4/vfprintf-posix.m4: Likewise.
70378         * m4/vprintf-posix.m4: Likewise.
70379         * m4/wait-process.m4: Likewise.
70380         * m4/wchar_t.m4: Likewise.
70381         * m4/wint_t.m4: Likewise.
70382         * m4/write-any-file.m4: Likewise.
70383         * m4/yield.m4: Likewise.
70385 2009-01-13  Bruno Haible  <bruno@clisp.org>
70387         Avoid test-copy-file.sh failures when ACL support insufficient.
70388         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
70389         TESTS_ENVIRONMENT.
70390         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
70391         Reported by Jim Meyering.
70393 2009-01-13  Bruno Haible  <bruno@clisp.org>
70395         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
70396         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
70397         * modules/unistdio/u8-printf-parse (Files): Likewise.
70398         * modules/unistdio/u32-printf-parse (Files): Likewise.
70399         * modules/unistdio/ulc-printf-parse (Files): Likewise.
70401 2009-01-13  Simon Josefsson  <simon@josefsson.org>
70403         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
70404         and m4/inttypes_h.m4 too.
70406 2009-01-12  Eric Blake  <ebb9@byu.net>
70408         tests: IRIX 6.2 cc can't compile -0.0 into .data
70409         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
70410         rather than at compile-time.
70411         * tests/test-floorl.c (minus_zero): Likewise.
70412         * tests/test-frexpl.c (minus_zero): Likewise.
70413         * tests/test-isnan.c (minus_zerol): Likewise.
70414         * tests/test-isnanl.h (minus_zero): Likewise.
70415         * tests/test-ldexpl.c (minus_zero): Likewise.
70416         * tests/test-roundl.c (minus_zero): Likewise.
70417         * tests/test-signbit.c (minus_zerol): Likewise.
70418         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
70419         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
70420         * tests/test-truncl.c (minus_zero): Likewise.
70421         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
70422         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
70423         Reported by Tom G. Christensen and Nelson H. F. Beebe.
70425 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
70427         regex: fix glibc bug 9697
70428         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
70429         handling.
70431 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
70433         regex: fix glibc bug 697
70434         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
70435         being NULL also if there are no backreferences.
70437 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
70439         regex: merge glibc changes
70440         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
70441         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
70442         re_string_skip_chars, re_string_reconstruct): Likewise.
70443         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
70445 2009-01-07  Jim Meyering  <meyering@redhat.com>
70447         poll: filter through cppi
70448         * lib/poll.c: Indent cpp directives to reflect nesting.
70450 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
70452         poll: don't return uninitialized
70453         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
70455 2009-01-06  Jeremy Olexa  <darkside@gentoo.org>  (tiny change)
70457         avoid compile failure on AIX 6.1
70458         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
70459         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
70461 2009-01-04  Jim Meyering  <meyering@redhat.com>
70463         remove duplicate inclusion of <stdio.h>
70464         * tests/test-fprintf-posix.c: Likewise.
70465         * tests/test-printf-posix.c: Likewise.
70466         * tests/test-snprintf-posix.c: Likewise.
70467         * tests/test-sprintf-posix.c: Likewise.
70468         * tests/test-vasprintf-posix.c: Likewise.
70469         * tests/test-vfprintf-posix.c: Likewise.
70470         * tests/test-vprintf-posix.c: Likewise.
70471         * tests/test-vsnprintf-posix.c: Likewise.
70472         * tests/test-vsprintf-posix.c: Likewise.
70474 2009-01-03  Jim Meyering  <meyering@redhat.com>
70476         gnulib-tool: fix sed-based filtering
70477         * gnulib-tool (func_filter_filelist): Remove extra backslash
70478         in sed_fff_filter definition.
70480 2009-01-02  Jim Meyering  <meyering@redhat.com>
70482         strftime: avoid compilation failure on Solaris 2.6
70483         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
70484         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
70485         Don't #define mbrlen or mbsinit, since now they're guaranteed to
70486         be available.  Reported by Tom G. Christensen.  Details in
70487         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
70489 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70490             Bruno Haible  <bruno@clisp.org>
70492         Speed up gnulib-tool by doing more string processing through shell
70493         built-ins.
70494         * gnulib-tool (fast_func_append): New variable.
70495         (func_remove_prefix, func_remove_suffix): New functions.
70496         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
70497         (func_filter_filelist): New function.
70498         (func_get_dependencies): Use func_remove_suffix instead of sed.
70499         (func_get_automake_snippet): Use func_filter_filelist instead of a
70500         subshell and sed invocation.
70502 2009-01-01  Bruno Haible  <bruno@clisp.org>
70504         Fix a security bug.
70505         * gnulib-tool (func_import, import, update): Don't allow the characters
70506         '"', '$', '`', '\' in macro arguments that become part of commands that
70507         are evaluated.
70509 2009-01-01  Bruno Haible  <bruno@clisp.org>
70511         * gnulib-tool (func_reset_sigpipe): Add more comments.
70513 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70515         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
70516         func_emit_tests_Makefile_am, func_import): Abort loops early if we
70517         already know the answer.
70519 2009-01-01  Jim Meyering  <meyering@redhat.com>
70521         * lib/version-etc.c (version_etc_va): Update copyright year.
70523 2008-12-30  Bruno Haible  <bruno@clisp.org>
70525         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
70526         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
70527         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
70529 2008-12-29  Eric Blake  <ebb9@byu.net>
70531         multiarch: avoid autoconf AC_REQUIRE bug
70532         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
70533         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
70534         2.63 and older.
70535         Reported by Bruno Haible, and analyzed in
70536         http://lists.gnu.org/r/bug-autoconf/2008-12/msg00039.html
70538 2008-12-29  Bruno Haible  <bruno@clisp.org>
70540         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
70541         files in subdirectories correctly.
70542         Reported by Ralf Wildenhues.
70544 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70546         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
70547         rather than 'join FILE -', for Solaris join.
70549 2008-12-29  Bruno Haible  <bruno@clisp.org>
70551         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
70552         quoting.
70553         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
70554         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
70555         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
70556         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
70557         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
70558         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
70559         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
70560         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
70561         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
70562         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
70563         * m4/nls.m4 (AM_NLS): Likewise.
70564         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
70565         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
70566         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
70567         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
70568         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
70569         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
70570         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
70571         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
70572         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
70573         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
70574         * m4/xsize.m4 (gl_XSIZE): Likewise.
70575         Suggested by Jim Meyering.
70577 2008-11-17  Bruce Korb  <bkorb@gnu.org>
70579         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
70580         * lib/parse-duration.c: use a switch instead of cascading if's.
70582 2008-12-29  Eric Blake  <ebb9@byu.net>
70584         wchar.h: supply WEOF on Irix 5.3
70585         * lib/wchar.in.h (wint_t): Also supply WEOF.
70586         * lib/wctype.in.h (wint_t): Likewise.
70587         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
70588         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
70589         Reported by Tom G. Christensen.
70591 2008-12-26  Bruno Haible  <bruno@clisp.org>
70593         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
70594         i486, i586, i686.
70596 2008-12-26  Bruno Haible  <bruno@clisp.org>
70598         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
70600 2008-12-26  Bruno Haible  <bruno@clisp.org>
70602         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
70603         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
70604         not __STDC_CONSTANT_MACROS.
70605         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
70607 2008-12-25  Bruno Haible  <bruno@clisp.org>
70609         Add support for universal builds to vasnprintf.
70610         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
70611         universal builds, guess no.
70612         * modules/vasnprintf-posix (Depends-on): Add multiarch.
70613         * modules/vasprintf-posix (Depends-on): Likewise.
70614         * modules/fprintf-posix (Depends-on): Likewise.
70615         * modules/vfprintf-posix (Depends-on): Likewise.
70616         * modules/snprintf-posix (Depends-on): Likewise.
70617         * modules/vsnprintf-posix (Depends-on): Likewise.
70618         * modules/sprintf-posix (Depends-on): Likewise.
70619         * modules/vsprintf-posix (Depends-on): Likewise.
70620         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
70621         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
70622         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
70623         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
70624         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
70625         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
70626         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
70628         Add support for universal builds to <inttypes.h>.
70629         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
70630         _SCNu64_PREFIX): In Apple
70631         universal builds, define directly, using _LP64.
70632         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
70633         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
70634         * modules/inttypes (Depends-on): Add multiarch.
70635         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
70637         Add support for universal builds to <stdint.h>.
70638         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
70639         universal builds, define directly, using _LP64.
70640         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
70641         Apple universal builds, don't test for the size and suffix of ptrdiff_t
70642         and size_t.
70643         * modules/stdint (Depends-on): Add multiarch.
70644         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
70646         New module 'multiarch'.
70647         * modules/multiarch: New file.
70648         * m4/multiarch.m4: New file.
70650 2008-12-25  Bruno Haible  <bruno@clisp.org>
70652         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
70654 2008-12-25  Bruno Haible  <bruno@clisp.org>
70656         * modules/btowc (License): Relicense under LGPLv2+.
70657         * modules/mbsinit (License): Likewise.
70658         * modules/mbrtowc (License): Likewise.
70659         * modules/wcrtomb (License): Likewise.
70660         * modules/streq (License): Likewise.
70661         Reported by David Lutterkort <lutter@redhat.com>.
70663 2008-12-23  Bruno Haible  <bruno@clisp.org>
70665         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
70667 2008-12-23  Bruno Haible  <bruno@clisp.org>
70669         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
70670         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
70671         GETADDRINFO_LIB, not in LIBS.
70672         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
70673         * modules/canon-host (Link): Likewise.
70674         * NEWS: Mention the change.
70675         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
70676         GETADDRINFO_LIB.
70678 2008-12-22  Bruno Haible  <bruno@clisp.org>
70680         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
70681         * doc/posix-functions/iswalpha_l.texi: Likewise.
70682         * doc/posix-functions/iswblank_l.texi: Likewise.
70683         * doc/posix-functions/iswcntrl_l.texi: Likewise.
70684         * doc/posix-functions/iswctype_l.texi: Likewise.
70685         * doc/posix-functions/iswdigit_l.texi: Likewise.
70686         * doc/posix-functions/iswgraph_l.texi: Likewise.
70687         * doc/posix-functions/iswlower_l.texi: Likewise.
70688         * doc/posix-functions/iswprint_l.texi: Likewise.
70689         * doc/posix-functions/iswpunct_l.texi: Likewise.
70690         * doc/posix-functions/iswspace_l.texi: Likewise.
70691         * doc/posix-functions/iswupper_l.texi: Likewise.
70692         * doc/posix-functions/iswxdigit_l.texi: Likewise.
70693         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
70694         * doc/posix-functions/open_wmemstream.texi: Likewise.
70695         * doc/posix-functions/swscanf.texi: Likewise.
70696         * doc/posix-functions/towctrans_l.texi: Likewise.
70697         * doc/posix-functions/towlower.texi: Likewise.
70698         * doc/posix-functions/towlower_l.texi: Likewise.
70699         * doc/posix-functions/towupper.texi: Likewise.
70700         * doc/posix-functions/towupper_l.texi: Likewise.
70701         * doc/posix-functions/vfwprintf.texi: Likewise.
70702         * doc/posix-functions/vfwscanf.texi: Likewise.
70703         * doc/posix-functions/vswscanf.texi: Likewise.
70704         * doc/posix-functions/vwprintf.texi: Likewise.
70705         * doc/posix-functions/vwscanf.texi: Likewise.
70706         * doc/posix-functions/wcpcpy.texi: Likewise.
70707         * doc/posix-functions/wcpncpy.texi: Likewise.
70708         * doc/posix-functions/wcscasecmp.texi: Likewise.
70709         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
70710         * doc/posix-functions/wcscoll_l.texi: Likewise.
70711         * doc/posix-functions/wcsdup.texi: Likewise.
70712         * doc/posix-functions/wcsncasecmp.texi: Likewise.
70713         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
70714         * doc/posix-functions/wcsnlen.texi: Likewise.
70715         * doc/posix-functions/wcsnrtombs.texi: Likewise.
70716         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
70717         * doc/posix-functions/wctrans_l.texi: Likewise.
70718         * doc/posix-functions/wctype_l.texi: Likewise.
70719         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
70720         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
70721         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
70722         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
70723         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
70724         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
70725         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
70726         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
70727         * doc/glibc-functions/wcschrnul.texi: Likewise.
70728         * doc/glibc-functions/wcsftime_l.texi: Likewise.
70729         * doc/glibc-functions/wcstod_l.texi: Likewise.
70730         * doc/glibc-functions/wcstof_l.texi: Likewise.
70731         * doc/glibc-functions/wcstol_l.texi: Likewise.
70732         * doc/glibc-functions/wcstold_l.texi: Likewise.
70733         * doc/glibc-functions/wcstoll_l.texi: Likewise.
70734         * doc/glibc-functions/wcstoq.texi: Likewise.
70735         * doc/glibc-functions/wcstoul_l.texi: Likewise.
70736         * doc/glibc-functions/wcstoull_l.texi: Likewise.
70737         * doc/glibc-functions/wcstouq.texi: Likewise.
70738         * doc/glibc-functions/wmempcpy.texi: Likewise.
70740 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
70741             Eric Blake  <ebb9@byu.net>
70742             Paolo Bonzini  <bonzini@gnu.org>
70743             Bruno Haible  <bruno@clisp.org>
70745         Make c-stack work on Haiku.
70746         * lib/c-stack.c (SA_ONSTACK): Define fallback.
70747         (c_stack_action): Use SA_ONSTACK flag.
70749 2008-12-22  Bruno Haible  <bruno@clisp.org>
70751         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
70753 2008-12-22  Bruno Haible  <bruno@clisp.org>
70755         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
70756         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
70757         being overridden.
70758         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
70759         New macros.
70760         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
70761         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
70762         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
70763         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
70765 2008-12-22  Bruno Haible  <bruno@clisp.org>
70767         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
70768         from test code.
70770 2008-12-22  Eric Blake  <ebb9@byu.net>
70772         Avoid gcc warnings on cygwin.
70773         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
70774         Avoid unused variable.
70775         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
70776         Likewise.
70778 2008-12-22  Bruno Haible  <bruno@clisp.org>
70780         Remove HAVE_MBRTOWC conditionals.
70781         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
70782         (mbscasecmp): Assume mbrtowc function.
70783         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
70784         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
70785         * lib/mbschr.c: Include mbuiter.h unconditionally.
70786         (mbschr): Assume mbrtowc function.
70787         * lib/mbscspn.c: Include mbuiter.h unconditionally.
70788         (mbscspn): Assume mbrtowc function.
70789         * lib/mbslen.c: Include mbuiter.h unconditionally.
70790         (mbslen): Assume mbrtowc function.
70791         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
70792         (mbsncasecmp): Assume mbrtowc function.
70793         * lib/mbsnlen.c: Include mbiter.h unconditionally.
70794         (mbsnlen): Assume mbrtowc function.
70795         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
70796         (mbspbrk): Assume mbrtowc function.
70797         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
70798         (mbspcasecmp): Assume mbrtowc function.
70799         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
70800         (mbsrchr): Assume mbrtowc function.
70801         * lib/mbssep.c: Include mbuiter.h unconditionally.
70802         (mbssep): Assume mbrtowc function.
70803         * lib/mbsspn.c: Include mbuiter.h unconditionally.
70804         (mbsspn): Assume mbrtowc function.
70805         * lib/mbsstr.c: Include mbuiter.h unconditionally.
70806         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
70807         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
70808         (mbstok_r): Assume mbrtowc function.
70809         * lib/propername.c: Include mbuiter.h unconditionally.
70810         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
70811         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
70812         (trim2): Assume mbrtowc function.
70813         * lib/mbswidth.c (mbsinit): Remove fallback definition.
70814         (mbsnwidth): Assume mbrtowc function.
70815         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
70816         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
70817         fallback definitions.
70818         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
70820 2008-12-22  Bruno Haible  <bruno@clisp.org>
70822         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
70824 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
70826         * modules/regex: Request emulations for the mb*/wc* functions we need.
70827         * m4/regex.m4: Don't look for those functions here.
70828         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
70830 2008-12-22  Bruno Haible  <bruno@clisp.org>
70832         * modules/fnmatch (Depends-on): Remove duplicated dependency.
70834 2008-12-21  Bruno Haible  <bruno@clisp.org>
70836         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
70837         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
70838         (Include): Remove conditionalization.
70839         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
70840         (Include): Remove conditionalization.
70841         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
70842         (Include): Remove conditionalization.
70843         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
70844         * m4/mbfile.m4 (gl_MBFILE): Likewise.
70845         * NEWS: Mention the change.
70846         Reported by Alan Hourihane <alanh@fairlite.co.uk>
70847         via Sergey Poznyakoff <gray@gnu.org.ua>.
70849 2008-12-21  Bruno Haible  <bruno@clisp.org>
70851         * MODULES.html.sh (Extended multibyte and wide character utilities
70852         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
70853         wcrtomb, wcsrtombs.
70854         (Support for systems lacking POSIX:2008): Add accept, bind, close,
70855         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
70856         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
70857         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
70859 2008-12-21  Bruno Haible  <bruno@clisp.org>
70861         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
70863 2008-12-21  Bruno Haible  <bruno@clisp.org>
70865         * modules/wcsnrtombs-tests: New file.
70866         * tests/test-wcsnrtombs1.sh: New file.
70867         * tests/test-wcsnrtombs2.sh: New file.
70868         * tests/test-wcsnrtombs3.sh: New file.
70869         * tests/test-wcsnrtombs4.sh: New file.
70870         * tests/test-wcsnrtombs.c: New file.
70872         New module 'wcsnrtombs'.
70873         * lib/wchar.in.h (wcsnrtombs): New declaration.
70874         * lib/wcsnrtombs.c: New file.
70875         * lib/wcsrtombs-state.c: New file.
70876         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
70877         (internal_state): Remove variable.
70878         * m4/wcsnrtombs.m4: New file.
70879         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
70880         compilation units.
70881         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
70882         HAVE_WCSNRTOMBS.
70883         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
70884         HAVE_WCSNRTOMBS.
70885         * modules/wcsnrtombs: New file.
70886         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
70887         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
70889 2008-12-21  Bruno Haible  <bruno@clisp.org>
70891         * modules/wcsrtombs-tests: New file.
70892         * tests/test-wcsrtombs1.sh: New file.
70893         * tests/test-wcsrtombs2.sh: New file.
70894         * tests/test-wcsrtombs3.sh: New file.
70895         * tests/test-wcsrtombs4.sh: New file.
70896         * tests/test-wcsrtombs.c: New file.
70898         New module 'wcsrtombs'.
70899         * lib/wchar.in.h (wcsrtombs): New declaration.
70900         * lib/wcsrtombs.c: New file.
70901         * m4/wcsrtombs.m4: New file.
70902         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
70903         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
70904         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
70905         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
70906         * modules/wcsrtombs: New file.
70907         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
70908         bugs.
70910 2008-12-21  Bruno Haible  <bruno@clisp.org>
70912         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
70913         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
70914         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
70915         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
70916         if not correct.
70917         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
70918         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
70919         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
70920         m4/locale-zh.m4, m4/codeset.m4.
70921         * doc/posix-functions/wcrtomb.texi: Document the bug.
70923 2008-12-21  Bruno Haible  <bruno@clisp.org>
70925         Work around a btowc() bug on IRIX 6.5.
70926         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
70927         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
70928         REPLACE_WTOBC if not.
70929         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
70930         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
70931         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
70933 2008-12-21  Bruno Haible  <bruno@clisp.org>
70935         * modules/wcrtomb-tests: New file.
70936         * tests/test-wcrtomb.sh: New file.
70937         * tests/test-wcrtomb.c: New file.
70939         New module 'wcrtomb'.
70940         * lib/wchar.in.h (wcrtomb): New declaration.
70941         * lib/wcrtomb.c: New file.
70942         * m4/wcrtomb.m4: New file.
70943         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
70944         HAVE_WCRTOMB.
70945         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
70946         HAVE_WCRTOMB.
70947         * modules/wcrtomb: New file.
70948         * doc/posix-functions/wcrtomb.texi: Mention the new module.
70950 2008-12-21  Bruno Haible  <bruno@clisp.org>
70952         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
70953         * modules/mbsrtowcs (Files): Likewise.
70954         * modules/wctob (Files): Likewise.
70955         * modules/c-strcase-tests (Files): Likewise.
70956         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
70957         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
70958         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
70959         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
70960         * modules/vasnprintf-posix-tests (Files): Likewise.
70962 2008-12-21  William Pursell  <bill.pursell@gmail.com>
70964         gitlog-to-changelog: pass all command-line arguments to git-log
70965         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
70966         it is sometimes convenient to filter the commits in various ways.
70967         gitlog-to-changelog only allows --since to specify a start date,
70968         but git-log itself supports many other filtering mechanisms.
70969         At the moment, I want to filter by branch name.  Rather than
70970         adding a --branch option to gitlog-to-changelog, it seems more
70971         flexible to simply pass all options directly to git-log and let
70972         git do the work.  Notice that this effectively makes --since a
70973         redundant option for gitlog-to-changelog, but removing it would
70974         require current usage to change since calls would then require
70975         an additional '--'.
70977 2008-12-21  Bruno Haible  <bruno@clisp.org>
70979         * modules/mbsnrtowcs-tests: New file.
70980         * tests/test-mbsnrtowcs1.sh: New file.
70981         * tests/test-mbsnrtowcs2.sh: New file.
70982         * tests/test-mbsnrtowcs3.sh: New file.
70983         * tests/test-mbsnrtowcs4.sh: New file.
70984         * tests/test-mbsnrtowcs.c: New file.
70986         New module 'mbsnrtowcs'.
70987         * lib/wchar.in.h (mbsnrtowcs): New declaration.
70988         * lib/mbsnrtowcs.c: New file.
70989         * lib/mbsrtowcs-state.c: New file.
70990         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
70991         (internal_state): Remove variable.
70992         * m4/mbsnrtowcs.m4: New file.
70993         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
70994         compilation units.
70995         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
70996         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
70997         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
70998         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
70999         * modules/mbsnrtowcs: New file.
71000         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
71001         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
71002         portability problem.
71004 2008-12-21  Bruno Haible  <bruno@clisp.org>
71006         Work around mbsrtowcs bug.
71007         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
71008         (gl_FUNC_MBSRTOWCS): Invoke it.
71009         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
71010         m4/locale-zh.m4.
71011         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
71013 2008-12-21  Bruno Haible  <bruno@clisp.org>
71015         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
71017 2008-12-21  Bruno Haible  <bruno@clisp.org>
71019         Update doc for AIX.
71020         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
71021         16-bit wchar_t type.
71022         * doc/posix-functions/btowc.texi: Likewise.
71023         * doc/posix-functions/fgetwc.texi: Likewise.
71024         * doc/posix-functions/fgetws.texi: Likewise.
71025         * doc/posix-functions/fputwc.texi: Likewise.
71026         * doc/posix-functions/fputws.texi: Likewise.
71027         * doc/posix-functions/fwide.texi: Likewise.
71028         * doc/posix-functions/fwprintf.texi: Likewise.
71029         * doc/posix-functions/fwscanf.texi: Likewise.
71030         * doc/posix-functions/getwchar.texi: Likewise.
71031         * doc/posix-functions/getwc.texi: Likewise.
71032         * doc/posix-functions/iswalnum.texi: Likewise.
71033         * doc/posix-functions/iswalpha.texi: Likewise.
71034         * doc/posix-functions/iswblank.texi: Likewise.
71035         * doc/posix-functions/iswcntrl.texi: Likewise.
71036         * doc/posix-functions/iswctype.texi: Likewise.
71037         * doc/posix-functions/iswdigit.texi: Likewise.
71038         * doc/posix-functions/iswgraph.texi: Likewise.
71039         * doc/posix-functions/iswlower.texi: Likewise.
71040         * doc/posix-functions/iswprint.texi: Likewise.
71041         * doc/posix-functions/iswpunct.texi: Likewise.
71042         * doc/posix-functions/iswspace.texi: Likewise.
71043         * doc/posix-functions/iswupper.texi: Likewise.
71044         * doc/posix-functions/iswxdigit.texi: Likewise.
71045         * doc/posix-functions/mbrtowc.texi: Likewise.
71046         * doc/posix-functions/mbsrtowcs.texi: Likewise.
71047         * doc/posix-functions/mbstowcs.texi: Likewise.
71048         * doc/posix-functions/mbtowc.texi: Likewise.
71049         * doc/posix-functions/putwchar.texi: Likewise.
71050         * doc/posix-functions/putwc.texi: Likewise.
71051         * doc/posix-functions/swprintf.texi: Likewise.
71052         * doc/posix-functions/tolower.texi: Likewise.
71053         * doc/posix-functions/toupper.texi: Likewise.
71054         * doc/posix-functions/towctrans.texi: Likewise.
71055         * doc/posix-functions/ungetwc.texi: Likewise.
71056         * doc/posix-functions/vswprintf.texi: Likewise.
71057         * doc/posix-functions/wcrtomb.texi: Likewise.
71058         * doc/posix-functions/wcscat.texi: Likewise.
71059         * doc/posix-functions/wcschr.texi: Likewise.
71060         * doc/posix-functions/wcscmp.texi: Likewise.
71061         * doc/posix-functions/wcscoll.texi: Likewise.
71062         * doc/posix-functions/wcscpy.texi: Likewise.
71063         * doc/posix-functions/wcscspn.texi: Likewise.
71064         * doc/posix-functions/wcsftime.texi: Likewise.
71065         * doc/posix-functions/wcslen.texi: Likewise.
71066         * doc/posix-functions/wcsncat.texi: Likewise.
71067         * doc/posix-functions/wcsncmp.texi: Likewise.
71068         * doc/posix-functions/wcsncpy.texi: Likewise.
71069         * doc/posix-functions/wcspbrk.texi: Likewise.
71070         * doc/posix-functions/wcsrchr.texi: Likewise.
71071         * doc/posix-functions/wcsrtombs.texi: Likewise.
71072         * doc/posix-functions/wcsspn.texi: Likewise.
71073         * doc/posix-functions/wcsstr.texi: Likewise.
71074         * doc/posix-functions/wcstod.texi: Likewise.
71075         * doc/posix-functions/wcstof.texi: Likewise.
71076         * doc/posix-functions/wcstoimax.texi: Likewise.
71077         * doc/posix-functions/wcstok.texi: Likewise.
71078         * doc/posix-functions/wcstold.texi: Likewise.
71079         * doc/posix-functions/wcstoll.texi: Likewise.
71080         * doc/posix-functions/wcstol.texi: Likewise.
71081         * doc/posix-functions/wcstombs.texi: Likewise.
71082         * doc/posix-functions/wcstoull.texi: Likewise.
71083         * doc/posix-functions/wcstoul.texi: Likewise.
71084         * doc/posix-functions/wcstoumax.texi: Likewise.
71085         * doc/posix-functions/wcswidth.texi: Likewise.
71086         * doc/posix-functions/wcsxfrm.texi: Likewise.
71087         * doc/posix-functions/wctob.texi: Likewise.
71088         * doc/posix-functions/wctomb.texi: Likewise.
71089         * doc/posix-functions/wctrans.texi: Likewise.
71090         * doc/posix-functions/wctype.texi: Likewise.
71091         * doc/posix-functions/wcwidth.texi: Likewise.
71092         * doc/posix-functions/wmemchr.texi: Likewise.
71093         * doc/posix-functions/wmemcmp.texi: Likewise.
71094         * doc/posix-functions/wmemcpy.texi: Likewise.
71095         * doc/posix-functions/wmemmove.texi: Likewise.
71096         * doc/posix-functions/wmemset.texi: Likewise.
71097         * doc/posix-functions/wprintf.texi: Likewise.
71098         * doc/posix-functions/wscanf.texi: Likewise.
71100 2008-12-21  Bruno Haible  <bruno@clisp.org>
71102         Update doc for HP-UX 11.11.
71103         * doc/posix-functions/btowc.texi: Clarify that the function is missing
71104         in HP-UX version 11.00, not in all versions of HP-UX 11.
71105         * doc/posix-functions/fwide.texi: Likewise.
71106         * doc/posix-functions/fwprintf.texi: Likewise.
71107         * doc/posix-functions/fwscanf.texi: Likewise.
71108         * doc/posix-functions/inet_ntop.texi: Likewise.
71109         * doc/posix-functions/inet_pton.texi: Likewise.
71110         * doc/posix-functions/mbrlen.texi: Likewise.
71111         * doc/posix-functions/mbrtowc.texi: Likewise.
71112         * doc/posix-functions/mbsinit.texi: Likewise.
71113         * doc/posix-functions/mbsrtowcs.texi: Likewise.
71114         * doc/posix-functions/swprintf.texi: Likewise.
71115         * doc/posix-functions/swscanf.texi: Likewise.
71116         * doc/posix-functions/towctrans.texi: Likewise.
71117         * doc/posix-functions/vfwprintf.texi: Likewise.
71118         * doc/posix-functions/vswprintf.texi: Likewise.
71119         * doc/posix-functions/vwprintf.texi: Likewise.
71120         * doc/posix-functions/wcrtomb.texi: Likewise.
71121         * doc/posix-functions/wcsrtombs.texi: Likewise.
71122         * doc/posix-functions/wcsstr.texi: Likewise.
71123         * doc/posix-functions/wctob.texi: Likewise.
71124         * doc/posix-functions/wctrans.texi: Likewise.
71125         * doc/posix-functions/wmemchr.texi: Likewise.
71126         * doc/posix-functions/wmemcmp.texi: Likewise.
71127         * doc/posix-functions/wmemcpy.texi: Likewise.
71128         * doc/posix-functions/wmemmove.texi: Likewise.
71129         * doc/posix-functions/wmemset.texi: Likewise.
71130         * doc/posix-functions/wprintf.texi: Likewise.
71131         * doc/posix-functions/wscanf.texi: Likewise.
71133 2008-12-21  Bruno Haible  <bruno@clisp.org>
71135         Work around a portability problem.
71136         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
71137         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
71139 2008-12-20  Bruno Haible  <bruno@clisp.org>
71141         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
71142         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
71143         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
71144         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
71145         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
71147         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
71148         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
71149         set.
71150         (GNULIB_defined_mbstate_t): New macro.
71151         (mbsinit): Redefine if REPLACE_MBSINIT is set.
71152         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
71153         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
71154         reuses the system's mbrtowc function but works around the bugs.
71155         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
71156         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
71157         macros.
71158         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
71159         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
71160         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
71161         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
71162         REPLACE_MBSINIT if mbsinit needs to be overridden.
71163         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
71164         REPLACE_MBSINIT, REPLACE_MBRTOWC.
71165         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
71166         REPLACE_MBSINIT, REPLACE_MBRTOWC.
71167         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
71168         m4/locale-zh.m4.
71169         (Depends): Add mbsinit.
71170         * modules/mbsinit (Depends): Add mbrtowc.
71171         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
71173 2008-12-20  Bruno Haible  <bruno@clisp.org>
71175         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
71176         so that there are no conversion errors on AIX.
71177         * tests/test-mbsrtowcs.c (main): LIkewise.
71179 2008-12-20  Bruno Haible  <bruno@clisp.org>
71181         Work around wctob bug on Solaris <= 9.
71182         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
71183         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
71184         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
71185         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
71186         * modules/wctob (Files): Add m4/locale-fr.m4.
71187         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
71189 2008-12-20  Bruno Haible  <bruno@clisp.org>
71191         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
71192         /dev/null.
71193         * tests/test-select-in.sh: Likewise.
71194         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
71196 2008-12-20  Bruno Haible  <bruno@clisp.org>
71198         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
71199         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
71200         Cygwin 1.5.x.
71202 2008-12-20  Bruno Haible  <bruno@clisp.org>
71204         Ensure mbstate_t is defined on HP-UX 11.11.
71205         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
71206         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
71207         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
71208         AC_USE_SYSTEM_EXTENSIONS.
71209         * modules/fnmatch (Depends-on): Add extensions.
71210         * modules/mbrlen (Depends-on): Likewise.
71211         * modules/mbrtowc (Depends-on): Likewise.
71212         * modules/mbsinit (Depends-on): Likewise.
71213         * modules/mbsrtowcs (Depends-on): Likewise.
71214         * modules/mbswidth (Depends-on): Likewise.
71215         * modules/quotearg (Depends-on): Likewise.
71216         * modules/strftime (Depends-on): Likewise.
71218 2008-12-20  Bruno Haible  <bruno@clisp.org>
71220         Ensure wctob is declared on IRIX 6.5.
71221         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
71222         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
71223         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
71224         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
71225         of HAVE_WCTOB.
71226         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
71227         HAVE_WCTOB.
71228         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
71230 2008-12-19  Bruno Haible  <bruno@clisp.org>
71232         * modules/mbsrtowcs-tests: New file.
71233         * tests/test-mbsrtowcs1.sh: New file.
71234         * tests/test-mbsrtowcs2.sh: New file.
71235         * tests/test-mbsrtowcs3.sh: New file.
71236         * tests/test-mbsrtowcs4.sh: New file.
71237         * tests/test-mbsrtowcs.c: New file.
71239         New module 'mbsrtowcs'.
71240         * lib/wchar.in.h (mbsrtowcs): New declaration.
71241         * lib/mbsrtowcs.c: New file.
71242         * m4/mbsrtowcs.m4: New file.
71243         * modules/mbsrtowcs: New file.
71244         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
71245         HAVE_MBSRTOWCS.
71246         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
71247         HAVE_MBSRTOWCS.
71248         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
71250 2008-12-19  Bruno Haible  <bruno@clisp.org>
71252         New module 'mbrlen'.
71253         * lib/wchar.in.h (mbrlen): New declaration.
71254         * lib/mbrlen.c: New file.
71255         * m4/mbrlen.m4: New file.
71256         * modules/mbrlen: New file.
71257         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
71258         HAVE_MBRLEN.
71259         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
71260         HAVE_MBRLEN.
71261         * doc/posix-functions/mbrlen.texi: Document the new module.
71263 2008-12-19  Bruno Haible  <bruno@clisp.org>
71265         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
71266         * modules/mbrtowc (Depends-on): Add verify.
71267         Suggested by Paul Eggert.
71269 2008-12-18  Bruno Haible  <bruno@clisp.org>
71271         * modules/mbsinit-tests: New file.
71272         * tests/test-mbsinit.sh: New file.
71273         * tests/test-mbsinit.c: New file.
71275 2008-12-18  Bruno Haible  <bruno@clisp.org>
71277         * modules/mbrtowc-tests: New file.
71278         * tests/test-mbrtowc1.sh: New file.
71279         * tests/test-mbrtowc2.sh: New file.
71280         * tests/test-mbrtowc3.sh: New file.
71281         * tests/test-mbrtowc4.sh: New file.
71282         * tests/test-mbrtowc.c: New file.
71284         New module 'mbrtowc'.
71285         * lib/wchar.in.h (mbstate_t): Override when the system does not have
71286         mbsinit and mbrtowc.
71287         (mbrtowc): New declaration.
71288         * lib/mbrtowc.c: New file.
71289         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
71290         * modules/mbrtowc: New file.
71291         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
71292         HAVE_MBRTOWC.
71293         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
71294         HAVE_MBRTOWC.
71295         * doc/posix-functions/mbrtowc.texi: Document the new module.
71297 2008-12-18  Bruno Haible  <bruno@clisp.org>
71299         New module 'wctob'.
71300         * lib/wchar.in.h (wctob): New declaration.
71301         * lib/wctob.c: New file.
71302         * m4/wctob.m4: New file.
71303         * modules/wctob: New file.
71304         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
71305         HAVE_WCTOB.
71306         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
71307         * doc/posix-functions/wctob.texi: Document the new module.
71309 2008-12-18  Bruno Haible  <bruno@clisp.org>
71311         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
71312         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
71314 2008-12-18  Simon Josefsson  <simon@josefsson.org>
71316         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
71317         G. Christensen" <tgc@jupiterrise.com>.
71319         * lib/flock.c: Need to include errno.h.  Reported by "Tom
71320         G. Christensen" <tgc@jupiterrise.com>.
71322         * lib/flock.c: Need to include string.h.  Reported by "Tom
71323         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
71324         <ebb9@byu.net>.
71326 2008-12-18  Bruno Haible  <bruno@clisp.org>
71328         * m4/locale-ja.m4: New file, from GNU gettext.
71330 2008-12-17  Bruno Haible  <bruno@clisp.org>
71332         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
71333         Suggested by Eric Blake.
71335 2008-12-17  Bruno Haible  <bruno@clisp.org>
71337         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
71339 2008-12-17  Bruno Haible  <bruno@clisp.org>
71341         * lib/mbsinit.c: Include verify.h. Verify an assumption.
71342         * modules/mbsinit (Depends-on): Add verify.
71343         Suggested by Paul Eggert.
71345 2008-12-17  Bruno Haible  <bruno@clisp.org>
71347         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
71348         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
71349         gl_FUNC_MBRTOWC.
71350         * m4/mbiter.m4 (gl_MBITER): LIkewise.
71351         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
71352         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
71353         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
71354         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
71355         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
71356         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
71357         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
71358         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
71359         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
71360         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
71361         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
71362         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
71363         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
71364         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
71365         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
71366         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
71367         * modules/trim (configure.ac): Likewise.
71369 2008-12-17  Bruno Haible  <bruno@clisp.org>
71371         * modules/btowc-tests: New file.
71372         * tests/test-btowc1.sh: New file.
71373         * tests/test-btowc2.sh: New file.
71374         * tests/test-btowc.c: New file.
71376         New module 'btowc'.
71377         * lib/wchar.in.h (btowc): New declaration.
71378         * lib/btowc.c: New file.
71379         * m4/btowc.m4: New file.
71380         * modules/btowc: New file.
71381         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
71382         HAVE_BTOWC.
71383         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
71384         * doc/posix-functions/btowc.texi: Document the new module.
71386 2008-12-17  Bruno Haible  <bruno@clisp.org>
71388         New module 'mbsinit'.
71389         * lib/wchar.in.h (mbsinit): New declaration.
71390         * lib/mbsinit.c: New file.
71391         * m4/mbsinit.m4: New file.
71392         * modules/mbsinit: New file.
71393         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
71394         HAVE_MBSINIT.
71395         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
71396         HAVE_MBSINIT.
71397         * doc/posix-functions/mbsinit.texi: Document the new module.
71399 2008-12-16  Bruno Haible  <bruno@clisp.org>
71401         * lib/unistd.in.h: Add comment.
71402         * tests/test-environ.c: Don't include <stdlib.h>.
71404 2008-12-16  Bruno Haible  <bruno@clisp.org>
71406         * lib/parse-duration.h (parse_duration): Document return value
71407         convention.
71408         * lib/parse-duration.c: Include specification header first. Add
71409         comments.
71410         (_): Remove macro.
71411         (parse_year_month_day, parse_hour_minute_second): Move side effects
71412         outside of strchr call.
71413         (parse_non_iso8601): Move side effects outside of isspace call.
71414         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
71415         call.
71417 2008-12-16  Bruno Haible  <bruno@clisp.org>
71419         * tests/test-parse-duration.sh: Produce no output when the test
71420         succeeds.
71422 2008-12-16  Bruno Haible  <bruno@clisp.org>
71424         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
71425         expressions.
71427 2008-12-15  Bruno Haible  <bruno@clisp.org>
71429         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
71430         * doc/glibc-functions/flistxattr.texi: Likewise.
71431         * doc/glibc-functions/fopencookie.texi: Likewise.
71432         * doc/glibc-functions/fremovexattr.texi: Likewise.
71433         * doc/glibc-functions/fsetxattr.texi: Likewise.
71434         * doc/glibc-functions/getxattr.texi: Likewise.
71435         * doc/glibc-functions/lgetxattr.texi: Likewise.
71436         * doc/glibc-functions/listxattr.texi: Likewise.
71437         * doc/glibc-functions/llistxattr.texi: Likewise.
71438         * doc/glibc-functions/lremovexattr.texi: Likewise.
71439         * doc/glibc-functions/lsetxattr.texi: Likewise.
71440         * doc/glibc-functions/removexattr.texi: Likewise.
71441         * doc/glibc-functions/setxattr.texi: Likewise.
71442         * doc/posix-functions/open_memstream.texi: Likewise.
71444 2008-12-15  Eric Blake  <ebb9@byu.net>
71446         Update doc for cygwin 1.7.
71447         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
71448         functions.
71449         * doc/posix-functions/fchmodat.texi: Likewise.
71450         * doc/posix-functions/fchownat.texi: Likewise.
71451         * doc/posix-functions/fdopendir.texi: Likewise.
71452         * doc/posix-functions/fmemopen.texi: Likewise.
71453         * doc/posix-functions/freeaddrinfo.texi: Likewise.
71454         * doc/posix-functions/fstatat.texi: Likewise.
71455         * doc/posix-functions/futimens.texi: Likewise.
71456         * doc/posix-functions/gai_strerror.texi: Likewise.
71457         * doc/posix-functions/getaddrinfo.texi: Likewise.
71458         * doc/posix-functions/getnameinfo.texi: Likewise.
71459         * doc/posix-functions/if_freenameindex.texi: Likewise.
71460         * doc/posix-functions/if_indextoname.texi: Likewise.
71461         * doc/posix-functions/if_nameindex.texi: Likewise.
71462         * doc/posix-functions/if_nametoindex.texi: Likewise.
71463         * doc/posix-functions/insque.texi: Likewise.
71464         * doc/posix-functions/linkat.texi: Likewise.
71465         * doc/posix-functions/llrint.texi: Likewise.
71466         * doc/posix-functions/llrintf.texi: Likewise.
71467         * doc/posix-functions/llrintl.texi: Likewise.
71468         * doc/posix-functions/lockf.texi: Likewise.
71469         * doc/posix-functions/lrintl.texi: Likewise.
71470         * doc/posix-functions/mkdirat.texi: Likewise.
71471         * doc/posix-functions/mkfifoat.texi: Likewise.
71472         * doc/posix-functions/mknodat.texi: Likewise.
71473         * doc/posix-functions/mq_close.texi: Likewise.
71474         * doc/posix-functions/mq_getattr.texi: Likewise.
71475         * doc/posix-functions/mq_notify.texi: Likewise.
71476         * doc/posix-functions/mq_open.texi: Likewise.
71477         * doc/posix-functions/mq_receive.texi: Likewise.
71478         * doc/posix-functions/mq_send.texi: Likewise.
71479         * doc/posix-functions/mq_setattr.texi: Likewise.
71480         * doc/posix-functions/mq_timedreceive.texi: Likewise.
71481         * doc/posix-functions/mq_timedsend.texi: Likewise.
71482         * doc/posix-functions/mq_unlink.texi: Likewise.
71483         * doc/posix-functions/open_memstream.texi: Likewise.
71484         * doc/posix-functions/openat.texi: Likewise.
71485         * doc/posix-functions/posix_fadvise.texi: Likewise.
71486         * doc/posix-functions/posix_fallocate.texi: Likewise.
71487         * doc/posix-functions/posix_madvise.texi: Likewise.
71488         * doc/posix-functions/posix_memalign.texi: Likewise.
71489         * doc/posix-functions/posix_openpt.texi: Likewise.
71490         * doc/posix-functions/readlinkat.texi: Likewise.
71491         * doc/posix-functions/remque.texi: Likewise.
71492         * doc/posix-functions/renameat.texi: Likewise.
71493         * doc/posix-functions/rintl.texi: Likewise.
71494         * doc/posix-functions/sem_unlink.texi: Likewise.
71495         * doc/posix-functions/shm_open.texi: Likewise.
71496         * doc/posix-functions/shm_unlink.texi: Likewise.
71497         * doc/posix-functions/signgam.texi: Likewise.
71498         * doc/posix-functions/sigset.texi: Likewise.
71499         * doc/posix-functions/stpcpy.texi: Likewise.
71500         * doc/posix-functions/stpncpy.texi: Likewise.
71501         * doc/posix-functions/strerror.texi: Likewise.
71502         * doc/posix-functions/strtod.texi: Likewise.
71503         * doc/posix-functions/symlinkat.texi: Likewise.
71504         * doc/posix-functions/unlinkat.texi: Likewise.
71505         * doc/posix-functions/utimensat.texi: Likewise.
71506         * doc/glibc-functions/bindresvport.texi: Likewise.
71507         * doc/glibc-functions/dn_expand.texi: Likewise.
71508         * doc/glibc-functions/exp10.texi: Likewise.
71509         * doc/glibc-functions/exp10f.texi: Likewise.
71510         * doc/glibc-functions/fgetxattr.texi: Likewise.
71511         * doc/glibc-functions/flistxattr.texi: Likewise.
71512         * doc/glibc-functions/fopencookie.texi: Likewise.
71513         * doc/glibc-functions/freeifaddrs.texi: Likewise.
71514         * doc/glibc-functions/fremovexattr.texi: Likewise.
71515         * doc/glibc-functions/fsetxattr.texi: Likewise.
71516         * doc/glibc-functions/getifaddrs.texi: Likewise.
71517         * doc/glibc-functions/getxattr.texi: Likewise.
71518         * doc/glibc-functions/lgetxattr.texi: Likewise.
71519         * doc/glibc-functions/listxattr.texi: Likewise.
71520         * doc/glibc-functions/llistxattr.texi: Likewise.
71521         * doc/glibc-functions/lremovexattr.texi: Likewise.
71522         * doc/glibc-functions/lsetxattr.texi: Likewise.
71523         * doc/glibc-functions/pow10.texi: Likewise.
71524         * doc/glibc-functions/pow10f.texi: Likewise.
71525         * doc/glibc-functions/rcmd_af.texi: Likewise.
71526         * doc/glibc-functions/removexattr.texi: Likewise.
71527         * doc/glibc-functions/res_init.texi: Likewise.
71528         * doc/glibc-functions/res_mkquery.texi: Likewise.
71529         * doc/glibc-functions/res_query.texi: Likewise.
71530         * doc/glibc-functions/res_querydomain.texi: Likewise.
71531         * doc/glibc-functions/res_send.texi: Likewise.
71532         * doc/glibc-functions/rresvport_af.texi: Likewise.
71533         * doc/glibc-functions/setxattr.texi: Likewise.
71534         * doc/glibc-functions/strcasestr.texi: Likewise.
71536 2008-12-15  Bruno Haible  <bruno@clisp.org>
71538         Fix compilation error on OSF/1 4.0.
71539         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
71540         <sys/time.h>, simply delegate to the system header.
71541         Reported by Daniel Richard G. <oss@teragram.com>.
71543 2008-12-15  Bruno Haible  <bruno@clisp.org>
71545         * doc/posix-functions/openat.texi: Mention the 'openat' module.
71546         * doc/posix-functions/fchmodat.texi: Likewise.
71547         * doc/posix-functions/fchownat.texi: Likewise.
71548         * doc/posix-functions/fdopendir.texi: Likewise.
71549         * doc/posix-functions/fstatat.texi: Likewise.
71550         * doc/posix-functions/mkdirat.texi: Likewise.
71551         * doc/posix-functions/unlinkat.texi: Likewise.
71553 2008-12-14  Bruno Haible  <bruno@clisp.org>
71555         Update doc for POSIX:2008.
71556         * doc/posix-functions/faccessat.texi: New file.
71557         * doc/posix-functions/fchmodat.texi: New file.
71558         * doc/posix-functions/fchownat.texi: New file.
71559         * doc/posix-functions/fdopendir.texi: New file.
71560         * doc/posix-functions/fstatat.texi: New file.
71561         * doc/posix-functions/futimens.texi: New file.
71562         * doc/posix-functions/linkat.texi: New file.
71563         * doc/posix-functions/mkdirat.texi: New file.
71564         * doc/posix-functions/mkfifoat.texi: New file.
71565         * doc/posix-functions/mknodat.texi: New file.
71566         * doc/posix-functions/open_wmemstream.texi: New file.
71567         * doc/posix-functions/openat.texi: New file.
71568         * doc/posix-functions/psiginfo.texi: New file.
71569         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
71570         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
71571         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
71572         * doc/posix-functions/readlinkat.texi: New file.
71573         * doc/posix-functions/renameat.texi: New file.
71574         * doc/posix-functions/strerror_l.texi: New file.
71575         * doc/posix-functions/symlinkat.texi: New file.
71576         * doc/posix-functions/unlinkat.texi: New file.
71577         * doc/posix-functions/utimensat.texi: New file.
71578         * doc/gnulib.texi (Function Substitutes): Add these subsections.
71580 2008-12-14  Bruno Haible  <bruno@clisp.org>
71582         Update doc for POSIX:2008.
71583         * doc/posix-functions/alphasort.texi: Renamed from
71584         doc/glibc-functions/alphasort.texi.
71585         * doc/posix-functions/dirfd.texi: Renamed from
71586         doc/glibc-functions/dirfd.texi.
71587         * doc/posix-functions/dprintf.texi: Renamed from
71588         doc/glibc-functions/dprintf.texi.
71589         * doc/posix-functions/duplocale.texi: Renamed from
71590         doc/glibc-functions/duplocale.texi.
71591         * doc/posix-functions/fexecve.texi: Renamed from
71592         doc/glibc-functions/fexecve.texi.
71593         * doc/posix-functions/fmemopen.texi: Renamed from
71594         doc/glibc-functions/fmemopen.texi.
71595         * doc/posix-functions/freelocale.texi: Renamed from
71596         doc/glibc-functions/freelocale.texi.
71597         * doc/posix-functions/getdate_err.texi: Renamed from
71598         doc/glibc-functions/getdate_err.texi.
71599         * doc/posix-functions/isalnum_l.texi: Renamed from
71600         doc/glibc-functions/isalnum_l.texi.
71601         * doc/posix-functions/isalpha_l.texi: Renamed from
71602         doc/glibc-functions/isalpha_l.texi.
71603         * doc/posix-functions/isblank_l.texi: Renamed from
71604         doc/glibc-functions/isblank_l.texi.
71605         * doc/posix-functions/iscntrl_l.texi: Renamed from
71606         doc/glibc-functions/iscntrl_l.texi.
71607         * doc/posix-functions/isdigit_l.texi: Renamed from
71608         doc/glibc-functions/isdigit_l.texi.
71609         * doc/posix-functions/isgraph_l.texi: Renamed from
71610         doc/glibc-functions/isgraph_l.texi.
71611         * doc/posix-functions/islower_l.texi: Renamed from
71612         doc/glibc-functions/islower_l.texi.
71613         * doc/posix-functions/isprint_l.texi: Renamed from
71614         doc/glibc-functions/isprint_l.texi.
71615         * doc/posix-functions/ispunct_l.texi: Renamed from
71616         doc/glibc-functions/ispunct_l.texi.
71617         * doc/posix-functions/isspace_l.texi: Renamed from
71618         doc/glibc-functions/isspace_l.texi.
71619         * doc/posix-functions/isupper_l.texi: Renamed from
71620         doc/glibc-functions/isupper_l.texi.
71621         * doc/posix-functions/iswalnum_l.texi: Renamed from
71622         doc/glibc-functions/iswalnum_l.texi.
71623         * doc/posix-functions/iswalpha_l.texi: Renamed from
71624         doc/glibc-functions/iswalpha_l.texi.
71625         * doc/posix-functions/iswblank_l.texi: Renamed from
71626         doc/glibc-functions/iswblank_l.texi.
71627         * doc/posix-functions/iswcntrl_l.texi: Renamed from
71628         doc/glibc-functions/iswcntrl_l.texi.
71629         * doc/posix-functions/iswctype_l.texi: Renamed from
71630         doc/glibc-functions/iswctype_l.texi.
71631         * doc/posix-functions/iswdigit_l.texi: Renamed from
71632         doc/glibc-functions/iswdigit_l.texi.
71633         * doc/posix-functions/iswgraph_l.texi: Renamed from
71634         doc/glibc-functions/iswgraph_l.texi.
71635         * doc/posix-functions/iswlower_l.texi: Renamed from
71636         doc/glibc-functions/iswlower_l.texi.
71637         * doc/posix-functions/iswprint_l.texi: Renamed from
71638         doc/glibc-functions/iswprint_l.texi.
71639         * doc/posix-functions/iswpunct_l.texi: Renamed from
71640         doc/glibc-functions/iswpunct_l.texi.
71641         * doc/posix-functions/iswspace_l.texi: Renamed from
71642         doc/glibc-functions/iswspace_l.texi.
71643         * doc/posix-functions/iswupper_l.texi: Renamed from
71644         doc/glibc-functions/iswupper_l.texi.
71645         * doc/posix-functions/iswxdigit_l.texi: Renamed from
71646         doc/glibc-functions/iswxdigit_l.texi.
71647         * doc/posix-functions/isxdigit_l.texi: Renamed from
71648         doc/glibc-functions/isxdigit_l.texi.
71649         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
71650         doc/glibc-functions/mbsnrtowcs.texi.
71651         * doc/posix-functions/mkdtemp.texi: Renamed from
71652         doc/glibc-functions/mkdtemp.texi.
71653         * doc/posix-functions/newlocale.texi: Renamed from
71654         doc/glibc-functions/newlocale.texi.
71655         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
71656         doc/glibc-functions/nl_langinfo_l.texi.
71657         * doc/posix-functions/open_memstream.texi: Renamed from
71658         doc/glibc-functions/open_memstream.texi.
71659         * doc/posix-functions/opterr.texi: Renamed from
71660         doc/glibc-functions/opterr.texi.
71661         * doc/posix-functions/optind.texi: Renamed from
71662         doc/glibc-functions/optind.texi.
71663         * doc/posix-functions/optopt.texi: Renamed from
71664         doc/glibc-functions/optopt.texi.
71665         * doc/posix-functions/psignal.texi: Renamed from
71666         doc/glibc-functions/psignal.texi.
71667         * doc/posix-functions/scandir.texi: Renamed from
71668         doc/glibc-functions/scandir.texi.
71669         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
71670         doc/glibc-functions/sched_get_priority_min.texi.
71671         * doc/posix-functions/signgam.texi: Renamed from
71672         doc/glibc-functions/signgam.texi.
71673         * doc/posix-functions/stpcpy.texi: Renamed from
71674         doc/glibc-functions/stpcpy.texi.
71675         * doc/posix-functions/stpncpy.texi: Renamed from
71676         doc/glibc-functions/stpncpy.texi.
71677         * doc/posix-functions/strcasecmp_l.texi: Renamed from
71678         doc/glibc-functions/strcasecmp_l.texi.
71679         * doc/posix-functions/strcoll_l.texi: Renamed from
71680         doc/glibc-functions/strcoll_l.texi.
71681         * doc/posix-functions/strfmon_l.texi: Renamed from
71682         doc/glibc-functions/strfmon_l.texi.
71683         * doc/posix-functions/strftime_l.texi: Renamed from
71684         doc/glibc-functions/strftime_l.texi.
71685         * doc/posix-functions/strncasecmp_l.texi: Renamed from
71686         doc/glibc-functions/strncasecmp_l.texi.
71687         * doc/posix-functions/strndup.texi: Renamed from
71688         doc/glibc-functions/strndup.texi.
71689         * doc/posix-functions/strnlen.texi: Renamed from
71690         doc/glibc-functions/strnlen.texi.
71691         * doc/posix-functions/strsignal.texi: Renamed from
71692         doc/glibc-functions/strsignal.texi.
71693         * doc/posix-functions/strxfrm_l.texi: Renamed from
71694         doc/glibc-functions/strxfrm_l.texi.
71695         * doc/posix-functions/timer_gettime.texi: Renamed from
71696         doc/glibc-functions/timer_gettime.texi.
71697         * doc/posix-functions/tolower_l.texi: Renamed from
71698         doc/glibc-functions/tolower_l.texi.
71699         * doc/posix-functions/toupper_l.texi: Renamed from
71700         doc/glibc-functions/toupper_l.texi.
71701         * doc/posix-functions/towctrans_l.texi: Renamed from
71702         doc/glibc-functions/towctrans_l.texi.
71703         * doc/posix-functions/towlower_l.texi: Renamed from
71704         doc/glibc-functions/towlower_l.texi.
71705         * doc/posix-functions/towupper_l.texi: Renamed from
71706         doc/glibc-functions/towupper_l.texi.
71707         * doc/posix-functions/uselocale.texi: Renamed from
71708         doc/glibc-functions/uselocale.texi.
71709         * doc/posix-functions/vdprintf.texi: Renamed from
71710         doc/glibc-functions/vdprintf.texi.
71711         * doc/posix-functions/wcpcpy.texi:
71712         Renamed from doc/glibc-functions/wcpcpy.texi.
71713         * doc/posix-functions/wcpncpy.texi: Renamed from
71714         doc/glibc-functions/wcpncpy.texi.
71715         * doc/posix-functions/wcscasecmp.texi: Renamed from
71716         doc/glibc-functions/wcscasecmp.texi.
71717         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
71718         doc/glibc-functions/wcscasecmp_l.texi.
71719         * doc/posix-functions/wcscoll_l.texi: Renamed from
71720         doc/glibc-functions/wcscoll_l.texi.
71721         * doc/posix-functions/wcsdup.texi: Renamed from
71722         doc/glibc-functions/wcsdup.texi.
71723         * doc/posix-functions/wcsncasecmp.texi: Renamed from
71724         doc/glibc-functions/wcsncasecmp.texi.
71725         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
71726         doc/glibc-functions/wcsncasecmp_l.texi.
71727         * doc/posix-functions/wcsnlen.texi: Renamed from
71728         doc/glibc-functions/wcsnlen.texi.
71729         * doc/posix-functions/wcsnrtombs.texi: Renamed from
71730         doc/glibc-functions/wcsnrtombs.texi.
71731         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
71732         doc/glibc-functions/wcsxfrm_l.texi.
71733         * doc/posix-functions/wctrans_l.texi: Renamed from
71734         doc/glibc-functions/wctrans_l.texi.
71735         * doc/posix-functions/wctype_l.texi: Renamed from
71736         doc/glibc-functions/wctype_l.texi.
71737         * doc/gnulib.texi (Function Substitutes): Add these subsections.
71738         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
71739         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
71740         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
71741         these subsections.
71742         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
71743         Remove sections.
71745 2008-12-14  Bruno Haible  <bruno@clisp.org>
71747         Update doc for POSIX:2008.
71748         * doc/posix-functions/*.texi: Update URL of POSIX specification.
71750 2008-12-14  Bruno Haible  <bruno@clisp.org>
71752         Update doc for POSIX:2008.
71753         * doc/pastposix-functions/bcmp.texi: Renamed from
71754         doc/posix-functions/bcmp.texi.
71755         * doc/pastposix-functions/bcopy.texi: Renamed from
71756         doc/posix-functions/bcopy.texi.
71757         * doc/pastposix-functions/bsd_signal.texi: Renamed from
71758         doc/posix-functions/bsd_signal.texi.
71759         * doc/pastposix-functions/bzero.texi: Renamed from
71760         doc/posix-functions/bzero.texi.
71761         * doc/pastposix-functions/ecvt.texi: Renamed from
71762         doc/posix-functions/ecvt.texi.
71763         * doc/pastposix-functions/fcvt.texi: Renamed from
71764         doc/posix-functions/fcvt.texi.
71765         * doc/pastposix-functions/ftime.texi: Renamed from
71766         doc/posix-functions/ftime.texi.
71767         * doc/pastposix-functions/gcvt.texi: Renamed from
71768         doc/posix-functions/gcvt.texi.
71769         * doc/pastposix-functions/getcontext.texi: Renamed from
71770         doc/posix-functions/getcontext.texi.
71771         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
71772         doc/posix-functions/gethostbyaddr.texi.
71773         * doc/pastposix-functions/gethostbyname.texi: Renamed from
71774         doc/posix-functions/gethostbyname.texi.
71775         * doc/pastposix-functions/getwd.texi: Renamed from
71776         doc/posix-functions/getwd.texi.
71777         * doc/pastposix-functions/h_errno.texi: Renamed from
71778         doc/posix-functions/h_errno.texi.
71779         * doc/pastposix-functions/index.texi: Renamed from
71780         doc/posix-functions/index.texi.
71781         * doc/pastposix-functions/makecontext.texi: Renamed from
71782         doc/posix-functions/makecontext.texi.
71783         * doc/pastposix-functions/mktemp.texi: Renamed from
71784         doc/posix-functions/mktemp.texi.
71785         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
71786         doc/posix-functions/pthread_attr_getstackaddr.texi.
71787         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
71788         doc/posix-functions/pthread_attr_setstackaddr.texi.
71789         * doc/pastposix-functions/rindex.texi: Renamed from
71790         doc/posix-functions/rindex.texi.
71791         * doc/pastposix-functions/scalb.texi: Renamed from
71792         doc/posix-functions/scalb.texi.
71793         * doc/pastposix-functions/setcontext.texi: Renamed from
71794         doc/posix-functions/setcontext.texi.
71795         * doc/pastposix-functions/swapcontext.texi: Renamed from
71796         doc/posix-functions/swapcontext.texi.
71797         * doc/pastposix-functions/ualarm.texi: Renamed from
71798         doc/posix-functions/ualarm.texi.
71799         * doc/pastposix-functions/usleep.texi: Renamed from
71800         doc/posix-functions/usleep.texi.
71801         * doc/pastposix-functions/vfork.texi: Renamed from
71802         doc/posix-functions/vfork.texi.
71803         * doc/pastposix-functions/wcswcs.texi: Renamed from
71804         doc/posix-functions/wcswcs.texi.
71805         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
71806         (Function Substitutes): Update.
71808 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71810         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
71811         m4/strerror.m4.
71813 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71814             Bruno Haible  <bruno@clisp.org>
71816         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
71818 2008-12-13  Bruno Haible  <bruno@clisp.org>
71820         * modules/strtoull (Depends-on): Remove unistd.
71822 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71824         * modules/strtoull (Depends-on): Add stdlib.
71826 2008-12-11  Simon Josefsson  <simon@josefsson.org>
71828         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
71830 2008-12-10  Jim Meyering  <meyering@redhat.com>
71832         gl_ASSERT: don't say assertions are disabled when they're not
71833         * m4/assert.m4 (gl_ASSERT): Do not make configure report
71834         "checking whether to enable assertions... no", when they are in
71835         fact enabled.  This is solely a bug in the output of configure.
71836         In spite of saying "no", NDEBUG was not defined in that case.
71837         Also, as noted by Eric Blake, leave assertions enabled upon
71838         --enable-assert=INVALID.
71840 2008-12-10  Bruno Haible  <bruno@clisp.org>
71842         Change MODULES.html to refer to POSIX:2008 where possible.
71843         * MODULES.html.sh (POSIX2008_URL): New variable.
71844         (posix_headers): Remove sys/timeb, ucontext.
71845         (posix2001_headers): New variable.
71846         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
71847         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
71848         index, makecontext, mktemp, pthread_attr_getstackaddr,
71849         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
71850         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
71851         (posix2001_functions): New variable.
71852         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
71853         otherwise.
71855 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71857         add missing include to parse-duration.c
71858         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
71859         * modules/parse-duration (Depends-on): Add xalloc.
71861         fix sed script reading maint.mk
71862         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
71863         (syntax-check-rules): Use it.
71865 2008-12-09  Bruno Haible  <bruno@clisp.org>
71867         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
71868         MacOS X 10.4/PowerPC.
71869         Reported by Simon Josefsson.
71871 2008-12-08  Jim Meyering  <meyering@redhat.com>
71873         work around mingw's lack of some S_IF definitions
71874         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
71875         Reported by Simon Josefsson.
71877 2008-12-08  Bruno Haible  <bruno@clisp.org>
71879         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
71880         applied to variables. Needed on MacOS X 10.4/PowerPC.
71881         Reported by Simon Josefsson.
71883 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
71884         and Eric Blake  <ebb9@byu.net>
71886         assert: honor --enable-assert
71887         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
71888         order to honor --enable-assert, rather than treating it as a
71889         synonym for --disable-assert.
71891 2008-12-08  Jim Meyering  <meyering@redhat.com>
71893         * lib/posixtm.c: Remove now-useless declaration of mktime.
71895         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
71897 2008-12-07  Bruno Haible  <bruno@clisp.org>
71899         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
71900         test_once): Mark functions as static.
71901         * tests/test-tls.c (test_tls): Likewise.
71903 2008-12-07  Bruno Haible  <bruno@clisp.org>
71905         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
71906         iconv_register_autodetect.
71908 2008-12-07  Jim Meyering  <meyering@redhat.com>
71910         posixtm.c: avoid a warning
71911         * lib/posixtm.c (posixtime): Don't initialize tm0.
71912         It's no longer needed to placate gcc4's -Wuninitialized,
71913         and the attempt to placate would elicit a new warning.
71915         unicodeio.c: mark unused parameters
71916         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
71917         (fallback_failure_callback): Likewise.
71919 2008-12-07  Bruno Haible  <bruno@clisp.org>
71921         * gnulib-tool (func_create_testdir): When building the tests
71922         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
71923         Reported by Simon Josefsson.
71925 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71927         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
71929 2008-12-06  Bruno Haible  <bruno@clisp.org>
71931         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
71932         Suggested by Eric Blake.
71934 2008-12-06  Bruno Haible  <bruno@clisp.org>
71936         Fix a c-stack test failure on MacOS X.
71937         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
71938         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
71939         handler for SIGBUS as well.
71940         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
71941         install a signal handler for SIGBUS as well.
71942         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
71944 2008-12-06  Bruno Haible  <bruno@clisp.org>
71946         Advocacy documentation.
71947         * doc/gnulib-intro.texi (Benefits): New section.
71948         * doc/gnulib.texi: Update.
71950 2008-12-06  Bruno Haible  <bruno@clisp.org>
71952         Document the 'manywarnings' module.
71953         * doc/manywarnings.texi: New file.
71954         * doc/gnulib.texi: Include it.
71956 2008-12-05  Eric Blake  <ebb9@byu.net>
71958         tests: silence some gcc warnings
71959         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
71960         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
71961         type mismatches.
71963 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71964             Bruno Haible  <bruno@clisp.org>
71966         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
71968 2008-11-29  Jim Meyering  <meyering@redhat.com>
71970         unicodeio.c: mark unused parameters
71971         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
71972         (fallback_failure_callback): Likewise.
71974         fts: fix a thinko
71975         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
71976         (set_stat_type): Return S_IF*-valued "type" directly.
71977         Prompted by James Youngman's spotting a related bug.
71978         Confirmed by further testing through find.
71980         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
71981         * lib/fts.c (D_TYPE): Define.
71982         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
71983         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
71984         (s_ifmt_shift_bits): New function.
71985         (set_stat_type): New function.
71986         (fts_build): When not calling fts_stat, call set_stat_type
71987         to propagate dirent.d_type info to fts_read caller.
71988         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
71989         fts_statp->st_mode type information may be valid.
71991 2008-11-28  Simon Josefsson  <simon@josefsson.org>
71993         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
71994         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
71995         <sds@gnu.org>.
71997 2008-11-20  Bruno Haible  <bruno@clisp.org>
71999         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
72000         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
72001         INCLUDE_NEXT.
72002         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
72003         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
72004         * modules/math (Makefile.am): Substitute
72005         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
72006         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
72008 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
72009             Bruno Haible  <bruno@clisp.org>
72011         * lib/stdint.in.h: Define all type macros so that their expansion is
72012         a single typedef'ed token. Fixes a compilation failure in Boost which
72013         does "using ::int8_t;".
72015 2008-11-18  Simon Josefsson  <simon@josefsson.org>
72017         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
72018         gl_MANYWARN_ALL_GCC.
72019         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
72020         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
72021         * modules/manywarnings: New file.
72022         * MODULES.html.sh: Mention manywarnings module.
72024 2008-11-18  Bruno Haible  <bruno@clisp.org>
72026         * doc/gnulib-tool.texi (Unit tests): New section.
72028 2008-11-18  Simon Josefsson  <simon@josefsson.org>
72030         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
72031         paths like 'lib/po/foo.po'.
72033 2008-11-17  Simon Josefsson  <simon@josefsson.org>
72035         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
72036         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
72038 2008-11-17  Simon Josefsson  <simon@josefsson.org>
72040         * m4/warnings.m4: Use CPPFLAGS to really check whether the
72041         parameter works.
72043 2008-11-17  Simon Josefsson  <simon@josefsson.org>
72045         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
72047 2008-11-17  Bruce Korb  <bkorb@gnu.org>
72049         * modules/parse-duration-tests: New file.
72050         * tests/test-parse-duration.sh: New file.
72051         * tests/test-parse-duration.c: New file.
72053         New module 'parse-duration'.
72054         * lib/parse-duration.h: New file.
72055         * lib/parse-duration.c: New file.
72056         * modules/parse-duration: New file.
72058 2008-11-17  Bruno Haible  <bruno@clisp.org>
72060         * tests/test-select-out.sh: Comment out the first pipe test.
72061         Reported by Simon Josefsson.
72063 2008-11-17  Bruno Haible  <bruno@clisp.org>
72065         * modules/getaddrinfo (Depends-on): Add servent, hostent.
72066         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
72067         gl_HOSTENT.
72069 2008-11-17  Bruno Haible  <bruno@clisp.org>
72071         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
72072         -lnetwork and -lnet. Needed for Haiku and BeOS.
72074 2008-11-16  Bruno Haible  <bruno@clisp.org>
72076         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
72078 2008-11-16  Bruno Haible  <bruno@clisp.org>
72080         Avoid test failure on Haiku.
72081         * tests/test-fsync.c: Include <errno.h>.
72082         (main): Don't require that fsync (0) fails.
72084 2008-11-15  Bruno Haible  <bruno@clisp.org>
72086         New module 'hostent'.
72087         * modules/hostent: New file.
72088         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
72090 2008-11-15  Bruno Haible  <bruno@clisp.org>
72092         New module 'servent'.
72093         * modules/servent: New file.
72094         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
72096 2008-11-15  Bruno Haible  <bruno@clisp.org>
72098         Avoid generating same test program with two different rules.
72099         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
72100         test-frexp to test-frexp-nolibm.
72101         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
72102         test-frexpl to test-frexpl-nolibm.
72104 2008-11-15  Bruno Haible  <bruno@clisp.org>
72106         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
72107         $(FREXPL_LIBM).
72109 2008-11-15  Bruno Haible  <bruno@clisp.org>
72111         * lib/netdb.in.h: Activate the definitions also when the system's
72112         <netdb.h> has 'struct addrinfo'.
72113         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
72114         EAI_OVERFLOW or AI_NUMERICSERV.
72115         * doc/posix-headers/netdb.texi: Document the problem.
72117 2008-11-15  Bruno Haible  <bruno@clisp.org>
72119         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
72121         Make the 'sched' module work on platforms where <sched.h> exists but
72122         is incomplete (such as Haiku).
72123         * lib/sched.in.h; Include the system's <sched.h> if it exists.
72124         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
72125         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
72126         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
72127         HAVE_STRUCT_SCHED_PARAM.
72128         * modules/sched (Depends-on): Add include_next.
72129         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
72130         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
72131         * doc/posix-headers/sched.texi: Document the issue.
72133 2008-11-13  Jim Meyering  <meyering@redhat.com>
72135         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
72136         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
72137         test would fail due to the difference in the Report bugs to ...
72138         line.  The expected address is empty, "<>", while the actual
72139         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
72141 2008-11-12  Bruno Haible  <bruno@clisp.org>
72143         lstat: don't compile lstat.c on systems lacking lstat
72144         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
72145         which don't have lstat; this is handled by lib/sys_stat.in.h already.
72146         Reported by Daniel P. Berrange via Jim Meyering.
72148 2008-11-12  Jim Meyering  <meyering@redhat.com>
72150         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
72152 2008-11-12  Simon Josefsson  <simon@josefsson.org>
72154         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
72155         instead.
72157 2008-11-12  Bruno Haible  <bruno@clisp.org>
72159         * lib/unicodeio.c: Include unistr.h.
72160         (utf8_wctomb): Remove function.
72161         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
72163 2008-11-12  Simon Josefsson  <simon@josefsson.org>
72165         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
72166         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
72167         <bruno@clisp.org>.
72168         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
72170 2008-11-12  Simon Josefsson  <simon@josefsson.org>
72172         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
72173         * doc/gnulib.texi: Add section for warnings.
72175 2008-11-11  Bruno Haible  <bruno@clisp.org>
72177         * lib/sockets.h: Add a comment.
72179 2008-11-11  Karl Berry  <karl@gnu.org>
72181         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
72183 2008-11-11  Eric Blake  <ebb9@byu.net>
72185         fdl.texi: avoid git symlinks
72186         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
72188 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
72190         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
72192 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
72194         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
72195         (gl_WARN_ADD): Substitute $2 if literal.
72197 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
72199         * m4/warning.m4: Remove.
72201 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
72203         * m4/warnings.m4: Almost complete rewrite. :-)
72205 2008-11-10  Simon Josefsson  <simon@josefsson.org>
72207         * modules/warnings: New module.
72208         * m4/warnings.m4: New file.
72209         * MODULES.html.sh: Mention warnings module.
72210         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
72211         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72213 2008-11-10  Eric Blake  <ebb9@byu.net>
72215         fdl.texi: make a symlink to the latest version
72216         * doc/standards.texi: Revert today's earlier change.
72217         * doc/fdl-1.2.texi: Rename from old fdl.texi...
72218         * doc/fdl.texi: ...and replace this with a symlink to the newer
72219         fdl-1.3.texi.
72221 2008-11-10  Bruno Haible  <bruno@clisp.org>
72223         * tests/test-select-fd.c (main): Accept the result file name as fourth
72224         argument.
72225         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
72226         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
72228 2008-11-10  Bruno Haible  <bruno@clisp.org>
72230         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
72231         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
72232         as autoconf-substituted macros.
72233         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
72234         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
72235         gl_NETDB_H_DEFAULTS. Set these variables.
72236         * modules/netdb (Makefile.am): Substitute these variables.
72238 2008-11-10  Eric Blake  <ebb9@byu.net>
72240         standards.texi: include correct file for FDL 1.3
72241         * doc/standards.texi (GNU Free Documentation License): Change
72242         include file to pull in FDL 1.3, not 1.2.
72244         fdl.texi: revert accidental change to license
72245         * doc/fdl.texi: This is FDL 1.2, not 1.3.
72247 2008-11-10  Bruno Haible  <bruno@clisp.org>
72249         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
72250         cross-compiling guesses also when the native compile gives no result.
72252 2008-11-10  Bruno Haible  <bruno@clisp.org>
72254         * lib/spawni.c (__spawni): Force variable into the stack.
72256 2008-11-10  Bruno Haible  <bruno@clisp.org>
72258         Add support for Haiku.
72259         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
72260         glibc and BeOS, but also on Haiku.
72261         * lib/fpurge.c (fpurge): Likewise.
72262         * lib/freadable.c (freadable): Likewise.
72263         * lib/freadahead.c (freadahead): Likewise.
72264         * lib/freading.c (freading): Likewise.
72265         * lib/freadptr.c (freadptr): Likewise.
72266         * lib/freadseek.c (freadptrinc): Likewise.
72267         * lib/fseeko.c (rpl_fseeko): Likewise.
72268         * lib/fseterr.c (fseterr): Likewise.
72269         * lib/fwritable.c (fwritable): Likewise.
72270         * lib/fwriting.c (fwriting): Likewise.
72271         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
72273 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
72275         * lib/config.charset: Treat Haiku like BeOS.
72277 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
72279         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
72280         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
72282 2008-11-08  Bruno Haible  <bruno@clisp.org>
72284         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
72285         AC_CACHE_CHECK.
72287 2008-11-08  Bruno Haible  <bruno@clisp.org>
72289         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
72291 2008-11-08  Bruno Haible  <bruno@clisp.org>
72293         * tests/test-select-fd.c: New file.
72294         * tests/test-select-in.sh: New file.
72295         * tests/test-select-out.sh: New file.
72296         * tests/test-select-stdin.c: New file.
72297         * modules/select-tests (Files): Add the new files.
72298         (Depends-on): Add gettimeofday.
72299         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
72300         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
72301         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
72303 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
72304             Bruno Haible  <bruno@clisp.org>
72306         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
72308 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
72310         * build-aux/pmccabe2html: Added support for C++ source files.
72312 2008-11-05  Ben Pfaff  <blp@gnu.org>
72314         Fix lib/close.c build on Windows.
72315         * modules/close (Files): Add lib/w32sock.h.
72317 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
72319         Accept Bison's NEWS format.
72320         * build-aux/announce-gen (print_news_deltas): Tweak
72321         $re_prefix.
72323 2008-11-04  Bruno Haible  <bruno@clisp.org>
72325         * modules/random_r (Maintainer): Add glibc.
72327 2008-11-04  Simon Josefsson  <simon@josefsson.org>
72329         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
72330         by karl@freefriends.org (Karl Berry).
72331         * doc/alloca.texi: Likewise.
72332         * doc/c-ctype.texi: Likewise.
72333         * doc/c-strcase.texi: Likewise.
72334         * doc/c-strcaseeq.texi: Likewise.
72335         * doc/c-strcasestr.texi: Likewise.
72336         * doc/c-strstr.texi: Likewise.
72337         * doc/c-strtod.texi: Likewise.
72338         * doc/c-strtold.texi: Likewise.
72339         * doc/ctime.texi: Likewise.
72340         * doc/error.texi: Likewise.
72341         * doc/fdl.texi: Likewise.
72342         * doc/gcd.texi: Likewise.
72343         * doc/getdate.texi: Likewise.
72344         * doc/gnulib-intro.texi: Likewise.
72345         * doc/gnulib-tool.texi: Likewise.
72346         * doc/gnulib.texi: Likewise.
72347         * doc/inet_ntoa.texi: Likewise.
72348         * doc/maintain.texi: Likewise.
72349         * doc/make-stds.texi: Likewise.
72350         * doc/quote.texi: Likewise.
72351         * doc/regexprops-generic.texi: Likewise.
72352         * doc/standards.texi: Likewise.
72353         * doc/verify.texi: Likewise.
72354         * doc/visibility.texi: Likewise.
72355         * doc/gnulib.texi (GNU Free Documentation License): Include
72356         fdl-1.3.texi instead of fdl.texi.
72358 2008-11-04  Simon Josefsson  <simon@josefsson.org>
72360         * doc/fdl-1.3.texi: New file, from
72361         <http://www.gnu.org/licenses/fdl-1.3.texi>.
72362         * modules/fdl-1.3: Add.
72363         * MODULES.html.sh: Add fdl-1.3.
72365 2008-11-03  Bruno Haible  <bruno@clisp.org>
72367         Make determination of absolute name of header file work with AIX xlc.
72368         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
72369         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
72370         preprocessing.
72371         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
72372         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
72374 2008-11-03  Simon Josefsson  <simon@josefsson.org>
72376         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
72377         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
72378         <ludo@gnu.org>.
72380 2008-11-02  Bruno Haible  <bruno@clisp.org>
72382         Mark 'strpbrk' obsolete.
72383         * modules/strpbrk (Status, Notice): New sections.
72384         * modules/strtok_r (Depends-on): Add strpbrk.
72386 2008-11-02  Bruno Haible  <bruno@clisp.org>
72388         Mark 'strdup' obsolete.
72389         * modules/strdup (Status, Notice): New sections.
72390         * modules/findprog (Depends-on): Add strdup.
72391         * modules/getaddrinfo (Depends-on): Likewise.
72392         * modules/localename (Depends-on): Likewise.
72393         * modules/relocatable-lib (Depends-on): Likewise.
72394         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
72395         * modules/relocatable-prog (Depends-on): Likewise.
72396         * modules/trim (Depends-on): Likewise.
72397         * modules/unictype/gen-ctype (Depends-on): Likewise.
72398         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
72400 2008-11-02  Bruno Haible  <bruno@clisp.org>
72402         Mark 'strcspn' obsolete.
72403         * modules/strcspn (Status, Notice): New sections.
72405 2008-11-02  Bruno Haible  <bruno@clisp.org>
72407         Mark 'rmdir' obsolete.
72408         * modules/rmdir (Status, Notice): New sections.
72409         * modules/clean-temp (Depends-on): Add rmdir.
72410         * modules/openat (Depends-on): Likewise.
72412 2008-11-02  Bruno Haible  <bruno@clisp.org>
72414         Mark 'raise' obsolete.
72415         * modules/raise (Status, Notice): New sections.
72416         (Include): Specify <signal.h>.
72417         * modules/stdio (Depends-on): Add raise.
72418         * modules/write (Depends-on): Likewise.
72420 2008-11-02  Bruno Haible  <bruno@clisp.org>
72422         Mark 'memset' obsolete.
72423         * modules/memset (Status, Notice): New sections.
72425 2008-11-02  Bruno Haible  <bruno@clisp.org>
72427         Mark 'memmove' obsolete.
72428         * modules/memmove (Status, Notice): New sections.
72429         * modules/argp (Depends-on): Add memmove.
72430         * modules/argz (Depends-on): Likewise.
72431         * modules/canonicalize (Depends-on): Likewise.
72432         * modules/canonicalize-lgpl (Depends-on): Likewise.
72433         * modules/fts (Depends-on): Likewise.
72434         * modules/getcwd (Depends-on): Likewise.
72435         * modules/human (Depends-on): Likewise.
72436         * modules/regex (Depends-on): Likewise.
72437         * modules/striconveh (Depends-on): Likewise.
72438         * modules/trim (Depends-on): Likewise.
72439         * modules/unistr/u8-move (Depends-on): Likewise.
72440         * modules/unistr/u16-move (Depends-on): Likewise.
72441         * modules/unistr/u32-move (Depends-on): Likewise.
72443 2008-11-02  Bruno Haible  <bruno@clisp.org>
72445         Mark 'memcpy' obsolete.
72446         * modules/memcpy (Status, Notice): New sections.
72448 2008-11-02  Bruno Haible  <bruno@clisp.org>
72450         Mark 'memcmp' obsolete.
72451         * modules/memcmp (Status, Notice): New sections.
72452         * modules/argmatch (Depends-on): Add memchr.
72453         * modules/backupfile (Depends-on): Likewise.
72454         * modules/c-strcasestr (Depends-on): Likewise.
72455         * modules/crypto/des (Depends-on): Likewise.
72456         * modules/csharpcomp (Depends-on): Likewise.
72457         * modules/fnmatch (Depends-on): Likewise.
72458         * modules/git-merge-changelog (Depends-on): Likewise.
72459         * modules/isnand (Depends-on): Likewise.
72460         * modules/isnand-nolibm (Depends-on): Likewise.
72461         * modules/isnanf (Depends-on): Likewise.
72462         * modules/isnanf-nolibm (Depends-on): Likewise.
72463         * modules/isnanl (Depends-on): Likewise.
72464         * modules/isnanl-nolibm (Depends-on): Likewise.
72465         * modules/mbchar (Depends-on): Likewise.
72466         * modules/memcoll (Depends-on): Likewise.
72467         * modules/quotearg (Depends-on): Likewise.
72468         * modules/regex (Depends-on): Likewise.
72469         * modules/relocatable-prog (Depends-on): Likewise.
72470         * modules/same (Depends-on): Likewise.
72471         * modules/signbit (Depends-on): Likewise.
72472         * modules/strcasestr-simple (Depends-on): Likewise.
72473         * modules/unictype/gen-ctype (Depends-on): Likewise.
72474         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
72475         * modules/uniname/uniname (Depends-on): Likewise.
72476         * modules/unistr/u8-cmp (Depends-on): Likewise.
72478 2008-11-02  Bruno Haible  <bruno@clisp.org>
72480         Mark 'memchr' obsolete.
72481         * modules/memchr (Status, Notice): New sections.
72482         * modules/argp (Depends-on): Add memchr.
72483         * modules/base64 (Depends-on): Likewise.
72484         * modules/c-strcasestr (Depends-on): Likewise.
72485         * modules/chdir-long (Depends-on): Likewise.
72486         * modules/fnmatch (Depends-on): Likewise.
72487         * modules/getsubopt (Depends-on): Likewise.
72488         * modules/git-merge-changelog (Depends-on): Likewise.
72489         * modules/glob (Depends-on): Likewise.
72490         * modules/strcasestr-simple (Depends-on): Likewise.
72491         * modules/strnlen (Depends-on): Likewise.
72493 2008-11-02  Bruno Haible  <bruno@clisp.org>
72495         Mark 'atexit' obsolete.
72496         * modules/atexit (Status, Notice): New sections.
72497         * modules/chdir-long (Depends-on): Add atexit.
72498         * modules/wait-process (Depends-on): Likewise.
72500 2008-11-02  Bruno Haible  <bruno@clisp.org>
72502         * gnulib-tool: New option --with-obsolete.
72503         (func_usage): Document it.
72504         (func_modules_transitive_closure): Drop obsolete dependencies if
72505         incobsolete is not true.
72506         (func_import): Read and save the incobsolete variable to the cache.
72508 2008-11-02  Bruno Haible  <bruno@clisp.org>
72510         * modules/TEMPLATE-EXTENDED: New field 'Status'.
72511         * gnulib-tool: New option --extract-status.
72512         (func_usage): Document it.
72513         (sed_extract_prog): Recognize it.
72514         (func_get_status): New function.
72516 2008-10-30  Simon Josefsson  <simon@josefsson.org>
72518         * modules/sockets (License): Change from LGPL to LGPLv2+.
72520 2008-10-28  Simon Josefsson  <simon@josefsson.org>
72522         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
72524 2008-10-28  Simon Josefsson  <simon@josefsson.org>
72526         * MODULES.html.sh (Support for systems lacking POSIX:2001):
72527         Mention times and sys_times.
72528         * modules/sys_times, modules/sys_times-tests: New modules.
72529         * modules/times, modules/times-tests: Likewise
72530         * m4/sys_times_h.m4: New file.
72531         * lib/sys_times.in.h: Likewise
72532         * lib/times.c: Likewise.
72533         * tests/test-sys_times.c: Likewise.
72534         * tests/test-times.c: Likewise.
72535         * doc/posix-headers/sys_times.texi: Update.
72536         * doc/posix-functions/times.texi: Update.
72538 2008-10-28  Jim Meyering  <meyering@redhat.com>
72540         * modules/tempname (Depends-on): Add lstat.
72542         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
72544 2008-10-28  Simon Josefsson  <simon@josefsson.org>
72546         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
72547         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
72548         using idiom used elsewhere in gnulib.
72550 2008-10-27  Jim Meyering  <meyering@redhat.com>
72552         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
72554 2008-10-27  Simon Josefsson  <simon@josefsson.org>
72556         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
72557         TESTS_ENVIRONMENT, for shell scripts that needs to call built
72558         programs.
72559         * tests/test-argp-2.sh: Use $EXEEXT when needed.
72561 2008-10-27  Simon Josefsson  <simon@josefsson.org>
72563         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
72565 2008-10-27  Bruno Haible  <bruno@clisp.org>
72567         * tests/test-lstat.c: Include <stdio.h>.
72569 2008-10-27  Simon Josefsson  <simon@josefsson.org>
72571         * modules/lstat-tests: New module.
72572         * tests/test-lstat.c: New file.
72574 2008-10-26  Jim Meyering  <meyering@redhat.com>
72576         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
72578 2008-10-26  Simon Josefsson  <simon@josefsson.org>
72579             Bruno Haible  <bruno@clisp.org>
72581         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
72582         * modules/configmake (Include): Add a note that the include must come
72583         after all system headers.
72584         * lib/javaversion.c: Include configmake.h after all other includes.
72586 2008-10-26  Bruno Haible  <bruno@clisp.org>
72588         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
72589         HAVE_STRUCT_RANDOM_DATA to 1.
72590         (gl_STDLIB_H): Simplify.
72592 2008-10-26  Simon Josefsson  <simon@josefsson.org>
72594         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
72595         substitute HAVE_STRUCT_RANDOM_DATA.
72596         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
72597         random_data.
72598         * modules/stdlib (Makefile.am): Substitute
72599         HAVE_STRUCT_RANDOM_DATA.
72601 2008-10-26  Simon Josefsson  <simon@josefsson.org>
72603         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
72604         * doc/gnulib-intro.texi (Copyright): Likewise.
72606 2008-10-26  Simon Josefsson  <simon@josefsson.org>
72608         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
72609         findings.
72611 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
72612             Bruno Haible  <bruno@clisp.org>
72614         * lib/unistd.in.h: Include <winsock2.h>.
72615         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
72616         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
72617         Provide dummy declarations.
72618         (gethostname): Override.
72619         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
72620         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
72621         gl_PREREQ_SYS_H_WINSOCK2.
72622         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
72623         * doc/posix-functions/gethostname.texi: More details.
72625 2008-10-25  Bruno Haible  <bruno@clisp.org>
72627         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
72628         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
72629         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
72631         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
72632         here ...
72633         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
72634         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
72635         gl_UNISTD_H_DEFAULTS.
72637 2008-10-25  Eric Blake  <ebb9@byu.net>
72639         signbit: avoid spurious compiler failure
72640         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
72641         declarations inside function.
72643 2008-10-24  Simon Josefsson  <simon@josefsson.org>
72644             Bruno Haible  <bruno@clisp.org>
72646         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
72647         * modules/random_r (Depends-on): Add stdint.
72649 2008-10-24  Bruno Haible  <bruno@clisp.org>
72651         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
72652         Eggert.
72653         * modules/strerror (License): Likewise.
72655 2008-10-24  Jim Meyering  <meyering@redhat.com>
72657         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
72658         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
72660 2008-10-24  Eric Blake  <ebb9@byu.net>
72662         getgroups: fix compilation when getgroups is available
72663         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
72664         but with <config.h> override of getgroups disabled.
72666 2008-10-24  Simon Josefsson  <simon@josefsson.org>
72668         * doc/gnulib.texi (Header files): Add note about C++ problems.
72669         Explained by Bruno Haible <bruno@clisp.org>.
72671 2008-10-23  Bruno Haible  <bruno@clisp.org>
72673         Define a dummy SA_NODEFER macro on Interix.
72674         * lib/signal.in.h (SA_NODEFER): Define fallback.
72675         Reported by Aleksey Cheusov <cheusov@tut.by> via
72676         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
72678 2008-10-23  Bruno Haible  <bruno@clisp.org>
72680         * modules/freadahead (License): Change to LGPLv2+.
72681         Suggested by Simon Josefsson.
72683 2008-10-23  Jim Meyering  <meyering@redhat.com>
72685         random_r: new module
72686         * modules/random_r: New file.
72687         * m4/random_r.m4: New file.
72688         * lib/random_r.c: New file, from glibc.
72689         * modules/random_r-tests: New file.
72690         * tests/test-random_r.c: New file.
72691         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
72692          Declare.
72693         (RAND_MAX): Define.
72694         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
72695         * modules/stdlib: Substitute them, too.
72696         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
72697         * doc/glibc-functions/initstate_r.texi: Mention the new module.
72698         * doc/glibc-functions/random_r.texi: Likewise.
72699         * doc/glibc-functions/setstate_r.texi: Likewise.
72700         * doc/glibc-functions/srandom_r.texi: Likewise.
72701         * config/srclist.txt: Mention it.
72703 2008-10-23  David Lutterkort  <lutter@redhat.com>
72705         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
72706         link requirement
72708 2008-10-23  Jim Meyering  <meyering@redhat.com>
72710         selinux-h: mark parameters of stub functions as intentionally unused
72711         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
72712         * lib/se-context.in.h: Likewise.
72714 2008-10-22  Simon Josefsson  <simon@josefsson.org>
72716         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
72718 2008-10-22  Simon Josefsson  <simon@josefsson.org>
72720         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
72722 2008-10-22  Eric Blake  <ebb9@byu.net>
72724         glthread/thread: avoid compiler warning
72725         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
72726         Add unreachable abort to silence compiler.
72728 2008-10-22  Eric Blake  <ebb9@byu.net>
72730         netdb: also supply struct addrinfo for cygwin 1.5.x
72731         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
72732         older cygwin.
72733         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
72734         cygwin.
72735         * doc/posix-headers/netdb.texi (netdb.h): Document this.
72737 2008-10-22  Bruno Haible  <bruno@clisp.org>
72739         * users.txt: Update entry about pspp.
72741 2008-10-21  Bruno Haible  <bruno@clisp.org>
72743         Simplification.
72744         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
72745         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
72747         Simplification.
72748         * lib/ioctl.c (ioctl): Don't undefine.
72749         * lib/socket.c (socket): Don't undefine.
72751         Remove unused module indicator macros.
72752         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
72753         GNULIB_$1 as a C macro.
72755         * doc/posix-functions/close.texi: Undo last change.
72756         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
72757         Windows platforms.
72759 2008-10-21  Bruno Haible  <bruno@clisp.org>
72761         Add gethostname() declaration to <unistd.h>.
72762         * lib/unistd.in.h (gethostname): New declaration.
72763         * lib/gethostname.c: Include <unistd.h>.
72764         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
72765         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
72766         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
72767         and HAVE_GETHOSTNAME.
72768         * modules/gethostname (Depends-on): Add unistd.
72769         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72770         (Include): Specify <unistd.h>.
72771         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
72772         HAVE_GETHOSTNAME.
72773         * tests/test-gethostname.c: Include <unistd.h> first.
72775 2008-10-21  Bruno Haible  <bruno@clisp.org>
72777         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
72778         * modules/select-tests (Depends-on): Likewise.
72779         Reported by Simon Josefsson.
72781 2008-10-21  Simon Josefsson  <simon@josefsson.org>
72783         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
72784         * lib/accept.c: New file, based on winsock.c.
72785         * lib/bind.c: New file, based on winsock.c.
72786         * lib/connect.c: New file, based on winsock.c.
72787         * lib/getpeername.c: New file, based on winsock.c.
72788         * lib/getsockname.c: New file, based on winsock.c.
72789         * lib/getsockopt.c: New file, based on winsock.c.
72790         * lib/ioctl.c: New file, based on winsock.c.
72791         * lib/listen.c: New file, based on winsock.c.
72792         * lib/recv.c: New file, based on winsock.c.
72793         * lib/recvfrom.c: New file, based on winsock.c.
72794         * lib/send.c: New file, based on winsock.c.
72795         * lib/sendto.c: New file, based on winsock.c.
72796         * lib/setsockopt.c: New file, based on winsock.c.
72797         * lib/shutdown.c: New file, based on winsock.c.
72798         * lib/socket.c: New file, based on winsock.c.
72799         * lib/w32sock.h: New file, based on winsock.c.
72800         * lib/winsock.c: Remove file.
72801         * modules/accept: Likewise.
72802         * modules/bind: Likewise.
72803         * modules/connect: Likewise.
72804         * modules/getpeername: Likewise.
72805         * modules/getsockname: Likewise.
72806         * modules/getsockopt: Likewise.
72807         * modules/ioctl: Likewise.
72808         * modules/listen: Likewise.
72809         * modules/recv: Likewise.
72810         * modules/recvfrom: Likewise.
72811         * modules/send: Likewise.
72812         * modules/sendto: Likewise.
72813         * modules/setsockopt: Likewise.
72814         * modules/shutdown: Likewise.
72815         * modules/socket: Use socket.c instead of winsock.c.
72816         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
72817         * doc/posix-functions/accept.texi: Doc fix.
72818         * doc/posix-functions/bind.texi: Doc fix.
72819         * doc/posix-functions/close.texi: Doc fix.
72820         * doc/posix-functions/connect.texi: Doc fix.
72821         * doc/posix-functions/getpeername.texi: Doc fix.
72822         * doc/posix-functions/getsockname.texi: Doc fix.
72823         * doc/posix-functions/getsockopt.texi: Doc fix.
72824         * doc/posix-functions/ioctl.texi: Doc fix.
72825         * doc/posix-functions/listen.texi: Doc fix.
72826         * doc/posix-functions/recv.texi: Doc fix.
72827         * doc/posix-functions/recvfrom.texi: Doc fix.
72828         * doc/posix-functions/send.texi: Doc fix.
72829         * doc/posix-functions/sendto.texi: Doc fix.
72830         * doc/posix-functions/setsockopt.texi: Doc fix.
72831         * doc/posix-functions/shutdown.texi: Doc fix.
72832         * doc/posix-functions/socket.texi: Doc fix.
72834 2008-10-20  Bruno Haible  <bruno@clisp.org>
72836         Take into account the role of SIGABRT_COMPAT on Windows 2008.
72837         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
72838         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
72839         as an alias for SIGABRT.
72840         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
72841         (sigaction): Map it to SIGABRT.
72842         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
72844 2008-10-20  Bruno Haible  <bruno@clisp.org>
72846         * lib/fts.c: Don't include lstat.h.
72847         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
72849         Move the lstat() declaration to <sys/stat.h>.
72850         * lib/lstat.h: Remove file.
72851         * lib/sys_stat.in.h: Add special invocation convention.
72852         (lstat): New declaration.
72853         * lib/lstat.c (orig_lstat): New function.
72854         (rpl_lstat): Use orig_lstat instead of lstat.
72855         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
72856         AC_C_INLINE. Set REPLACE_LSTAT.
72857         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
72858         and REPLACE_LSTAT.
72859         * modules/lstat (Files): Remove lib/lstat.h.
72860         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
72861         (Include): Specify <sys/stat.h> instead of lstat.h.
72862         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
72863         REPLACE_LSTAT.
72864         * NEWS: Mention the change.
72866 2008-10-20  Bruno Haible  <bruno@clisp.org>
72868         * modules/posix_spawn-tests: New file.
72869         * tests/test-posix_spawn3.c: New file.
72871 2008-10-20  Bruno Haible  <bruno@clisp.org>
72873         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
72874         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
72875         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
72876         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
72877         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
72879 2008-10-20  Bruno Haible  <bruno@clisp.org>
72881         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
72882         of posix_spawn on AIX 5.3.
72884 2008-10-20  Bruno Haible  <bruno@clisp.org>
72886         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
72888 2008-10-20  Bruno Haible  <bruno@clisp.org>
72890         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
72891         of AC_LANG_PROGRAM.
72893 2008-10-20  Simon Josefsson  <simon@josefsson.org>
72895         * lib/netdb.in.h: Don't define GNU specific constants until they
72896         are supported or needed.  Reported by Bruno Haible
72897         <bruno@clisp.org>.
72899 2008-10-20  Simon Josefsson  <simon@josefsson.org>
72901         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
72903 2008-10-20  Simon Josefsson  <simon@josefsson.org>
72905         * lib/getaddrinfo.h: Remove file.
72906         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
72907         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
72908         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
72909         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
72910         * modules/netdb: Substitute GNULIB_GETADDRINFO.
72911         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
72912         * tests/test-getaddrinfo.c: Likewise.
72913         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
72914         * NEWS: Mention change.
72916 2008-10-19  Bruno Haible  <bruno@clisp.org>
72918         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
72920 2008-10-19  Bruno Haible  <bruno@clisp.org>
72922         * lib/wait-process.c: Include simply <sys/wait.h>.
72923         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
72924         WIFSTOPPED): Remove fallback definitions.
72925         * modules/wait-process (Depends-on): Add sys_wait.
72927         New module 'sys_wait'.
72928         * modules/sys_wait: New file.
72929         * lib/sys_wait.in.h: New file, partially copied from
72930         lib/wait-process.c.
72931         * m4/sys_wait_h.m4: New file.
72932         * doc/posix-headers/sys_wait.texi: Mention the new module.
72934 2008-10-19  Bruno Haible  <bruno@clisp.org>
72936         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
72938 2008-10-19  Bruno Haible  <bruno@clisp.org>
72940         Assume that waitpid() fills an 'int' status, not a 'union wait'.
72941         * lib/wait-process.c (WAIT_T): Remove type.
72942         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
72943         (wait_subprocess): Update.
72945 2008-10-19  Bruno Haible  <bruno@clisp.org>
72947         New module 'atoll'.
72948         * modules/atoll: New file.
72949         * lib/stdlib.in.h (atoll): New declaration.
72950         * lib/atoll.c: New file, from glibc with modifications.
72951         * m4/atoll.m4: New file.
72952         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
72953         HAVE_ATOLL.
72954         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
72955         * doc/posix-functions/atoll.texi: Mention the new module.
72957 2008-10-19  Bruno Haible  <bruno@clisp.org>
72959         Add strtoull() declaration to <stdlib.h>.
72960         * lib/stdlib.in.h (strtoull): New declaration.
72961         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
72962         Set HAVE_STRTOULL.
72963         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
72964         HAVE_STRTOULL.
72965         * modules/strtoull (Depends-on): Add stdlib.
72966         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72967         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
72968         HAVE_STRTOULL.
72970 2008-10-19  Bruno Haible  <bruno@clisp.org>
72972         Add strtoll() declaration to <stdlib.h>.
72973         * lib/stdlib.in.h (strtoll): New declaration.
72974         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
72975         Set HAVE_STRTOLL.
72976         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
72977         HAVE_STRTOLL.
72978         * modules/strtoll (Depends-on): Add stdlib.
72979         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72980         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
72982 2008-10-19  Bruno Haible  <bruno@clisp.org>
72984         * modules/bcopy (Depends-on): Add strings.
72985         (Include): Specify <strings.h>.
72987 2008-10-19  Bruno Haible  <bruno@clisp.org>
72989         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
72991 2008-10-19  Bruno Haible  <bruno@clisp.org>
72993         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
72994         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
72995         mingw.
72997 2008-10-19  Bruno Haible  <bruno@clisp.org>
72999         * lib/atanl.c: Don't include isnanl.h.
73000         * lib/cosl.c: Likewise.
73001         * lib/ldexpl.c: Likewise.
73002         * lib/logl.c: Likewise.
73003         * lib/sinl.c: Likewise.
73004         * lib/sqrtl.c: Likewise.
73005         * lib/tanl.c: Likewise.
73007         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
73008         * lib/isnanf.h: Remove file.
73009         * lib/isnand.h: Remove file.
73010         * lib/isnanl.h: Remove file.
73011         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
73012         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
73013         macros.
73014         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
73015         HAVE_ISNANF, don't define it as a C macro.
73016         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
73017         HAVE_ISNAND, don't define it as a C macro.
73018         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
73019         HAVE_ISNANL, don't define it as a C macro.
73020         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
73021         HAVE_ISNAN[FDL].
73022         * modules/isnanf (Files): Remove lib/isnanf.h.
73023         (Depends-on): Add math.
73024         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
73025         (Include): Specify <math.h> instead of isnanf.h.
73026         * modules/isnand (Files): Remove lib/isnand.h.
73027         (Depends-on): Add math.
73028         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
73029         (Include): Specify <math.h> instead of isnand.h.
73030         * modules/isnanl (Files): Remove lib/isnanl.h.
73031         (Depends-on): Add math.
73032         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
73033         (Include): Specify <math.h> instead of isnanl.h.
73034         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
73035         HAVE_ISNAN[FDL].
73036         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
73037         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
73038         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
73039         * NEWS: Mention the change.
73041 2008-10-18  Bruno Haible  <bruno@clisp.org>
73043         Add getusershell(), setusershell(), endusershell() declarations to
73044         <unistd.h>.
73045         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
73046         declarations.
73047         * lib/getusershell.c: Include unistd.h.
73048         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
73049         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
73050         HAVE_GETUSERSHELL.
73051         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
73052         and HAVE_GETUSERSHELL.
73053         * modules/getusershell (Depends-on): Add unistd, extensions.
73054         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73055         (Include): Specify <unistd.h>.
73056         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
73057         HAVE_GETUSERSHELL.
73059 2008-10-18  Bruno Haible  <bruno@clisp.org>
73061         Add a getloadavg() declaration to <stdlib.h>.
73062         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
73063         getloadavg declaration.
73064         (getloadavg): New declaration.
73065         * lib/getloadavg.c: Include <stdlib.h> first.
73066         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
73067         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
73068         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
73069         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
73070         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
73071         * modules/getloadavg (Depends-on): Add stdlib, extensions.
73072         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73073         (Include): Specify <stdlib.h>.
73074         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
73075         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
73077 2008-10-18  Bruno Haible  <bruno@clisp.org>
73079         * lib/dirchownmod.c: Don't include lchmod.h.
73081         Move the lchmod() declaration to <sys/stat.h>.
73082         * lib/lchmod.h: Remove file.
73083         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
73084         (lchmod): New declaration, moved here from lib/lchown.h.
73085         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
73086         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
73087         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
73088         and HAVE_LCHMOD.
73089         * modules/lchmod (Files): Remove lib/lchmod.h.
73090         (Depends-on): Add sys_stat, extensions.
73091         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
73092         (Include): Specify <sys/stat.h> instead of lchmod.h.
73093         * modules/sys_stat (Depends-on): Add link-warning.
73094         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
73095         definition of GL_LINK_WARNING.
73096         * NEWS: Mention the change.
73098 2008-10-18  Bruno Haible  <bruno@clisp.org>
73100         * lib/fchdir.c: Don't include dirfd.h.
73101         * lib/fts.c: Likewise.
73102         * lib/getcwd.c: Likewise.
73103         * lib/glob.c: Likewise.
73105         Move the dirfd() declaration to <dirent.h>.
73106         * lib/dirfd.h: Remove file.
73107         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
73108         (dirfd): New declaration.
73109         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
73110         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
73111         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
73112         HAVE_DECL_DIRFD.
73113         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
73114         HAVE_DECL_DIRFD.
73115         * modules/dirfd (Files): Remove lib/dirfd.h.
73116         (Depends-on): Add dirent, extensions.
73117         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
73118         (Include): Specify <dirent.h> instead of dirfd.h.
73119         * modules/dirent (Depends-on): Add link-warning.
73120         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
73121         definition of GL_LINK_WARNING.
73122         * NEWS: Mention the change.
73124 2008-10-18  Bruno Haible  <bruno@clisp.org>
73126         Move the euidaccess() declaration to <unistd.h>.
73127         * lib/euidaccess.h: Remove file.
73128         * lib/unistd.in.h (euidaccess): New declaration.
73129         * lib/euidaccess.c: Don't include euidaccess.h.
73130         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
73131         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
73132         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
73133         and HAVE_EUIDACCESS.
73134         * modules/euidaccess (Files): Remove lib/euidaccess.h.
73135         (Depends-on): Add unistd.
73136         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73137         (Include): Specify <unistd.h> instead of euidaccess.h.
73138         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
73139         HAVE_EUIDACCESS.
73140         * NEWS: Mention the change.
73142 2008-10-18  Bruno Haible  <bruno@clisp.org>
73144         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
73146         Move the getdomainname() declaration to <unistd.h>.
73147         * lib/getdomainname.h: Remove file.
73148         * lib/unistd.in.h (getdomainname): New declaration.
73149         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
73150         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
73151         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
73152         HAVE_GETDOMAINNAME.
73153         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
73154         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
73155         * modules/getdomainname (Files): Remove lib/getdomainname.h.
73156         (Depends-on): Add unistd, extensions.
73157         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73158         (Includes): Specify <unistd.h> instead of getdomainname.h.
73159         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
73160         HAVE_GETDOMAINNAME.
73161         * NEWS: Mention the change.
73163 2008-10-18  Bruno Haible  <bruno@clisp.org>
73165         * modules/dirent: New file.
73166         * m4/dirent_h.m4: New file.
73167         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
73168         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
73169         * modules/fchdir (Files): Remove lib/dirent.in.h.
73170         (Depends-on): Add dirent.
73171         (Makefile.am): Move rules to modules/dirent.
73172         * doc/posix-headers/dirent.texi: Mention the new module.
73174 2008-10-18  Bruno Haible  <bruno@clisp.org>
73176         Avoid -Wunused-parameter warnings in public gnulib header files.
73177         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
73178         macro.
73179         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
73181 2008-10-18  Bruno Haible  <bruno@clisp.org>
73183         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
73184         * doc/glibc-functions/error.texi: Mention the module 'error'.
73185         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
73186         * doc/glibc-functions/getdomainname.texi: Mention the module
73187         'getdomainname'.
73188         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
73189         * doc/glibc-functions/getpagesize.texi: Mention the module
73190         'getpagesize'.
73191         * doc/glibc-functions/getusershell.texi: Mention the module
73192         'getusershell'.
73193         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
73194         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
73195         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
73196         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
73197         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
73198         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
73199         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
73200         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
73201         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
73202         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
73203         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
73204         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
73205         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
73206         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
73208 2008-10-17  Bruno Haible  <bruno@clisp.org>
73210         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
73211         HP-UX and IRIX, use -0.0L.
73212         * tests/test-ceill.c (minus_zero): Likewise.
73213         * tests/test-floorl.c (minus_zero): Likewise.
73214         * tests/test-frexpl.c (minus_zero): Likewise.
73215         * tests/test-isnan.c (minus_zerol): Likewise.
73216         * tests/test-isnanl.h (minus_zero): Likewise.
73217         * tests/test-ldexpl.c (minus_zero): Likewise.
73218         * tests/test-roundl.c (minus_zero): Likewise.
73219         * tests/test-signbit.c (minus_zerol): Likewise.
73220         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
73221         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
73222         * tests/test-truncl.c (minus_zero): Likewise.
73223         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
73224         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
73225         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
73226         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
73228 2008-10-17  Bruno Haible  <bruno@clisp.org>
73230         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
73231         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
73232         that it gets activated only for gcc >= 3.0.
73233         * lib/dirent.in.h: Likewise.
73234         * lib/errno.in.h: Likewise.
73235         * lib/fcntl.in.h: Likewise.
73236         * lib/float.in.h: Likewise.
73237         * lib/iconv.in.h: Likewise.
73238         * lib/inttypes.in.h: Likewise.
73239         * lib/locale.in.h: Likewise.
73240         * lib/math.in.h: Likewise.
73241         * lib/netdb.in.h: Likewise.
73242         * lib/netinet_in.in.h: Likewise.
73243         * lib/search.in.h: Likewise.
73244         * lib/signal.in.h: Likewise.
73245         * lib/spawn.in.h: Likewise.
73246         * lib/stdarg.in.h: Likewise.
73247         * lib/stdint.in.h: Likewise.
73248         * lib/stdio.in.h: Likewise.
73249         * lib/stdlib.in.h: Likewise.
73250         * lib/string.in.h: Likewise.
73251         * lib/strings.in.h: Likewise.
73252         * lib/sys_file.in.h: Likewise.
73253         * lib/sys_ioctl.in.h: Likewise.
73254         * lib/sys_select.in.h: Likewise.
73255         * lib/sys_socket.in.h: Likewise.
73256         * lib/sys_stat.in.h: Likewise.
73257         * lib/sys_time.in.h: Likewise.
73258         * lib/sysexits.in.h: Likewise.
73259         * lib/time.in.h: Likewise.
73260         * lib/unistd.in.h: Likewise.
73261         * lib/wchar.in.h: Likewise.
73262         * lib/wctype.in.h: Likewise.
73263         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
73265 2008-10-17  Jim Meyering  <meyering@redhat.com>
73267         ignore-value: don't depend on inline module
73268         * modules/ignore-value (Depends-on): Remove 'inline'.
73269         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
73270         Suggestion from Bruno Haible.
73272 2008-10-17  Bruno Haible  <bruno@clisp.org>
73274         New implementation of condition variables for Win32.
73275         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
73276         (gl_linked_waitqueue_t): New type.
73277         (gl_cond_t): Use it.
73278         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
73279         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
73280         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
73281         (glthread_cond_init_func, glthread_cond_wait_func,
73282         glthread_cond_timedwait_func, glthread_cond_signal_func,
73283         glthread_cond_broadcast_func, glthread_cond_destroy_func):
73284         Reimplemented on the basis of gl_linked_waitqueue_t.
73285         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
73286         gl_waitqueue_t.
73287         (gl_rwlock_t): Update.
73288         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
73290 2008-10-17  Simon Josefsson  <simon@josefsson.org>
73292         * modules/recvfrom (Depends-on): Add dependency on getpeername.
73293         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
73295 2008-10-17  Jim Meyering  <meyering@redhat.com>
73297         ignore-value: new module
73298         * modules/ignore-value: New file.
73299         * lib/ignore-value.h: New file.
73300         * MODULES.html.sh (Compiler warning management): New section,
73301         just for this module.  More to come.
73303 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
73305         open-safer.c: avoid 'signed and unsigned in conditional...' warning
73306         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
73307         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
73309 2008-10-16  Jim Meyering  <meyering@redhat.com>
73311         openat-die.c: avoid 'no previous prototype' warning
73312         * lib/openat-die.c: Include "openat.h".
73313         Reported by Reuben Thomas <rrt@sc3d.org>.
73315 2008-10-16  Simon Josefsson  <simon@josefsson.org>
73317         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
73318         * lib/netdb.in.h: Fix typo.
73319         Reported by Bruno Haible  <bruno@clisp.org>
73321         * lib/netdb.in.h: Include sys/socket.h for platforms without
73322         netdb.h, to get structures like hostent on MinGW.
73323         * modules/netdb (Depends-on): Add sys_socket.
73325 2008-10-15  Simon Josefsson  <simon@josefsson.org>
73327         * modules/netdb, modules/netdb-tests: New file.
73328         * m4/netdb_h.m4: New file.
73329         * lib/netdb.in.h: Add, currently just an empty file pending
73330         definitions.
73331         * tests/test-netdb.c: New file.
73332         * doc/posix-headers/netdb.texi: Mention that we replace it if
73333         needed.
73334         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
73335         netdb.
73337 2008-10-15  Simon Josefsson  <simon@josefsson.org>
73339         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
73340         with code.
73342 2008-10-13  Bruno Haible  <bruno@clisp.org>
73344         * lib/glthread/cond.c (glthread_cond_wait_func,
73345         glthread_cond_timedwait_func): Add a comment.
73347 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
73349         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
73350         * tests/test-select.c: Likewise,
73352 2008-10-13  Bruno Haible  <bruno@clisp.org>
73354         * lib/glthread/cond.c (glthread_cond_wait_func,
73355         glthread_cond_timedwait_func): Fix variable name.
73356         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
73358 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
73360         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
73361         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
73362         struct sockaddr.sa_len.
73363         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
73365 2008-10-13  Simon Josefsson  <simon@josefsson.org>
73367         * build-aux/pmccabe2html: Add css and css_url parameters.
73369 2008-10-12  Bruno Haible  <bruno@clisp.org>
73371         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
73372         calling aclx_get.
73373         Reported by Rainer Tammer <tammer@tammer.net>.
73375 2008-10-12  Bruno Haible  <bruno@clisp.org>
73377         Use msvcrt aware primitives for creation/termination of Win32 threads.
73378         * lib/glthread/thread.c: Include <process.h>.
73379         (glthread_create_func): Use _beginthreadex instead of CreateThread.
73380         (wrapper_func): Update signature.
73381         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
73383 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
73384             Bruno Haible  <bruno@clisp.org>
73386         Provide a Win32 implementation of the 'cond' module.
73387         * lib/glthread/cond.h [USE_WIN32]: New implementation.
73388         * lib/glthread/cond.c (glthread_cond_init_func,
73389         glthread_cond_wait_func, glthread_cond_timedwait_func,
73390         glthread_cond_signal_func, glthread_cond_broadcast_func,
73391         glthread_cond_destroy_func) [USE_WIN32]: New functions.
73392         * modules/cond (Dependencies): Add gettimeofday.
73394 2008-10-11  Bruno Haible  <bruno@clisp.org>
73396         Make sleep work on older versions of mingw.
73397         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
73398         only whether it exists.
73399         * doc/posix-functions/sleep.texi: Mention the problem with older
73400         versions of mingw.
73402 2008-10-11  Bruno Haible  <bruno@clisp.org>
73404         New module 'shutdown'.
73405         * modules/shutdown: New file.
73406         * lib/sys_socket.in.h (shutdown): New declaration.
73407         * lib/winsock.c (shutdown): New function.
73408         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
73409         GNULIB_SHUTDOWN.
73410         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
73411         * doc/posix-functions/shutdown.texi: Document the new module.
73413 2008-10-11  Jim Meyering  <meyering@redhat.com>
73415         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
73417 2008-10-11  Bruno Haible  <bruno@clisp.org>
73419         New module 'fclose'.
73420         * modules/fclose: New file.
73421         * lib/stdio.in.h (fclose): New declaration.
73422         * lib/fclose.c: New file.
73423         * m4/fclose.m4: New file.
73424         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
73425         REPLACE_FCLOSE.
73426         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
73427         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
73428         REPLACE_FCLOSE.
73429         * modules/close (Depends-on): fclose.
73430         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
73432 2008-10-11  Bruno Haible  <bruno@clisp.org>
73434         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
73435         set errno and don't call _close.
73437 2008-10-10  Bruno Haible  <bruno@clisp.org>
73439         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
73440         ACL, not afterwards. Fixes test failure on Cygwin.
73442 2008-10-09  Ben Pfaff  <blp@gnu.org>
73444         * build-aux/announce-gen: Fix gnulib version related part of usage
73445         message.  Die with a useful error message if no tarballs are
73446         found.
73448 2008-10-10  Jim Meyering  <meyering@redhat.com>
73450         bootstrap: use git's --depth=N option only if it's supported
73451         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
73452         recognize the --depth option.  Reported by Pádraig Brady.
73454 2008-10-09  Bruno Haible  <bruno@clisp.org>
73456         New module 'ioctl'.
73457         * modules/ioctl: New file.
73458         * lib/sys_socket.in.h (ioctl): Remove declaration.
73459         * lib/winsock.c: Include <sys/ioctl.h>.
73460         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
73461         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
73462         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
73463         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
73464         * doc/posix-functions/ioctl.texi: Mention the new module.
73466 2008-10-09  Bruno Haible  <bruno@clisp.org>
73468         New module 'sys_ioctl'.
73469         * lib/sys_ioctl.in.h: New file.
73470         * m4/sys_ioctl_h.m4: New file.
73471         * modules/sys_ioctl: New file.
73472         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
73474 2008-10-09  Bruno Haible  <bruno@clisp.org>
73476         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
73477         * lib/winsock.c: Include <stdarg.h>.
73478         (rpl_ioctl): Change to second argument 'int' and then varargs.
73480 2008-10-09  Bruno Haible  <bruno@clisp.org>
73482         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
73483         when the sys_socket module is present and the system has <winsock2.h>.
73485 2008-10-09  Bruno Haible  <bruno@clisp.org>
73487         * doc/posix-functions/close.texi: Mention module 'close' instead of
73488         module 'sys_socket'.
73490 2008-10-09  Bruno Haible  <bruno@clisp.org>
73492         * doc/glibc-headers/sys_ioctl.texi: New file.
73493         * doc/gnulib.texi: Include it.
73495 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
73496             Bruno Haible  <bruno@clisp.org>
73498         Combine the two replacements of 'close'.
73499         * lib/sys_socket.in.h (close): Define to a reminder to include
73500         <unistd.h>.
73501         (_gl_close_fd_maybe_socket): New declaration.
73502         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
73503         * lib/winsock.c (close): Remove undefinition.
73504         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
73505         needed for the gnulib module 'close'.
73506         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
73507         define to an error symbol or to a warning, if suitable.
73508         * lib/close.c: Include <sys/socket.h>.
73509         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
73510         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
73511         UNISTD_H_HAVE_WINSOCK2_H.
73512         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
73513         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
73514         UNISTD_H_HAVE_WINSOCK2_H.
73515         * modules/sys_socket (Files): Add m4/unistd_h.m4.
73516         (configure.ac): Set a module indicator.
73517         (Makefile.am): Substitute GNULIB_CLOSE.
73518         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
73519         * modules/poll-tests (Depends-on): Add close.
73520         * modules/select-tests (Depends-on): Likewise.
73522 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
73523             Bruno Haible  <bruno@clisp.org>
73525         New module 'close'.
73526         * modules/close: New file.
73527         * lib/unistd.in.h (close): Move declaration out of the
73528         FCHDIR_REPLACEMENT scope.
73529         (_gl_unregister_fd): New declaration.
73530         * lib/close.c: New file.
73531         * lib/fchdir.c (rpl_close): Remove function.
73532         * m4/close.m4: New file.
73533         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
73534         close.
73535         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
73536         REPLACE_CLOSE.
73537         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
73538         REPLACE_CLOSE.
73539         * modules/fchdir (Depends-on): Add close.
73541 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
73542             Bruno Haible  <bruno@clisp.org>
73544         * lib/fcntl.in.h (open): Simplify conditionals.
73545         (_gl_register_fd): New declaration.
73546         * lib/fchdir.c (rpl_open): Remove function.
73547         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
73548         also.
73549         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
73550         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
73551         open.
73553 2008-10-09  Jim Meyering  <meyering@redhat.com>
73555         GNUmakefile: use the more name-space-friendly "_version"
73556         * top/GNUmakefile (_dummy): Update.
73557         (_version): Rename from "version".
73559 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
73560             Bruno Haible  <bruno@clisp.org>
73562         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
73563         rpl_close.
73564         (_gl_register_fd): New function, extracted from rpl_open.
73565         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
73566         (rpl_open, rpl_opendir): Use _gl_register_fd.
73568 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
73570         Fix organization of 'open' replacement.
73571         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
73572         (gl_FUNC_OPEN): Use it.
73573         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
73575 2008-10-08  Bruno Haible  <bruno@clisp.org>
73577         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
73579 2008-10-08  Simon Josefsson  <simon@josefsson.org>
73581         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
73582         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
73583         listen).
73585 2008-10-08  Eric Blake  <ebb9@byu.net>
73587         GNUmakefile: add 'make version' target
73588         * top/GNUmakefile (_curr-ver): Split version update rules...
73589         (version): ...into a target.
73591 2008-10-07  Bruno Haible  <bruno@clisp.org>
73593         Use a more portable replacement expression for -0.0L.
73594         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
73595         instead of -0.0L. Fix m4 quotation.
73597         * tests/test-signbit.c: Include <float.h>.
73598         (minus_zero): New variable.
73599         (test_signbitl): Use minus_zero instead of -zero.
73600         * modules/signbit-tests (Depends-on): Add float.
73602         * tests/test-ceill.c: Include <float.h>.
73603         (zero): Remove variable.
73604         (minus_zero): New variable.
73605         (main): Use minus_zero instead of -zero.
73606         * modules/ceill-tests (Depends-on): Add float.
73608         * tests/test-floorl.c: Include <float.h>.
73609         (zero): Remove variable.
73610         (minus_zero): New variable.
73611         (main): Use minus_zero instead of -zero.
73612         * modules/floorl-tests (Depends-on): Add float.
73614         * tests/test-roundl.c: Include <float.h>.
73615         (zero): Remove variable.
73616         (minus_zero): New variable.
73617         (main): Use minus_zero instead of -zero.
73618         * modules/roundl-tests (Depends-on): Add float.
73620         * tests/test-truncl.c: Include <float.h>.
73621         (zero): Remove variable.
73622         (minus_zero): New variable.
73623         (main): Use minus_zero instead of -zero.
73624         * modules/truncl-tests (Depends-on): Add float.
73626         * tests/test-frexpl.c (zero): Remove variable.
73627         (minus_zero): New variable.
73628         (main): Use minus_zero instead of -zero.
73629         * modules/frexpl-tests (Depends-on): Add float.
73631         * tests/test-isnan.c (zerol): Remove variable.
73632         (minus_zerol): New variable.
73633         (test_long_double): Use minus_zerol instead of -zerol.
73634         * modules/isnan-tests (Depends-on): Add float.
73636         * tests/test-isnanl.h (zero): Remove variable.
73637         (minus_zero): New variable.
73638         (main): Use minus_zero instead of -zero.
73639         * modules/isnanl-nolibm-tests (Depends-on): Add float.
73640         * modules/isnanl-tests (Depends-on): Add float.
73642         * tests/test-ldexpl.c (zero): Remove variable.
73643         (minus_zero): New variable.
73644         (main): Use minus_zero instead of -zero.
73645         * modules/ldexpl-tests (Depends-on): Add float.
73647         * tests/test-snprintf-posix.h (zerol): Remove variable.
73648         (minus_zerol): New variable.
73649         (test_function): Use minus_zerol instead of -zerol.
73650         * modules/snprintf-posix-tests (Depends-on): Add float.
73651         * modules/vsnprintf-posix-tests (Depends-on): Add float.
73653         * tests/test-sprintf-posix.h (zerol): Remove variable.
73654         (minus_zerol): New variable.
73655         (test_function): Use minus_zerol instead of -zerol.
73656         * modules/sprintf-posix-tests (Depends-on): Add float.
73657         * modules/vsprintf-posix-tests (Depends-on): Add float.
73659         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
73660         (minus_zerol): New variable.
73661         (test_function): Use minus_zerol instead of -zerol.
73662         * modules/vasnprintf-posix-tests (Depends-on): Add float.
73664         * tests/test-vasprintf-posix.c (zerol): Remove variable.
73665         (minus_zerol): New variable.
73666         (test_function): Use minus_zerol instead of -zerol.
73667         * modules/vasprintf-posix-tests (Depends-on): Add float.
73669 2008-10-07  Simon Josefsson  <simon@josefsson.org>
73671         * MODULES.html.sh (Support for building documentation): Mention
73672         pmccabe2html.  Sort entries.
73674         Add pmccabe2html module, from gnupdf.
73675         * build-aux/pmccabe.css: New file.
73676         * build-aux/pmccabe2html: New file.
73677         * m4/pmccabe2html.m4: New file.
73678         * modules/pmccabe2html: New file.
73680 2008-10-07  Richard W.M. Jones  <rjones@redhat.com>
73682         flock: new module
73683         * MODULES.html.sh: Add to list of modules.
73684         * lib/flock.c: flock implementation for Windows and Unix systems
73685         which have fcntl.
73686         * doc/glibc-functions/flock.texi: Update documentation.
73687         * lib/sys_file.in.h: <sys/file.h> header file.
73688         * m4/flock.m4: M4 macros.
73689         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
73690         * modules/flock: flock module.
73691         * modules/flock-tests: flock tests module.
73692         * modules/sys_file: sys/file.h module.
73693         * tests/test-flock.c: test suite for flock.
73695 2008-10-06  Jim Meyering  <meyering@redhat.com>
73697         bootstrap: check for LT_INIT more portably still ;-)
73698         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
73699         Spotted by Bruno Haible.
73701 2008-10-06  Eric Blake  <ebb9@byu.net>
73703         test-signbit: avoid tripping Irix cc bug on -0.0L
73704         * tests/test-signbit.c (minus_zerol): Delete, and replace with
73705         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
73706         entire testsuite consistent and avoids an Irix 6.2 bug.
73708 2008-10-05  Bruno Haible  <bruno@clisp.org>
73709             Jim Meyering  <jim@meyering.net>
73711         Add an option for ignoring EPIPE during close_stdout.
73712         * lib/closeout.h: Include <stdbool.h>.
73713         (close_stdout_set_ignore_EPIPE): New declaration.
73714         * lib/closeout.c: Include <stdbool.h>.
73715         (ignore_EPIPE): New variable.
73716         (close_stdout_set_ignore_EPIPE): New function.
73717         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
73718         * lib/close-stream.c (close_stream): Mention the possible EPIPE
73719         failure.
73720         * modules/closeout (Depends-on): Add stdbool.
73722 2008-10-05  Bruno Haible  <bruno@clisp.org>
73724         * modules/accept: New file.
73725         * modules/bind: New file.
73726         * modules/connect: New file.
73727         * modules/getpeername: New file.
73728         * modules/getsockname: New file.
73729         * modules/getsockopt: New file.
73730         * modules/listen: New file.
73731         * modules/recv: New file.
73732         * modules/recvfrom: New file.
73733         * modules/send: New file.
73734         * modules/sendto: New file.
73735         * modules/setsockopt: New file.
73736         * modules/socket: New file.
73737         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
73738         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
73739         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
73740         the particular module is requested. Add a link warning when the
73741         particular module is not requested.
73742         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
73743         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
73744         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
73745         the particular module is requested.
73746         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
73747         gl_SYS_SOCKET_H_DEFAULTS): New macros.
73748         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
73749         * modules/sys_socket (Depends-on): Add link-warning.
73750         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
73751         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
73752         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
73753         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
73754         GL_LINK_WARNING.
73755         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
73756         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
73757         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
73758         * doc/posix-functions/getpeername.texi: Mention the new module
73759         'getpeername'.
73760         * doc/posix-functions/getsockname.texi: Mention the new module
73761         'getsockname'.
73762         * doc/posix-functions/getsockopt.texi: Mention the new module
73763         'getsockopt'.
73764         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
73765         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
73766         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
73767         * doc/posix-functions/send.texi: Mention the new module 'send'.
73768         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
73769         * doc/posix-functions/setsockopt.texi: Mention the new module
73770         'setsockopt'.
73771         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
73772         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
73773         listen, connect, accept.
73774         * modules/select-tests (Depends-on): Likewise.
73776 2008-10-05  Bruno Haible  <bruno@clisp.org>
73778         * lib/winsock.c (strerror): Remove unused #undef.
73779         (rpl_close): Remove unused local variable.
73781         * modules/sys_socket (Depends-on); Add errno.
73783 2008-10-05  Bruno Haible  <bruno@clisp.org>
73785         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
73786         (select): Add a link warning when the 'select' module is not used.
73787         * modules/sys_select (Depends-on): Add link-warning.
73788         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
73789         Suggested by Paolo Bonzini.
73791 2008-10-05  Jim Meyering  <meyering@redhat.com>
73793         bootstrap: check for LT_INIT more portably
73794         * build-aux/bootstrap: Avoid using grep -E, since it's not
73795         portable enough.  Suggestion from Bruno Haible.
73797 2008-10-05  Bruno Haible  <bruno@clisp.org>
73799         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
73800         as being fixed by gnulib.
73802 2008-10-05  Bruno Haible  <bruno@clisp.org>
73804         * modules/select-tests: New file, mostly copied from
73805         modules/sys_select-tests.
73806         * tests/test-select.c: New file, mostly copied from
73807         tests/test-sys_select.c.
73808         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
73809         * modules/sys_select-tests (Depends-on): Remove all dependencies.
73810         (Makefile.am): Remove test_sys_select_LDADD.
73812         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
73813         to an undefined symbol, for an error message.
73814         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
73815         (gl_SYS_SELECT_H_DEFAULTS): New macro.
73816         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
73817         winsock-select.c here.
73818         * modules/sys_select (Files): Remove lib/winsock-select.c.
73819         (Depends-on): Remove alloca.
73820         (Makefile.am): Substitute GNULIB_SELECT.
73821         * modules/select: New file.
73822         * doc/posix-functions/select.texi: Update.
73824 2008-10-05  Bruno Haible  <bruno@clisp.org>
73826         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
73827         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
73828         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
73829         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
73830         getdtablesize.
73831         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
73832         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
73834 2008-10-05  Bruno Haible  <bruno@clisp.org>
73836         * modules/getdtablesize-tests: New file.
73837         * tests/test-getdtablesize.c: New file.
73839         New module 'getdtablesize'.
73840         * lib/unistd.in.h (getdtablesize): New declaration.
73841         * lib/getdtablesize.c: New file.
73842         * m4/getdtablesize.m4: New file.
73843         * modules/getdtablesize: New file.
73844         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
73845         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
73846         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
73847         HAVE_GETDTABLESIZE.
73848         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
73850 2008-10-05  Bruno Haible  <bruno@clisp.org>
73852         * modules/sched (Makefile.am): Fix typo.
73853         Reported by Simon Josefsson.
73855 2008-10-05  Jim Meyering  <meyering@redhat.com>
73857         bootstrap: check for LT_INIT, too
73858         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
73859         are deprecated.  Suggestion from Ralf Wildenhues.
73861 2008-10-05  Bruno Haible  <bruno@clisp.org>
73863         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
73864         overriding them by ours.
73865         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
73867 2008-10-05  Jim Meyering  <meyering@redhat.com>
73869         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
73870         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
73871         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
73873 2008-10-04  Bruno Haible  <bruno@clisp.org>
73875         * modules/dup2 (License): Change to LGPLv2+.
73876         * modules/sleep (License): Likewise.
73877         * modules/perror (License): Likewise.
73878         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
73879         Blake.
73880         * modules/signal (License): Likewise.
73881         * modules/sigprocmask (License): Likewise.
73882         * modules/raise (License): Change to LGPLv2+, with approval by Jim
73883         Meyering.
73885 2008-10-04  Bruno Haible  <bruno@clisp.org>
73887         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
73888         Reported by Rainer Tammer <tammer@tammer.net>.
73890 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
73891             Bruno Haible  <bruno@clisp.org>
73893         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
73894         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
73895         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
73897 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
73899         filevercmp: new module
73900         * lib/filevercmp.h: New function filevercmp comparing version strings.
73901         * lib/filevercmp.c: Implementation of filevercmp function.
73902         * modules/filevercmp: Module metadata.
73903         * tests/test-filevercmp.c: Unit test for new module.
73904         * modules/filevercmp-tests: Unit test metadata.
73905         * MODULES.html.sh: Add filevercmp module.
73907 2008-10-03  Bruno Haible  <bruno@clisp.org>
73909         * lib/c-ctype.h: Add comment.
73910         Reported by Jim Meyering.
73912 2008-10-02  Bruno Haible  <bruno@clisp.org>
73914         * modules/posix_spawn-internal (Depends-on): Add 'open'.
73916 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
73918         * build-aux/bootstrap: Allow renaming bootstrap, and change the
73919         name of bootstrap.conf accordingly.
73921 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
73923         * build-aux/bootstrap: Install git-merge-changelog configuration
73924         items into .gitconfig if needed.
73926 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
73928         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
73929         git repository, and initialize/update it accordingly.
73931 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
73933         * modules/fsync-tests: New file.
73934         * tests/test-fsync.c: New file.
73936         New module 'fsync'.
73937         * lib/fsync.c: New file.
73938         * m4/fsync.m4: New file.
73939         * modules/fsync: New file.
73940         * lib/unistd.in.h (fsync): New declaration.
73941         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
73942         GNULIB_FSYNC and HAVE_FSYNC.
73943         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
73944         * MODULES.html.sh (posix_functions): Add fsync.
73945         * doc/posix-functions/fsync.texi: Mention the new module.
73947 2008-10-02  Jim Meyering  <meyering@redhat.com>
73949         fts.c: sync with similar code from coreutils' remove.c
73950         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
73951         Guard also with "#if defined __linux__", since for now at least,
73952         this code is Linux-kernel-specific.
73954 2008-10-02  Jim Meyering  <meyering@redhat.com>
73956         fts: bug fixes
73957         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
73958         Include <sys/vfs.h>, not <sys/statfs.h>.
73960         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
73961         Include <sys/vfs.h>, not <sys/statfs.h>.
73963 2008-10-01  Bruno Haible  <bruno@clisp.org>
73965         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
73966         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
73967         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
73968         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
73969         * doc/posix-functions/posix_spawnp.texi: Likewise.
73970         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
73971         whether posix_spawn actually works.
73972         * m4/pipe.m4 (gl_PIPE): Likewise.
73973         * modules/execute (Files): Add m4/posix_spawn.m4.
73974         * modules/pipe (Files): Add m4/posix_spawn.m4.
73975         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
73977 2008-10-01  Jim Meyering  <meyering@redhat.com>
73979         remove trailing spaces
73980         * NEWS: Likewise.
73981         * lib/poll.c (poll): Likewise.
73982         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
73983         * lib/winsock.c (rpl_close): Likewise.
73984         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
73985         * modules/yield: Likewise.
73986         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
73987         * tests/test-sys_select.c (connect_to_socket): Likewise.
73989         fts.c: adjust a new interface to be more generally useful
73990         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
73991         (fts_build): Adjust caller.
73993 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73995         * modules/cond-tests: New file.
73996         * tests/test-cond.c: New file.
73998 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73999             Bruno Haible  <bruno@clisp.org>
74001         * modules/cond (Dependencies): Add errno, time.
74002         * lib/glthread/cond.h: Include <time.h>.
74003         (gl_cond_define, gl_cond_define_initialized): Use the same definition
74004         across platforms.
74006 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74007             Bruno Haible  <bruno@clisp.org>
74009         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
74011 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74012             Bruno Haible  <bruno@clisp.org>
74014         * modules/tls-tests (Depends-on): Add thread, yield.
74015         (configure.ac): Remove all checks.
74016         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
74017         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
74018         gl_thread_self): Remove definitions. Include glthread/thread.h and
74019         glthread/yield.h instead.
74020         (test_tls): Pass an additional NULL argument to gl_thread_join.
74022 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74023             Bruno Haible  <bruno@clisp.org>
74025         * modules/lock-tests (Depends-on): Add thread, yield.
74026         (configure.ac): Remove all checks.
74027         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
74028         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
74029         gl_thread_self): Remove definitions. Include glthread/thread.h and
74030         glthread/yield.h instead.
74031         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
74032         additional NULL argument to gl_thread_join.
74034 2008-09-30  Bruno Haible  <bruno@clisp.org>
74036         Fix the Win32 implementation of the 'thread' module.
74037         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
74038         pointer type.
74039         (gl_thread_self): Invoke gl_thread_self_func.
74040         (gl_thread_self_func): New declaration.
74041         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
74042         (do_init_self_key, init_self_key): New functions.
74043         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
74044         Remove some fields.
74045         (running_threads, running_lock): Remove variables.
74046         (get_current_thread_handle): New function.
74047         (gl_thread_self_func, wrapper_func, glthread_create_func,
74048         glthread_join_func, gl_thread_exit_func): Largely rewritten and
74049         simplified.
74051 2008-09-30  Bruno Haible  <bruno@clisp.org>
74053         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
74054         files.
74056 2008-09-30  Jim Meyering  <meyering@redhat.com>
74058         fts.m4: correct the test for statfs.f_type
74059         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
74060         when checking for statfs.f_type.
74062 2008-09-15  Simon Josefsson  <simon@josefsson.org>
74064         tests: avoid some compiler warnings
74065         * tests/test-memchr.c (main): Pass NULL indirectly.
74066         * tests/test-getdate.c (main): Remove unused variable 'ret'.
74068 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
74070         getdate.y: disallow countable dayshifts like "4 yesterday ago"
74071         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
74072         exactly specified dayshifts.
74073         (dayshift): New rule.
74074         (rel): Add dayshift.
74075         (relative_time_table) [tomorrow, yesterday, today, now]:
74076         Use tDAY_SHIFT in place of tDAY_UNIT.
74077         * tests/test-getdate.c: Add tests for now-disallowed countable
74078         dayshifts, e.g., "4 yesterday ago".
74080 2008-09-29  Bruno Haible  <bruno@clisp.org>
74082         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
74083         * tests/test-posix_spawn1.in.sh: Renamed from
74084         tests/test-posix_spawn.in.sh.
74085         * tests/test-posix_spawn2.c: New file.
74086         * tests/test-posix_spawn2.in.sh: New file.
74087         * modules/posix_spawnp-tests (Files): Update.
74088         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
74090 2008-09-29  Bruno Haible  <bruno@clisp.org>
74092         Propagate effects of putenv/setenv/unsetenv to child processes.
74093         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
74094         * lib/pipe.c (create_pipe): Likewise.
74096 2008-09-29  Bruno Haible  <bruno@clisp.org>
74098         Enable use of shell scripts as executables in mingw.
74099         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
74100         run the program as a shell script.
74101         * lib/pipe.c (create_pipe): Likewise.
74102         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
74103         resulting array.
74105 2008-09-29  Eric Blake  <ebb9@byu.net>
74107         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
74109 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
74111         * doc/posix-functions/accept.texi: Update mingw problems.
74112         * doc/posix-functions/bind.texi: Update mingw problems.
74113         * doc/posix-functions/close.texi: Update mingw problems.
74114         * doc/posix-functions/connect.texi: Update mingw problems.
74115         * doc/posix-functions/getpeername.texi: Update mingw problems.
74116         * doc/posix-functions/getsockname.texi: Update mingw problems.
74117         * doc/posix-functions/getsockopt.texi: Update mingw problems.
74118         * doc/posix-functions/ioctl.texi: Update mingw problems.
74119         * doc/posix-functions/listen.texi: Update mingw problems.
74120         * doc/posix-functions/recv.texi: Update mingw problems.
74121         * doc/posix-functions/recvfrom.texi: Update mingw problems.
74122         * doc/posix-functions/select.texi: Update mingw problems.
74123         * doc/posix-functions/send.texi: Update mingw problems.
74124         * doc/posix-functions/sendto.texi: Update mingw problems.
74125         * doc/posix-functions/setsockopt.texi: Update mingw problems.
74126         * doc/posix-functions/socket.texi: Update mingw problems.
74128 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
74129             Bruno Haible  <bruno@clisp.org>
74131         * lib/sys_select.in.h: Include sys/time.h.
74132         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
74133         * modules/sys_select: Depend on sys_time.
74134         * tests/test-sys_select.c: Test that sys/select.h defines struct
74135         timeval fully.
74137 2008-09-29  Bruno Haible  <bruno@clisp.org>
74139         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
74140         * lib/sys_select.in.h: Likewise.
74142 2008-09-29  Bruno Haible  <bruno@clisp.org>
74144         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
74146 2008-09-29  Bruno Haible  <bruno@clisp.org>
74148         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
74149         Set LIBSOCKET instead of augmenting LIBS.
74150         * modules/sockets (Link): New section.
74151         * modules/sockets-tests (test_sockets_LDADD): New variable.
74152         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
74153         * modules/poll-tests (test_poll_LDADD): New variable.
74154         * NEWS: Document the change.
74156 2008-09-29  Bruno Haible  <bruno@clisp.org>
74158         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
74159         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
74160         ARPA_INET_H directly.
74161         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
74163 2008-09-28  Bruno Haible  <bruno@clisp.org>
74165         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
74166         from gl_HEADER_SYS_SOCKET.
74167         (gl_HEADER_SYS_SOCKET): Invoke it.
74168         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
74170 2008-09-28  Bruno Haible  <bruno@clisp.org>
74172         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
74173         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
74174         Needed on OSF/1 4.0.
74176 2008-09-28  Bruno Haible  <bruno@clisp.org>
74178         Override open more carefully.
74179         * lib/open.c (orig_open): New function.
74180         (rpl_open): Use orig_open instead of open.
74181         * lib/fcntl.in.h: Add special invocation convention.
74182         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
74183         (gl_FUNC_OPEN): Invoke it.
74185         Override freopen more carefully.
74186         * lib/freopen.c (orig_freopen): New function.
74187         (rpl_freopen): Use orig_freopen instead of freopen.
74188         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
74189         (gl_FUNC_FREOPEN): Invoke it.
74191         Override fopen more carefully.
74192         * lib/fopen.c (orig_fopen): New function.
74193         (rpl_fopen): Use orig_fopen instead of fopen.
74194         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
74195         (gl_FUNC_FOPEN): Invoke it.
74196         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
74198 2008-09-28  Bruno Haible  <bruno@clisp.org>
74200         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
74201         SIGPIPE.
74203 2008-09-28  Bruno Haible  <bruno@clisp.org>
74205         * tests/test-sigaction.c (handler, main): Disable the check whether
74206         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
74207         glibc systems with LinuxThreads.
74209 2008-09-28  Bruno Haible  <bruno@clisp.org>
74211         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
74213         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
74214         with AIX xlc.
74215         * lib/fcntl.in.h (open): Likewise.
74216         Reported by Rainer Tammer <tammer@tammer.net>.
74218 2008-09-28  Bruno Haible  <bruno@clisp.org>
74220         * modules/posix_spawnp-tests: New file.
74221         * tests/test-posix_spawn.c: New file.
74222         * tests/test-posix_spawn.in.sh: New file.
74224         New module 'posix_spawnp'.
74225         * modules/posix_spawnp: New file.
74226         * lib/spawnp.c: New file, from GNU libc with modifications.
74227         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
74229         New module 'posix_spawn'.
74230         * modules/posix_spawn: New file.
74231         * lib/spawn.c: New file, from GNU libc with modifications.
74232         * doc/posix-functions/posix_spawn.texi: Mention the new module.
74234         New module 'posix_spawnattr_destroy'.
74235         * modules/posix_spawnattr_destroy: New file.
74236         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
74237         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
74238         module.
74240         New module 'posix_spawnattr_setsigmask'.
74241         * modules/posix_spawnattr_setsigmask: New file.
74242         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
74243         modifications.
74244         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
74245         new module.
74247         New module 'posix_spawnattr_getsigmask'.
74248         * modules/posix_spawnattr_getsigmask: New file.
74249         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
74250         modifications.
74251         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
74252         new module.
74254         New module 'posix_spawnattr_setsigdefault'.
74255         * modules/posix_spawnattr_setsigdefault: New file.
74256         * lib/spawnattr_setdefault.c: New file, from GNU libc with
74257         modifications.
74258         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
74259         new module.
74261         New module 'posix_spawnattr_getsigdefault'.
74262         * modules/posix_spawnattr_getsigdefault: New file.
74263         * lib/spawnattr_getdefault.c: New file, from GNU libc with
74264         modifications.
74265         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
74266         new module.
74268         New module 'posix_spawnattr_setschedpolicy'.
74269         * modules/posix_spawnattr_setschedpolicy: New file.
74270         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
74271         modifications.
74272         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
74273         new module.
74275         New module 'posix_spawnattr_getschedpolicy'.
74276         * modules/posix_spawnattr_getschedpolicy: New file.
74277         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
74278         modifications.
74279         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
74280         new module.
74282         New module 'posix_spawnattr_setschedparam'.
74283         * modules/posix_spawnattr_setschedparam: New file.
74284         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
74285         modifications.
74286         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
74287         new module.
74289         New module 'posix_spawnattr_getschedparam'.
74290         * modules/posix_spawnattr_getschedparam: New file.
74291         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
74292         modifications.
74293         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
74294         new module.
74296         New module 'posix_spawnattr_setpgroup'.
74297         * modules/posix_spawnattr_setpgroup: New file.
74298         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
74299         modifications.
74300         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
74301         module.
74303         New module 'posix_spawnattr_getpgroup'.
74304         * modules/posix_spawnattr_getpgroup: New file.
74305         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
74306         modifications.
74307         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
74308         module.
74310         New module 'posix_spawnattr_setflags'.
74311         * modules/posix_spawnattr_setflags: New file.
74312         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
74313         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
74314         module.
74316         New module 'posix_spawnattr_getflags'.
74317         * modules/posix_spawnattr_getflags: New file.
74318         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
74319         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
74320         module.
74322         New module 'posix_spawnattr_init'.
74323         * modules/posix_spawnattr_init: New file.
74324         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
74325         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
74326         module.
74328         New module 'posix_spawn_file_actions_destroy'.
74329         * modules/posix_spawn_file_actions_destroy: New file.
74330         * lib/spawn_faction_destroy.c: New file, from GNU libc with
74331         modifications.
74332         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
74333         the new module.
74335         New module 'posix_spawn_file_actions_addopen'.
74336         * modules/posix_spawn_file_actions_addopen: New file.
74337         * lib/spawn_faction_addopen.c: New file, from GNU libc with
74338         modifications.
74339         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
74340         the new module.
74342         New module 'posix_spawn_file_actions_adddup2'.
74343         * modules/posix_spawn_file_actions_adddup2: New file.
74344         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
74345         modifications.
74346         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
74347         the new module.
74349         New module 'posix_spawn_file_actions_addclose'.
74350         * modules/posix_spawn_file_actions_addclose: New file.
74351         * lib/spawn_faction_addclose.c: New file, from GNU libc with
74352         modifications.
74353         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
74354         the new module.
74356         New module 'posix_spawn_file_actions_init'.
74357         * modules/posix_spawn_file_actions_init: New file.
74358         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
74359         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
74360         new module.
74362         New module 'posix_spawn-internal'.
74363         * modules/posix_spawn-internal: New file.
74364         * lib/spawn_int.h: New file, from GNU libc with modifications.
74365         * lib/spawni.c: New file, from GNU libc with modifications.
74366         * m4/posix_spawn.m4: New file.
74368         New module 'spawn'.
74369         * modules/spawn: New file.
74370         * lib/spawn.in.h: New file, from GNU libc with modifications.
74371         * m4/spawn_h.m4: New file.
74372         * doc/posix-headers/spawn.texi: Mention the new module.
74374 2008-09-28  Bruno Haible  <bruno@clisp.org>
74376         * modules/sched-tests: New file.
74377         * tests/test-sched.c: New file.
74379         New module 'sched'.
74380         * modules/sched: New file.
74381         * lib/sched.in.h: New file.
74382         * m4/sched_h.m4: New file.
74383         * doc/posix-headers/sched.texi: Mention the new module.
74385 2008-09-27  Eric Blake  <ebb9@byu.net>
74387         Fix previous patch, and tweak references to $0.
74388         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
74389         (func_version, func_gnulib_dir): Don't call this program
74390         gnulib-tool.
74391         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
74392         with using $0 in function.
74393         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
74394         (func_fatal_error): Reuse the name the user invoked us with.
74396 2008-09-27  Bruno Haible  <bruno@clisp.org>
74398         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
74399         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
74400         (gl_ICONV_H): Not here.
74401         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
74402         instead of assigning ICONV_H directly.
74404         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
74405         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
74406         WCHAR_H directly.
74408 2008-09-27  Bruno Haible  <bruno@clisp.org>
74410         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
74411         * modules/arpa_inet (Depends-on): Add link-warning.
74412         (Makefile.am): Insert the definition of GL_LINK-WARNING.
74413         * modules/unistd (Makefile.am): Likewise.
74415 2008-09-26  Bruno Haible  <bruno@clisp.org>
74417         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
74418         variables.
74419         (func_version): Essentially copied from gnulib-tool.
74420         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
74421         func_readlink): Copied from gnulib-tool.
74423 2008-09-26  Bruno Haible  <bruno@clisp.org>
74425         * gnulib-tool (func_version): Change directory to $gnulib_dir before
74426         invoking git-version-gen.
74428 2008-09-26  Bruno Haible  <bruno@clisp.org>
74430         * posix-modules: Update to directory names changed on 2008-01-19.
74431         Remove commas in output before splitting into words. No more need to
74432         avoid 'ftruncate' since 2007-02-19.
74434 2008-09-26  Bruno Haible  <bruno@clisp.org>
74436         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
74438 2008-09-26  Bruno Haible  <bruno@clisp.org>
74440         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
74441         * modules/fwriteerror (Depends-on): Add errno.
74443 2008-09-26  Bruno Haible  <bruno@clisp.org>
74445         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
74446         * tests/test-vc-list-files-cvs.sh: Likewise.
74448 2008-09-26  Bruno Haible  <bruno@clisp.org>
74450         * doc/posix-headers/sys_resource.texi: Reorder items.
74452 2008-09-26  Jim Meyering  <meyering@redhat.com>
74454         fts: tweak inode comparison function
74455         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
74456         inode numbers, as documented.
74458         fts: sort dirent entries on inode number before traversing
74459         This avoids a quadratic, seek-related performance penalty when
74460         operating on a directory containing many entries (measurable at 10k;
74461         3.5 hours at 2 million entries with a cold cache) on certain types
74462         of file systems, including ext3 and ext4, but not tmpfs.
74463         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
74464         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
74465         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
74466         (fs_handles_readdir_ordered_dirents_efficiently): New function.
74467         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
74468         (fts_build): Set the stat.st_ino member from D_INO.
74469         If it is likely to be useful, sort dirent entries on inode number.
74471         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
74472         and the struct statfs.f_type member.
74473         * modules/fts (Depends-on): Add d-ino.
74475 2008-09-26  Bruno Haible  <bruno@clisp.org>
74477         * modules/sigpipe-die (Depends-on): Add sigpipe.
74479         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
74480         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
74481         and GNULIB_STDIO_H_SIGPIPE are set.
74482         * lib/stdio-write.c: New file.
74483         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
74484         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
74485         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
74486         REPLACE_STDIO_WRITE_FUNCS.
74487         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
74488         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
74489         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
74490         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
74491         * modules/stdio (Files): Add lib/stdio-write.c.
74492         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
74493         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
74494         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
74495         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
74496         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
74497         REPLACE_FPRINTF_POSIX.
74498         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
74499         REPLACE_PRINTF_POSIX.
74500         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
74501         REPLACE_VFPRINTF_POSIX.
74502         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
74503         REPLACE_VPRINTF_POSIX.
74504         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
74505         SIGPIPE issue.
74506         * doc/posix-functions/fputc.texi: Likewise.
74507         * doc/posix-functions/fputs.texi: Likewise.
74508         * doc/posix-functions/fwrite.texi: Likewise.
74509         * doc/posix-functions/printf.texi: Likewise.
74510         * doc/posix-functions/putc.texi: Likewise.
74511         * doc/posix-functions/putchar.texi: Likewise.
74512         * doc/posix-functions/puts.texi: Likewise.
74513         * doc/posix-functions/vfprintf.texi: Likewise.
74514         * doc/posix-functions/vprintf.texi: Likewise.
74516         * modules/safe-write (Depends-on): Add write.
74518         * modules/sigpipe-tests: New file.
74519         * tests/test-sigpipe.c: New file.
74520         * tests/test-sigpipe.sh: New file.
74522         * modules/write: New file.
74523         * lib/unistd.in.h: Include <sys/types.h>.
74524         (write): New declaration.
74525         * lib/write.c: New file.
74526         * m4/write.m4: New file.
74527         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
74528         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
74529         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
74530         GNULIB_WRITE, REPLACE_WRITE.
74531         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
74532         and the SIGPIPE issue.
74534         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
74535         (raise): New declaration.
74536         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
74537         (ext_signal): New function.
74538         (rpl_raise): New function.
74539         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
74540         GNULIB_SIGNAL_H_SIGPIPE.
74541         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
74542         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
74544         * modules/sigpipe: New file.
74545         * m4/sigpipe.m4: New file.
74547 2008-09-25  Derek Price  <derek@ximbiot.com>
74548             Bruno Haible  <bruno@clisp.org>
74550         * gnulib-tool (func_import): Report all license incompatibilities, not
74551         just the first one.
74553 2008-09-25  Bruno Haible  <bruno@clisp.org>
74555         * gnulib-tool (func_import): When computing the edits, consider not
74556         only the Makefile.ams that exist but also those that will be generated.
74558 2008-09-25  Simon Josefsson  <simon@josefsson.org>
74560         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
74561         fixes gnulib-tool --test warning about duplicate dependency.
74563 2008-09-25  Bruno Haible  <bruno@clisp.org>
74565         * gnulib-tool: Don't ask the user to perform edits in the generated
74566         Makefile.ams.
74567         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
74568         apply to the Makefile.am being generated.
74569         (func_emit_tests_Makefile_am): Execute edits that apply to the
74570         Makefile.am being generated.
74571         (func_import): Setup list of Makefile.am edits before emitting the
74572         Makefile.ams, not at the end.
74573         (func_create_testdir): Update.
74574         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
74576 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74578         * gnulib-tool (func_import): Store the --tests-base option in the
74579         comment in gnulib-cache.m4.
74581 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
74583         * NEWS: Document increased portability that sys_select now provides.
74585         * lib/sys_select.in.h: Install select wrapper.
74586         * lib/sys_socket.in.h: Use more descriptive name when there is no
74587         select wrapper.
74588         * lib/winsock-select.c: New.
74589         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
74590         Require gl_HEADER_SYS_SOCKET.
74591         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
74592         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
74593         * tests/test-sys_select.c: Add functional tests.
74595 2008-09-24  Eric Blake  <ebb9@byu.net>
74597         open, fopen: close fd leak in last patch
74598         * lib/open.c (rpl_open): Close fd before returning error.
74599         * lib/fopen.c (rpl_fopen): Close fd before returning error.
74600         * doc/posix-functions/open.texi (open): Document that Irix also
74601         has the bug.
74602         * doc/posix-functions/fopen.texi (fopen): Likewise.
74603         Reported by Paolo Bonzini.
74605 2008-09-24  Bruno Haible  <bruno@clisp.org>
74607         Ensure that a filename ending in a slash cannot be used to access a
74608         non-directory.
74609         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
74610         to check whether it's really a directory.
74611         * lib/fopen.c: Include fcntl.h, unistd.h.
74612         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
74613         and fdopen().
74614         * modules/fopen (Depends-on): Add unistd.
74615         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
74616         * tests/test-fopen.c (main): Likewise.
74617         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
74618         * doc/posix-functions/fopen.texi: Likewise.
74619         Reported by Eric Blake.
74621 2008-09-23  Eric Blake  <ebb9@byu.net>
74623         c-stack: avoid compiler optimizations when provoking overflow
74624         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
74625         recursion harder to optimize, to ensure a stack overflow occurs.
74626         * tests/test-c-stack.c (recurse): Likewise.
74627         Borrowed from libsigsegv.
74629         c-stack: work around Irix sigaltstack bug
74630         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
74631         whether sigaltstack uses wrong end of stack_t (copied in part from
74632         libsigsegv).
74633         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
74634         Irix bug, without requiring an over-allocation.
74635         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
74636         bug.
74638         fopen: document mingw bug on directories
74639         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
74640         not allowing a stream visiting a directory, even though reading
74641         from such a stream is not portable.
74643 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
74645         * lib/poll.c: Rewrite.
74646         * modules/poll: Depend on alloca.
74648 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
74650         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
74651         instead define prototypes for a full set of wrappers.  Ensure
74652         that Cygwin does not use the compatibility code, which is only
74653         for MinGW.
74654         * lib/winsock.c: New.
74655         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
74656         * modules/sys_socket: Add lib/winsock.c.
74658         * modules/poll-tests: Add errno and perror.
74659         * tests/test-poll.c: Use ioctl, not ioctlsocket.
74661 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
74663         * tests/test-poll.c: Downgrade minimum needed Winsock version.
74665 2008-09-23  Bruno Haible  <bruno@clisp.org>
74667         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
74668         * doc/glibc-functions/*: Likewise.
74670 2008-09-23  Simon Josefsson  <simon@josefsson.org>
74672         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
74673         success.
74675 2008-09-22  Eric Blake  <ebb9@byu.net>
74676             Bruno Haible  <bruno@clisp.org>
74678         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
74679         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
74680         supply %A but mishandle pseudo-NaN.
74681         Reported by Simon Josefsson.
74683 2008-09-21  Bruno Haible  <bruno@clisp.org>
74685         * tests/test-lock.c (main): Tweak skip message.
74686         * tests/test-tls.c (main): Likewise.
74688 2008-09-21  Bruno Haible  <bruno@clisp.org>
74690         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
74691         whether 'struct sigaction' has sa_sigaction here...
74692         (gl_PREREQ_SIG_HANDLER_H): ... not here.
74693         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
74695 2008-09-21  Bruno Haible  <bruno@clisp.org>
74697         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
74698         section.
74699         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
74700         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
74701         the new section.
74702         (Support for obsolete systems lacking POSIX:2001): New section.
74703         (String handling <string.h>): Move strdup to the new section.
74704         Suggested by Simon Josefsson and Paolo Bonzini.
74706 2008-09-21  Bruno Haible  <bruno@clisp.org>
74708         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
74709         exponents in %e and %g results on 'long double'. Needed for mingw's
74710         improved *printf functions.
74711         * tests/test-vasprintf-posix.c (test_function): Likewise.
74712         * tests/test-snprintf-posix.h (test_function): Likewise.
74713         * tests/test-sprintf-posix.h (test_function): Likewise.
74714         Reported by Eric Blake.
74716 2008-09-21  Bruno Haible  <bruno@clisp.org>
74718         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
74719         * tests/test-sprintf-posix.h (test_function): Likewise.
74721 2008-09-21  Bruno Haible  <bruno@clisp.org>
74723         * modules/getpass (Depends-on): Add strdup-posix.
74725         New module 'strdup-posix'.
74726         * modules/strdup-posix: New file.
74727         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
74728         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
74729         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
74730         REPLACE_STRDUP.
74731         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
74732         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
74733         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
74734         strdup-posix.
74736         * modules/strdup (Depends-on): Remove malloc-posix.
74738 2008-09-20  Bruno Haible  <bruno@clisp.org>
74740         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
74741         Wildenhues.
74743 2008-09-20  Bruno Haible  <bruno@clisp.org>
74745         Ensure that wint_t gets defined on IRIX 5.3.
74746         * lib/wchar.in.h (wint_t): Define if not defined by the system.
74747         * lib/wctype.in.h (wint_t): Likewise.
74748         (__wctype_wint_t): Remove type.
74749         (isw*): Use wint_t instead of __wctype_wint_t.
74750         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
74751         * modules/wchar (Files): Add m4/wint_t.m4.
74752         (Makefile.am): Substitute HAVE_WINT_T.
74753         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
74754         * tests/test-wctype.c: Check that wint_t is defined.
74755         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
74756         * doc/posix-headers/wctype.texi: Likewise.
74757         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
74759 2008-09-18  Bruno Haible  <bruno@clisp.org>
74761         * gnulib-tool (func_exit): Update comment.
74763 2008-09-18  Simon Josefsson  <simon@josefsson.org>
74765         * modules/getaddrinfo (Depends-on): Remove strdup, this module
74766         assumes strdup exists and does not depend on strdup to return
74767         ENOMEM on out of memory conditions.
74769 2008-09-18  Bruno Haible  <bruno@clisp.org>
74771         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
74772         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
74773         digits for the exponent.
74775 2008-09-18  Jim Meyering  <meyering@redhat.com>
74776             Bruno Haible  <bruno@clisp.org>
74778         * lib/vasnprintf.c (decimal_point_char): Define also if
74779         NEED_PRINTF_INFINITE_LONG_DOUBLE.
74781 2008-09-16  Bruno Haible  <bruno@clisp.org>
74782         and Eric Blake  <ebb9@byu.net>
74784         vasnprintf: support Irix 5.3
74785         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
74786         that mishandle long double infinity.
74787         Reported by Tom G. Christensen.
74789 2008-09-16  Bruno Haible  <bruno@clisp.org>
74791         * doc/glibc-functions/scandir.texi: Mention the function is missing on
74792         Solaris 9.
74793         * doc/glibc-functions/alphasort.texi: Likewise.
74794         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
74796 2008-09-16  Jim Meyering  <meyering@redhat.com>
74798         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
74799         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
74800         a umask modification leak out of a subshell.  Otherwise, the
74801         opensolaris /bin/sh would be accepted and thus cause unwarranted
74802         failures in the coreutils test suite.
74804 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
74806         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
74807         to succeed.
74809 2008-09-16  Jim Meyering  <meyering@redhat.com>
74811         avoid spurious test failure when library is built without ACL support
74812         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
74813         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
74814         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
74815         * tests/test-copy-acl.sh: Likewise.
74817 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74819         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
74820         based on character occurrence counts.
74822 2008-09-15  Eric Blake  <ebb9@byu.net>
74824         tests: avoid some compiler warnings
74825         * tests/test-memchr.c (main): Pass NULL indirectly.
74826         * tests/test-closein.c (main): Avoid unused variable.
74828 2008-09-15  Bruno Haible  <bruno@clisp.org>
74830         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
74831         are missing on OpenBSD 4.0 individually.
74832         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
74834 2008-09-15  Bruno Haible  <bruno@clisp.org>
74836         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
74837         * doc/posix-functions/strerror.texi: Mention also Cygwin.
74838         * doc/posix-functions/perror.texi: Likewise.
74839         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
74840         is missing.
74841         Reported by Eric Blake.
74843         * lib/errno.in.h: Use replacement values >= 2000.
74844         Reported by Eric Blake.
74846 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74848         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
74849         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
74850         limit.
74851         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
74852         compareseq was aborted.
74854 2008-09-14  Bruno Haible  <bruno@clisp.org>
74856         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
74857         yvec_edit_count.
74858         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
74859         (fstrcmp_bounded): Simplify result computation accordingly.
74861 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74863         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
74864         (fstrcmp): Define in terms of fstrcmp_bounded.
74865         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
74866         lower_bound argument.
74867         Return quickly if the result is certainly < lower_bound.
74868         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
74870 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74872         * lib/diffseq.h (EARLY_ABORT): New macro.
74873         (compareseq): Change return type to bool. Return true when EARLY_ABORT
74874         evaluates to true.
74876 2008-09-14  Bruno Haible  <bruno@clisp.org>
74878         * modules/perror-tests: New file.
74879         * tests/test-perror.sh: New file.
74880         * tests/test-perror.c: New file.
74882         New module 'perror'.
74883         * lib/stdio.in.h (perror): New declaration.
74884         * lib/perror.c: New file.
74885         * m4/perror.m4: New file.
74886         * modules/perror: New file.
74887         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
74888         * doc/posix-functions/perror.texi: Mention the perror module.
74889         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
74890         REPLACE_PERROR.
74891         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
74892         REPLACE_PERROR.
74894 2008-09-14  Bruno Haible  <bruno@clisp.org>
74896         * modules/stdio (Makefile.am): Reorder to match the order in
74897         lib/stdio.in.h.
74898         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
74900 2008-09-13  Bruno Haible  <bruno@clisp.org>
74902         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
74904 2008-09-13  Bruno Haible  <bruno@clisp.org>
74906         Extend strerror to cover the added errno values.
74907         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
74908         (rpl_strerror): Provide error messages for the added errno values and
74909         for the WSA* values.
74910         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
74911         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
74912         strerror.
74913         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
74914         * modules/strerror (Depends-on): Add errno.
74915         * doc/posix-functions/strerror.texi: Document the change.
74916         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
74917         and EOVERFLOW.
74919 2008-09-13  Bruno Haible  <bruno@clisp.org>
74921         * modules/EOVERFLOW: Remove file.
74922         * m4/eoverflow.m4: Remove file.
74923         * modules/EOVERFLOW-tests: Remove file.
74924         * tests/test-EOVERFLOW.c: Remove file.
74925         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
74926         * modules/ftell (Depends-on): Likewise.
74927         * modules/getdelim (Depends-on): Likewise.
74928         * modules/getugroups (Depends-on): Likewise.
74929         * modules/poll (Depends-on): Likewise.
74930         * modules/snprintf (Depends-on): Likewise.
74931         * modules/sprintf-posix (Depends-on): Likewise.
74932         * modules/vasnprintf (Depends-on): Likewise.
74933         * modules/vasprintf (Depends-on): Likewise.
74934         * modules/vfprintf-posix (Depends-on): Likewise.
74935         * modules/vsnprintf (Depends-on): Likewise.
74936         * modules/vsprintf-posix (Depends-on): Likewise.
74937         * modules/xvasprintf (Depends-on): Likewise.
74938         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
74939         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
74940         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
74941         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
74942         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
74943         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
74944         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
74945         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
74946         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
74947         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
74948         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
74949         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
74950         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
74951         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
74952         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
74953         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
74954         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
74955         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
74956         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
74957         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
74958         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
74959         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
74960         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
74961         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
74962         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
74963         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
74964         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
74965         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
74966         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
74967         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
74968         * MODULES.html.sh: Remove EOVERFLOW.
74969         * NEWS: Mention the change.
74971 2008-09-13  Bruno Haible  <bruno@clisp.org>
74973         * modules/errno-tests: New file.
74974         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
74976         * lib/errno.in.h: New file.
74977         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
74978         * modules/errno: New file.
74979         * doc/posix-headers/errno.texi: Update documentation.
74980         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
74982 2008-09-13  Bruno Haible  <bruno@clisp.org>
74984         * tests/test-poll.c: Use #if for native Windows, rather than testing
74985         __MSVCRT__.
74987 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74988             Bruno Haible  <bruno@clisp.org>
74990         * lib/glob.c: Don't include <pwd.h> on native Windows.
74991         (WINDOWS32): New macro.
74992         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
74994 2008-09-13  Bruno Haible  <bruno@clisp.org>
74996         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
74997         (ETIMEDOUT): Remove macro.
74998         (glthread_cond_timedwait_multithreaded): New declaration.
74999         (glthread_cond_timedwait): Use it.
75000         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
75001         (glthread_cond_timedwait_multithreaded): New function.
75003 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
75005         * modules/poll-tests: Do not check for io.h.
75006         * tests/test-poll.c: Check for __MSVCRT__ instead.
75008 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
75010         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
75011         * modules/poll-tests: Add inet_pton, stdbool, sockets.
75012         * tests/test-poll.c: Use them.  Use _pipe on Windows.
75014 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
75016         * modules/poll-tests: New.
75017         * tests/test-poll.c: New.
75019 2008-09-12  Eric Blake  <ebb9@byu.net>
75021         frexp: test for NetBSD failure on -0.0
75022         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
75023         not all, bugs from NetBSD 3.0 have been fixed.
75024         * doc/posix-functions/frexp.texi (frexp): Document bug.
75025         Reported by Thomas Klausner.
75027         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
75028         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
75029         literal -0.0.
75030         Reported by Jonathan C. Patschke <jp@centtech.com>.
75032 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75034         * lib/glthread/cond.h: Use dummy implementation also if
75035         USE_WIN32_THREADS.
75037 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75039         * modules/fnmatch-posix (License): Change to LGPLv2+.
75040         * modules/fnmatch-gnu (License): Likewise.
75042 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75044         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
75046 2008-09-11  Jim Meyering  <meyering@redhat.com>
75048         * users.txt: Add gtk-vnc.
75050 2008-09-08  Simon Josefsson  <simon@josefsson.org>
75052         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
75053         rotate amounts.
75055         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
75056         required for 16-bit and 8-bit rotates.
75057         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
75058         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
75059         UINT8_MAX instead of hard-coded constants.
75060         Suggested by Paul Eggert.
75062 2008-09-07  Bruno Haible  <bruno@clisp.org>
75064         * tests/test-striconveh.c (main): Check behaviour when converting from
75065         UTF-7.
75067         Make striconveh work better with stateful encodings.
75068         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
75069         that iconv does not increment the inptr when returning -1/EINVAL.
75071 2008-09-07  Bruno Haible  <bruno@clisp.org>
75073         * build-aux/config.rpath: Update according to libtool-2.2.6.
75074         * build-aux/config.libpath: Likewise.
75076 2008-09-06  Bruno Haible  <bruno@clisp.org>
75078         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
75079         * lib/freadptr.c (freadptr): Likewise.
75080         * lib/freadseek.c (freadptrinc): Likewise.
75081         Reported by Simon Josefsson.
75083 2008-09-06  Bruno Haible  <bruno@clisp.org>
75085         * modules/freadptr (License): Change to LGPLv2+.
75086         * modules/freadseek (License): Likewise.
75087         Suggested by Eric Blake.
75089         * modules/memchr2 (License): Change to LGPLv2+.
75090         Approved by Eric Blake.
75092 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75093             Bruno Haible  <bruno@clisp.org>
75095         Make gnulib-tool work with native 'sed' on AIX.
75096         * gnulib-tool (sed_noop): New variable.
75097         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
75098         func_add_or_update, func_create_testdir): Use it to initialize sed
75099         script variables.
75100         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
75102 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
75103             Bruno Haible  <bruno@clisp.org>
75105         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
75106         also works after #include directives.
75108 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
75110         getdate.y: reject an out-of-range timezone value
75111         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
75112         the range [-24...+24].  When specified with only one or two digits,
75113         * tests/test-getdate.c: Tests for the fix.
75114         * doc/getdate.texi: Document this change.
75116 2008-09-03  Bruno Haible  <bruno@clisp.org>
75118         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
75120 2008-09-02  Simon Josefsson  <simon@josefsson.org>
75122         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
75123         <bruce.korb@gmail.com> with ideas from Ben Pfaff
75124         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
75125         Blake <ebb9@byu.net>.
75127         * tests/test-bitrotate.c: Add more test vectors.
75129 2008-09-02  Eric Blake  <ebb9@byu.net>
75131         vasnprintf-posix: handle large precision via %.*d
75132         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
75133         when handling it ourselves.
75134         * tests/test-vasnprintf-posix.c (test_function): Add test.
75135         * tests/test-snprintf-posix.h (test_function): Likewise.
75136         * tests/test-sprintf-posix.h (test_function): Likewise.
75137         * tests/test-vasprintf-posix.c (test_function): Likewise.
75138         Reported by Alain Guibert.
75140 2008-09-01  Eric Blake  <ebb9@byu.net>
75142         c-stack: make configure-time check more robust
75143         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
75144         successful sigaction call.
75145         Reported by Tom G. Christensen.
75147 2008-09-01  Bruno Haible  <bruno@clisp.org>
75149         New module 'findprog-lgpl'.
75150         * modules/findprog-lgpl: New file.
75151         * lib/findprog-lgpl.c: New file.
75152         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
75153         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
75154         to decide whether to use strdup or xstrdup, concatenated_filename or
75155         xconcatenated_filename.
75157 2008-09-01  Bruno Haible  <bruno@clisp.org>
75159         Split module 'concat-filename' into 'concat-filename' (LGPL) and
75160         'xconcat-filename' (GPL).
75161         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
75162         (License): Change to LGPLv2+.
75163         * modules/xconcat-filename: New file.
75164         * lib/concat-filename.h (concatenated_filename): Change specification.
75165         (xconcatenated_filename): New declaration.
75166         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
75167         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
75168         memory situations.
75169         * lib/xconcat-filename.c: New file.
75170         * NEWS: Mention the change.
75171         * lib/findprog.c: Include concat-filename.h, not filename.h.
75172         (find_in_path): Use xconcatenated_filename instead of
75173         concatenated_filename.
75174         * lib/javacomp.c: Include concat-filename.h, not filename.h.
75175         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
75176         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
75177         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
75178         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
75179         instead of concatenated_filename.
75180         * lib/javaexec.c: Include concat-filename.h, not filename.h.
75181         (execute_java_class): Use xconcatenated_filename instead of
75182         concatenated_filename.
75183         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
75184         * modules/javacomp (Depends-on): Likewise.
75185         * modules/javaexec (Depends-on): Likewise.
75187 2008-09-01  Bruno Haible  <bruno@clisp.org>
75189         Split module 'filename' into 'filename' and 'concat-filename'.
75190         * modules/filename: Keep only lib/filename.h.
75191         (License): Change to LGPLv2+.
75192         * modules/concat-filename: New file, extracted from modules/filename.
75193         * lib/filename.h (concatenated_filename): Remove declaration.
75194         * lib/concat-filename.h: New file, extracted from lib/filename.h.
75195         * lib/concat-filename.c: Include concat-filename.h.
75196         * NEWS: Mention the change.
75198 2008-09-01  Simon Josefsson  <simon@josefsson.org>
75200         * lib/bitrotate.h (rotl8, rotr8): Add.
75202         * modules/bitrotate (configure.ac): Need
75203         AC_REQUIRE([AC_C_INLINE]).
75204         (Description): Mention stdint.h.  Reported by Bruno Haible
75205         <bruno@clisp.org>.
75207         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
75208         Paolo Bonzini <bonzini@gnu.org>.
75210 2008-08-31  Bruno Haible  <bruno@clisp.org>
75212         Assume Solaris specific bi-arch conventions on Solaris systems.
75213         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
75214         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
75215         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
75216         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
75217         like acl_libdirstem.
75218         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
75219         acl_libdirstem.
75220         * NEWS: Mention the change.
75221         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
75223 2008-08-31  Jim Meyering  <meyering@redhat.com>
75225         * lib/strftime.h: Add comments describing the two added arguments.
75227         remove duplicate #include directives
75228         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
75229         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
75231 2008-08-31  Bruno Haible  <bruno@clisp.org>
75233         New module 'sigpipe-die'.
75234         * modules/sigpipe-die: New file.
75235         * lib/sigpipe-die.h: New file.
75236         * lib/sigpipe-die.c: New file.
75237         * MODULES.html.sh (Signal handling): Add sigpipe-die.
75239 2008-08-31  Bruno Haible  <bruno@clisp.org>
75241         Don't override previously installed signal handlers.
75242         * lib/fatal-signal.c (saved_sigactions): New variable.
75243         (uninstall_handlers): Reset the signal to the saved handler, not
75244         to SIG_DFL (except when ignored).
75245         (install_handlers): Save the previous handlers.
75247 2008-08-30  Bruno Haible  <bruno@clisp.org>
75249         * gnulib-tool (func_reset_sigpipe): New function.
75250         (func_get_automake_snippet, func_modules_transitive_closure,
75251         func_import): Invoke it before a join command that reads from stdin,
75252         to avoid "echo: write error: Broken pipe" error messages on stderr.
75253         Reported by Sam Steingold <sds@gnu.org>.
75255 2008-08-30  Bruno Haible  <bruno@clisp.org>
75257         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
75258         Code copied from m4/open.m4.
75259         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
75260         access and the filename ends in a slash. Code copied from lib/open.c.
75261         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
75262         * tests/test-fopen.c (main): Check against bug with trailing slash.
75264 2008-08-29  Bruno Haible  <bruno@clisp.org>
75266         Avoid some "gcc -pedantic" warnings.
75267         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
75268         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
75269         * lib/dirent.in.h: Likewise.
75270         * lib/fcntl.in.h: Likewise.
75271         * lib/float.in.h: Likewise.
75272         * lib/iconv.in.h: Likewise.
75273         * lib/inttypes.in.h: Likewise.
75274         * lib/locale.in.h: Likewise.
75275         * lib/math.in.h: Likewise.
75276         * lib/netinet_in.in.h: Likewise.
75277         * lib/search.in.h: Likewise.
75278         * lib/signal.in.h: Likewise.
75279         * lib/stdarg.in.h: Likewise.
75280         * lib/stdint.in.h: Likewise.
75281         * lib/stdio.in.h: Likewise.
75282         * lib/stdlib.in.h: Likewise.
75283         * lib/string.in.h: Likewise.
75284         * lib/strings.in.h: Likewise.
75285         * lib/sys_select.in.h: Likewise.
75286         * lib/sys_socket.in.h: Likewise.
75287         * lib/sys_stat.in.h: Likewise.
75288         * lib/sys_time.in.h: Likewise.
75289         * lib/sysexits.in.h: Likewise.
75290         * lib/time.in.h: Likewise.
75291         * lib/unistd.in.h: Likewise.
75292         * lib/wchar.in.h: Likewise.
75293         * lib/wctype.in.h: Likewise.
75294         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
75295         * modules/fchdir (Makefile.am): Likewise.
75296         * modules/fcntl (Makefile.am): Likewise.
75297         * modules/float (Makefile.am): Likewise.
75298         * modules/iconv_open (Makefile.am): Likewise.
75299         * modules/inttypes (Makefile.am): Likewise.
75300         * modules/locale (Makefile.am): Likewise.
75301         * modules/math (Makefile.am): Likewise.
75302         * modules/netinet_in (Makefile.am): Likewise.
75303         * modules/search (Makefile.am): Likewise.
75304         * modules/signal (Makefile.am): Likewise.
75305         * modules/stdarg (Makefile.am): Likewise.
75306         * modules/stdint (Makefile.am): Likewise.
75307         * modules/stdio (Makefile.am): Likewise.
75308         * modules/stdlib (Makefile.am): Likewise.
75309         * modules/string (Makefile.am): Likewise.
75310         * modules/strings (Makefile.am): Likewise.
75311         * modules/sys_select (Makefile.am): Likewise.
75312         * modules/sys_socket (Makefile.am): Likewise.
75313         * modules/sys_stat (Makefile.am): Likewise.
75314         * modules/sys_time (Makefile.am): Likewise.
75315         * modules/sysexits (Makefile.am): Likewise.
75316         * modules/time (Makefile.am): Likewise.
75317         * modules/unistd (Makefile.am): Likewise.
75318         * modules/wchar (Makefile.am): Likewise.
75319         * modules/wctype (Makefile.am): Likewise.
75320         Reported by Reuben Thomas <rrt@sc3d.org>.
75322 2008-08-29  Bruno Haible  <bruno@clisp.org>
75324         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
75325         any more.
75327 2008-08-29  Simon Josefsson  <simon@josefsson.org>
75329         * MODULES.html.sh (Misc): Add bitrotate.
75331         * modules/bitrotate: New file.
75333         * lib/bitrotate.h: New file.
75335         * modules/bitrotate-tests: New file.
75337         * tests/test-bitrotate.c: New file.
75339         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
75340         on the bitrotate module.
75342         * lib/arctwo.c: Use new bitrotate module.
75344 2008-08-29  Jim Meyering  <meyering@redhat.com>
75346         bootstrap: merge changes from coreutils
75347         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
75348         of copied files.  Remove a kludge, now that this is fixed.
75349         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
75350         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
75351         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
75353 2008-08-29  Bruno Haible  <bruno@clisp.org>
75355         * MODULES.html.sh: Remove --cvs-urls option.
75357 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
75359         maint.mk: adjust to file name change
75360         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
75362 2008-08-28  Jim Meyering  <meyering@redhat.com>
75364         * modules/getndelim2 (License): Relicense to LGPLv2+.
75365         Approved by Richard Stallman for the version of 1995, and by
75366         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
75368 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
75370         * lib/getdelim.c (flockfile, funlockfile): Make all of them
75371         dummy if one is not available.  Do not touch them if
75372         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
75373         (getc_maybe_unlocked): New.
75374         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
75376 2008-08-26  Eric Blake  <ebb9@byu.net>
75378         doc/INSTALL: resync from autoconf
75379         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
75380         (INSTALL_PRELUDE): Delete; this is done more efficiently by
75381         moving...
75382         * install.texi [!autoconf]: ...here.  Resync from autoconf.
75383         * INSTALL: Regenerate.
75384         * INSTALL.ISO: New file.
75385         * INSTALL.UTF-8: Likewise.
75387 2008-08-26  Jim Meyering  <meyering@redhat.com>
75389         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
75390         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
75391         these definitions conditional, so that they may be overridden, too.
75393 2008-08-26  Bruno Haible  <bruno@clisp.org>
75395         Generate INSTALL file variants with prettier quotes.
75396         * doc/Makefile (INSTALL_PRELUDE): New macro.
75397         (INSTALL): Use it.
75398         (INSTALL.ISO, INSTALL.UTF-8): New rules.
75400 2008-08-26  Bruno Haible  <bruno@clisp.org>
75402         Run makeinfo in an English locale.
75403         * doc/Makefile (MAKEINFO): New variable.
75405 2008-08-26  Bruno Haible  <bruno@clisp.org>
75407         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
75408         Suggested by Eric Blake.
75410 2008-08-25  Bruno Haible  <bruno@clisp.org>
75412         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
75414 2008-08-25  Eric Blake  <ebb9@byu.net>
75416         c-stack: test that stack overflow can be caught
75417         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
75418         that platform allows handling stack overflow; at least OS/2 EMX
75419         has sigaltstack, but crashes before transferring control to
75420         handler on stack overflow.
75421         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
75422         check for HAVE_STACK_OVERFLOW_HANDLING.
75423         Reported by Elbert Pol.
75425 2008-08-25  Bruno Haible  <bruno@clisp.org>
75427         * doc/posix-functions/strftime.texi: Fix description of strftime
75428         module.
75430 2008-08-24  Bruno Haible  <bruno@clisp.org>
75432         * tests/uniwidth/test-uc_width2.c: New file.
75433         * tests/uniwidth/test-uc_width2.sh: New file.
75434         * modules/uniwidth/width-tests (Files): Add the new files.
75435         (TESTS): Add uniwidth/test-uc_width2.sh.
75436         (TESTS_ENVIRONMENT): New variable.
75437         (check_PROGRAMS): Add test-uc_width2.
75438         (test_uc_width2_SOURCES): New variable.
75440         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
75441         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
75442         not 0x00AB.
75443         Reported by Alexander V. Lukyanov <lav@netis.ru>.
75445 2008-08-22  Eric Blake  <ebb9@byu.net>
75447         test-lock, test-tls: mention why a test is skipped
75448         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
75449         skipped.
75450         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
75452         count-one-bits: relax license
75453         * modules/count-one-bits (License): Relicense to LGPLv2+.
75454         Suggested by Ludovic Courtès, approved by Ben Pfaff.
75456 2008-08-22  Andreas Schwab  <schwab@suse.de>
75458         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
75459         Remove spurious space in assignment.
75461 2008-08-21  Simon Josefsson  <simon@josefsson.org>
75463         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
75464         Paul Eggert <eggert@CS.UCLA.EDU>.
75466 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
75468         * modules/gettext: Add m4/threadlib.m4.
75470 2008-08-19  Eric Blake  <ebb9@byu.net>
75472         test-c-stack: fix compilation failure on FreeBSD 5.0
75473         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
75474         headers before <sys/resource.h>.
75475         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
75476         the bug.
75477         Reported by Nelson H. F. Beebe.
75479         strverscmp: migrate from "strverscmp.h" to <string.h>
75480         * modules/string (Makefile.am): Add new hooks.
75481         * modules/strverscmp (Files): Remove strverscmp.h.
75482         (Depends-on): Add string.
75483         (configure.ac): Add indicator.
75484         (Include): Mention new header.
75485         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
75486         defaults.
75487         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
75488         results.
75489         * lib/strverscmp.h: Delete.
75490         * lib/string.in.h (strverscmp): Provide declaration, when needed.
75491         * tests/test-strverscmp.c (includes): Adjust client.
75492         * lib/check-version.c (includes): Likewise.
75493         * NEWS: Document the change.
75495         strverscmp: add unit test
75496         * modules/strverscmp-tests: New file.
75497         * tests/test-strverscmp.c: Likewise.
75499 2008-08-19  Simon Josefsson  <simon@josefsson.org>
75501         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
75502         regarding Windows crypto stuff, from Mono.
75504 2008-08-19  Adam Strzelecki  <ono@java.pl>  (tiny change)
75506         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
75507         if present, for intel RND.  Return error on failures.
75509 2008-08-18  Ben Pfaff  <blp@gnu.org>
75511         gitlog-to-changelog: give better diagnostic for failed pipe-open
75512         * build-aux/gitlog-to-changelog: Improve error message: suggest
75513         that the version of Git may be too old.
75515 2008-08-18  Simon Josefsson  <simon@josefsson.org>
75517         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
75518         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
75520 2008-08-18  Bruno Haible  <bruno@clisp.org>
75522         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
75523         pthread_in_use().
75525 2008-08-18  Bruno Haible  <bruno@clisp.org>
75527         * lib/glthread/threadlib.c: Include <pthread.h>.
75529 2008-08-18  Bruno Haible  <bruno@clisp.org>
75531         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
75532         glthread_recursive_lock_* macros.
75533         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
75534         Fix syntax error.
75536 2008-08-18  Bruno Haible  <bruno@clisp.org>
75538         * lib/glthread/thread.c: Avoid forcing a context switch right after
75539         thread creation.
75541 2008-08-17  Bruno Haible  <bruno@clisp.org>
75543         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
75544         * lib/glthread/thread.h: Provide Win32 specific implementation.
75545         * modules/thread (Files): Add lib/glthread/thread.c.
75546         (Depends-on): Add lock.
75547         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
75549 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75551         New module 'yield'.
75552         * modules/yield: New file.
75553         * lib/glthread/yield.h: New file.
75554         * m4/yield.m4: New file.
75555         * MODULES.html.sh (Multithreading): Add yield.
75557 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75559         New module 'thread'.
75560         * modules/thread: New file.
75561         * lib/glthread/thread.h: New file.
75562         * m4/thread.m4: New file.
75563         * MODULES.html.sh (Multithreading): Add thread.
75565 2008-08-17  Bruno Haible  <bruno@clisp.org>
75567         * lib/glthread/lock.h: Include <stdlib.h> always.
75568         * lib/glthread/tls.h: Likewise.
75569         * lib/glthread/cond.h: Likewise.
75571 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75573         New module 'cond'.
75574         * modules/cond: New file.
75575         * lib/glthread/cond.h: New file.
75576         * lib/glthread/cond.c: New file.
75577         * m4/cond.m4: New file.
75578         * MODULES.html.sh (Multithreading): Add cond.
75580 2008-08-16  Eric Blake  <ebb9@byu.net>
75582         c-stack: fix regression on Irix 5.3 from 2008-06-21
75583         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
75584         sa_sigaction...
75585         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
75586         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
75587         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
75588         * modules/signal (Makefile.am): Use the value.
75589         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
75590         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
75591         * doc/posix-headers/signal.texi (signal.h): Document this
75592         portability issue.
75593         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
75594         Reported by Tom G. Christensen.
75596 2008-08-17  Bruno Haible  <bruno@clisp.org>
75598         New module 'threadlib'.
75599         * modules/threadlib: New file.
75600         * lib/glthread/threadlib.c: New file, extracted from
75601         lib/glthread/lock.c.
75602         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
75603         functions.
75604         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
75605         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
75606         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
75607         macros.
75608         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
75609         (gl_DISABLE_THREADS): Remove macro.
75610         * modules/lock (Files): Remove build-aux/config.rpath.
75611         (Depends-on): Remove havelib. Add threadlib.
75612         (configure.ac-early): Remove section.
75613         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
75614         * modules/tls (Depends-on): Remove lock. Add threadlib.
75615         (Link): New section, copied from threadlib.
75616         * MODULES.html.sh (Multithreading): Add threadlib.
75618 2008-08-14  Bruno Haible  <bruno@clisp.org>
75620         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
75621         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
75622         glthread_rwlock_unlock, glthread_rwlock_destroy,
75623         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
75624         glthread_recursive_lock_destroy): Define as macros always.
75625         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
75626         glthread_lock_lock.
75627         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
75628         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
75629         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
75630         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
75631         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
75632         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
75633         (glthread_recursive_lock_lock_func): Renamed from
75634         glthread_recursive_lock_lock.
75635         (glthread_recursive_lock_unlock_func): Renamed from
75636         glthread_recursive_lock_unlock.
75637         (glthread_recursive_lock_destroy_func): Renamed from
75638         glthread_recursive_lock_destroy.
75640 2008-08-14  Bruno Haible  <bruno@clisp.org>
75642         * lib/glthread/lock.h: Renamed from lib/lock.h.
75643         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
75644         * lib/glthread/tls.h: Renamed from lib/tls.h.
75645         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
75646         * lib/fstrcmp.c: Update includes.
75647         * lib/strsignal.c: Update includes.
75648         * modules/lock (Files, Makefile.am): Update.
75649         (Include): Change to "glthread/lock.h".
75650         * modules/tls (Files, Makefile.am): Update.
75651         (Include): Change to "glthread/tls.h".
75652         * tests/test-lock.c: Update includes.
75653         * tests/test-tls.c: Update includes.
75654         * NEWS: Mention the renamed header files.
75656 2008-08-11  Jim Meyering  <meyering@redhat.com>
75658         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
75660 2008-08-11  Eric Blake  <ebb9@byu.net>
75662         test-c-stack: avoid C99-ism
75663         * tests/test-c-stack.c (main): Fix whitespace, move declaration
75664         before statement.
75665         Reported by Alain Guibert.
75667 2008-08-10  Jim Meyering  <meyering@redhat.com>
75669         ensure that return value of uinttostr et al are not ignored
75670         * lib/inttostr.h (__GNUC_PREREQ): Define.
75671         (__attribute_warn_unused_result__): Define.
75672         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
75674 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
75676         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
75677         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
75679 2008-08-07  Jim Meyering  <meyering@redhat.com>
75681         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
75683         * modules/mkstemp (License): Relicense under LGPLv2+.
75684         * modules/tempname (License): Likewise.
75686 2008-08-06  Bruno Haible  <bruno@clisp.org>
75688         * lib/poll.c (poll): Further micro-optimization.
75690 2008-08-06  Jim Meyering  <meyering@redhat.com>
75692         inet_pton.c: use locale-independent tolower
75693         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
75694         (inet_pton6): Use c_tolower rather than tolower.
75695         * modules/inet_pton (Depends-on): Add c-ctype.
75697 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
75699         * lib/poll.c (poll): Avoid division when timeout is 0, cache
75700         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
75702 2008-08-06  Jim Meyering  <meyering@redhat.com>
75704         * modules/inet_pton (License): Relicense under LGPLv2+.
75706 2008-08-03  Bruno Haible  <bruno@clisp.org>
75708         Additional non-aborting API for lock and tls.
75709         * lib/lock.h: Include <errno.h>.
75710         (glthread_lock_init): New macro/function.
75711         (gl_lock_init): Define as wrapper around glthread_lock_init.
75712         (glthread_lock_lock): New macro/function.
75713         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
75714         (glthread_lock_unlock): New macro/function.
75715         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
75716         (glthread_lock_destroy): New macro/function.
75717         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
75718         (glthread_rwlock_init): New macro/function.
75719         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
75720         (glthread_rwlock_rdlock): New macro/function.
75721         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
75722         (glthread_rwlock_wrlock): New macro/function.
75723         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
75724         (glthread_rwlock_unlock): New macro/function.
75725         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
75726         (glthread_rwlock_destroy): New macro/function.
75727         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
75728         (glthread_recursive_lock_init): New macro/function.
75729         (gl_recursive_lock_init): Define as wrapper around
75730         glthread_recursive_lock_init.
75731         (glthread_recursive_lock_lock): New macro/function.
75732         (gl_recursive_lock_lock): Define as wrapper around
75733         glthread_recursive_lock_lock.
75734         (glthread_recursive_lock_unlock): New macro/function.
75735         (gl_recursive_lock_unlock): Define as wrapper around
75736         glthread_recursive_lock_unlock.
75737         (glthread_recursive_lock_destroy): New macro/function.
75738         (gl_recursive_lock_destroy): Define as wrapper around
75739         glthread_recursive_lock_destroy.
75740         (glthread_once): New macro/function.
75741         (gl_once): Define as wrapper around glthread_once.
75742         Update function declarations.
75743         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
75744         glthread_rwlock_init. Return error code.
75745         (glthread_rwlock_rdlock_multithreaded): Renamed from
75746         glthread_rwlock_rdlock. Return error code.
75747         (glthread_rwlock_wrlock_multithreaded): Renamed from
75748         glthread_rwlock_wrlock. Return error code.
75749         (glthread_rwlock_unlock_multithreaded): Renamed from
75750         glthread_rwlock_unlock. Return error code.
75751         (glthread_rwlock_destroy_multithreaded): Renamed from
75752         glthread_rwlock_destroy. Return error code.
75753         (glthread_recursive_lock_init_multithreaded): Renamed from
75754         glthread_recursive_lock_init. Return error code.
75755         (glthread_recursive_lock_lock_multithreaded): Renamed from
75756         glthread_recursive_lock_lock. Return error code.
75757         (glthread_recursive_lock_unlock_multithreaded): Renamed from
75758         glthread_recursive_lock_unlock. Return error code.
75759         (glthread_recursive_lock_destroy_multithreaded): Renamed from
75760         glthread_recursive_lock_destroy. Return error code.
75761         (glthread_once_call): Make static.
75762         (glthread_once_multithreaded): Renamed from glthread_once.
75763         * lib/tls.h: Include <errno.h>.
75764         (glthread_tls_key_init): New macro/function.
75765         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
75766         (glthread_tls_set): New macro/function.
75767         (gl_tls_set): Define as wrapper around glthread_tls_set.
75768         (glthread_tls_key_destroy): New macro/function.
75769         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
75770         Update function declarations.
75771         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
75772         glthread_tls_get.
75773         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
75775 2008-08-04  Eric Blake  <ebb9@byu.net>
75777         gnumakefile: use space, not TAB, outside of targets
75778         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
75780 2008-08-02  Jim Meyering  <meyering@redhat.com>
75782         getdate.y: avoid locale-dependent date parsing failure
75783         In Turkish locales, getdate would fail to recognize keywords
75784         containing a lowercase "i".  The solution is not to rely on
75785         locale-sensitive case-conversion.
75786         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
75787         (lookup_word): Use c_toupper in place of toupper.
75788         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
75789         Reported by Vefa Bicakci <bicave@superonline.com> in
75790         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
75791         * modules/getdate (Depends-on): Add c-ctype.
75793 2008-08-02  Bruno Haible  <bruno@clisp.org>
75795         * gnulib-tool (func_import): When updating or creating a .gitignore
75796         file, prepend each added line with a slash, and ignore leading slashes
75797         from the existing lines.
75798         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
75800 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75802         Portability fix for GNU make 3.79.1.
75803         * top/GNUmakefile: Avoid 'else COND', which older GNU make
75804         versions do not understand.
75806 2008-08-01  Bruno Haible  <bruno@clisp.org>
75808         Work around bug of HP-UX 10.20 cc with -0.0 literal.
75809         * tests/test-isnanf.h (zero): New variable.
75810         (main): Avoid literal -0.0f.
75811         * tests/test-isnand.h (zero): New variable.
75812         (main): Avoid literal -0.0.
75813         * tests/test-isnanl.h (zero): New variable.
75814         (main): Avoid literal -0.0L.
75815         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
75816         (test_float, test_double, test_long_double): Avoid literals -0.0f,
75817         -0.0, -0.0L.
75818         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
75819         (test_signbitd): Avoid literal -0.0.
75820         (test_signbitl): Avoid literal -0.0L.
75821         * tests/test-ceilf1.c (zero): New variable.
75822         (main): Avoid literal -0.0f.
75823         * tests/test-ceill.c (zero): New variable.
75824         (main): Avoid literal -0.0L.
75825         * tests/test-floorf1.c (zero): New variable.
75826         (main): Avoid literal -0.0f.
75827         * tests/test-floorl.c (zero): New variable.
75828         (main): Avoid literal -0.0L.
75829         * tests/test-roundf1.c (zero): New variable.
75830         (main): Avoid literal -0.0f.
75831         * tests/test-round1.c (zero): New variable.
75832         (main): Avoid literal -0.0.
75833         * tests/test-roundl.c (zero): New variable.
75834         (main): Avoid literal -0.0L.
75835         * tests/test-truncf1.c (zero): New variable.
75836         (main): Avoid literal -0.0f.
75837         * tests/test-trunc1.c (zero): New variable.
75838         (main): Avoid literal -0.0.
75839         * tests/test-truncl.c (zero): New variable.
75840         (main): Avoid literal -0.0L.
75841         * tests/test-frexp.c (zero): New variable.
75842         (main): Avoid literal -0.0.
75843         * tests/test-frexpl.c (zero): New variable.
75844         (main): Avoid literal -0.0L.
75845         * tests/test-ldexpl.c (zero): New variable.
75846         (main): Avoid literal -0.0L.
75847         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
75848         (zerod, zerol): New variables.
75849         (test_function): Avoid literals -0.0, -0.0L.
75850         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
75851         (zerod, zerol): New variables.
75852         (test_function): Avoid literals -0.0, -0.0L.
75853         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
75854         (zerod, zerol): New variables.
75855         (test_function): Avoid literals -0.0, -0.0L.
75856         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
75857         (zerod, zerol): New variables.
75858         (test_function): Avoid literals -0.0, -0.0L.
75859         * tests/test-strtod.c (zero): New variable.
75860         (main): Avoid literal -0.0.
75861         Reported by Jonathan C. Patschke <jp@centtech.com>.
75863 2008-07-31  Jim Meyering  <meyering@redhat.com>
75865         sha256.h: correct definition of SHA224_DIGEST_SIZE
75866         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
75867         Reported by Paulie Pena IV <paulie4@gmail.com>.
75868         Define as 224 / 8, rather than as a literal.
75869         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
75870         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
75871         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
75873 2008-07-31  Bruno Haible  <bruno@clisp.org>
75875         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
75876         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
75877         Reported by Jonathan Patschke <jp@centtech.com>.
75879 2008-07-31  Bruno Haible  <bruno@clisp.org>
75881         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
75882         Reported by Paolo Bonzini <bonzini@gnu.org>.
75884 2008-07-30  Eric Blake  <ebb9@byu.net>
75886         test-strtod: allow compilation without -lm
75887         * tests/test-strtod.c (main): Avoid link dependence on fabs.
75888         Reported by Dennis Clarke <blastwave@gmail.com>.
75890 2008-07-28  Jim Meyering  <meyering@redhat.com>
75892         bootstrap: work also when there are no .po files in po/
75893         * build-aux/bootstrap (update_po_files): Complete the change
75894         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
75896 2008-07-27  Jim Meyering  <meyering@redhat.com>
75898         * users.txt: Add zile.
75900 2008-07-26  Ben Pfaff  <blp@gnu.org>
75902         Add missing dependencies on new m4/exponent[fdl].m4 files.
75903         * modules/isnanf-nolibm: Add m4/exponentf.m4.
75904         * modules/isnand-nolibm: Add m4/exponentd.m4.
75905         * modules/isnanl-nolibm: Add m4/exponentl.m4.
75906         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
75907         m4/isnan[fdl].m4, because the macros actually used moved.
75908         Reported by Jim Meyering.
75910 2008-07-14  Ben Pfaff  <blp@gnu.org>
75912         Add isinf module.
75913         * lib/isinf.c: New file.
75914         * lib/math.in.h: Define isinf macro if we have decided to replace
75915         it.
75916         * m4/isinf.m4: New file.
75917         * m4/math_h.m4: Initialize and substitute variables for isinf
75918         module.
75919         * modules/isinf: New file.
75920         * modules/isinf-tests: New file.
75921         * modules/math: Add substitutions for new module.
75922         * tests/test-isinf.c: New file.
75923         * doc/posix-functions/isinf.texi: Mention new module.
75924         * MODULES.html.sh: Mention new module.
75926 2008-07-14  Ben Pfaff  <blp@gnu.org>
75928         Factor out some macros for use by additional modules.
75929         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
75930         exponentf.m4.
75931         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
75932         exponentd.m4.
75933         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
75934         file exponentl.m4.
75935         * m4/exponentf.m4: New file.
75936         * m4/exponentd.m4: New file.
75937         * m4/exponentl.m4: New file.
75938         * modules/isnanf: Use new file m4/exponentf.m4.
75939         * modules/isnand: Use new file m4/exponentd.m4.
75940         * modules/isnanl: Use new file m4/exponentl.m4.
75942 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
75944         mktime.c: normalize tp->tm_isdst value to -1/0/1.
75945         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
75946         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
75947         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
75949         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
75950         readlink on platforms without PATH_MAX.
75952 2008-07-21  Eric Blake  <ebb9@byu.net>
75954         Warn, not fail, on stale version.
75955         * top/GNUmakefile (_curr-ver): Tone down previous patch.
75957         Don't allow installation with stale devel version number.
75958         * top/GNUmakefile (_is-install-target): New macro.
75959         (_curr-ver): Forbid installation with stale version number.
75961 2008-07-20  Bruno Haible  <bruno@clisp.org>
75963         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
75964         TESTS_ENVIRONMENT.
75965         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
75967 2008-07-20  Bruno Haible  <bruno@clisp.org>
75969         * lib/c-stack.h (c_stack_action): Add documentation.
75970         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
75972 2008-07-20  Bruno Haible  <bruno@clisp.org>
75974         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
75975         * modules/readlink (License): Likewise.
75977 2008-07-17  Eric Blake  <ebb9@byu.net>
75979         * modules/c-stack (Link): Fix typo.
75981         Make c-stack use libsigsegv, when available.
75982         * modules/c-stack (Depends-on): Add libsigsegv.
75983         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
75984         needed.
75985         * lib/c-stack.c (SIGSTKSZ): Define fallback.
75986         (segv_handler, overflow_handler, c_stack_action)
75987         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
75988         implementation when libsigsegv is available, but only when using
75989         the library is necessary.
75990         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
75991         comment, explaining why XSI check fails on Linux.
75992         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
75993         * tests/test-c-stack2.sh: Tweak skip message.
75994         * NEWS: Document new link-time requirements.
75996 2008-07-16  Eric Blake  <ebb9@byu.net>
75998         c-stack: Expose false positives when not using libsigsegv.
75999         * modules/c-stack-tests (Files): Expand test.
76000         * tests/test-c-stack.c (main): Add means to conditionally trigger
76001         non-overflow SIGSEGV.
76002         * tests/test-c-stack2.sh: New file.
76004 2008-07-14  Bruno Haible  <bruno@clisp.org>
76006         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
76007         Reported by Eric Blake.
76009 2008-07-14  Sam Steingold  <sds@gnu.org>
76010             Bruno Haible  <bruno@clisp.org>
76012         New module libsigsegv.
76013         * modules/libsigsegv: New file.
76014         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
76015         modifications.
76016         * MODULES.html.sh (Signal handling): New section.
76018 2008-07-14  Bruno Haible  <bruno@clisp.org>
76020         * modules/unictype/ctype-* (Description): Add the word "function".
76021         Improves the resulting doc in MODULES.html.
76023 2008-07-12  Ben Pfaff  <blp@gnu.org>
76025         Add longlong module.
76026         * modules/longlong: New file.
76028 2008-07-12  Bruno Haible  <bruno@clisp.org>
76030         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
76031         to empty.
76033 2008-07-10  Ben Pfaff  <blp@gnu.org>
76035         Add isnan module.
76036         * doc/posix-functions/isnan.texi: Mention new module.
76037         * lib/math.in.h: Define isnan macro if we have decided to replace
76038         it.
76039         * m4/isnan.m4: New file.
76040         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
76041         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
76042         also.
76043         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
76044         redundancy.
76045         * m4/math_h.m4: Initialize and substitute variables for isnan
76046         module.
76047         * modules/isnan: New file.
76048         * modules/isnan-tests: New file.
76049         * modules/math: Add substitutions for new module.
76050         * tests/test-isnan.c: New file.
76051         * MODULES.html.sh: Mention new module.
76053 2008-07-10  Ben Pfaff  <blp@gnu.org>
76055         Add isnanf module.
76056         * lib/isnanf.m4: New file.
76057         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
76058         (gl_HAVE_ISNANF_IN_LIBM): New macro.
76059         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
76060         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
76061         * modules/isnanf: New file.
76062         * modules/isnanf-tests: New file.
76063         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
76064         files.
76065         * tests/test-isnanf-nolibm.c: factored most of its contents into
76066         new file tests/test-isnanf.h.
76067         * tests/test-isnanf.h: New file.
76068         * tests/test-isnanf.c: New file.
76069         * MODULES.html.sh: Mention new module.
76070         * doc/glibc-functions/isnanf.texi: Mention new module.
76072 2008-07-10  Ben Pfaff  <blp@gnu.org>
76074         Add isnand module.
76075         * lib/isnand.h: New file.
76076         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
76077         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
76078         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
76079         functionality also.
76080         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
76081         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
76082         (gl_HAVE_ISNAND_IN_LIBM): New macro.
76083         * modules/isnand: New file.
76084         * modules/isnand-tests: New file.
76085         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
76086         files.
76087         * tests/test-isnand-nolibm.c: factored most of its contents into
76088         new file tests/test-isnand.h.
76089         * tests/test-isnand.h: New file.
76090         * tests/test-isnand.c: New file.
76091         * MODULES.html.sh: Mention new module.
76093 2008-07-10  Ben Pfaff  <blp@gnu.org>
76095         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
76096         * lib/isnand.h: Rename lib/isnand-nolibm.h.
76097         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
76098         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
76099         * modules/isnanf-nolibm: Update references to renamed files.
76100         * modules/isnand-nolibm: Likewise.
76101         * modules/isnanf-nolibm-tests: Likewise.
76102         * modules/isnand-nolibm-tests: Likewise.
76103         * lib/frexp.c: Likewise.
76104         * lib/isfinite.c: Likewise.
76105         * lib/signbitd.c: Likewise.
76106         * lib/signbitf.c: Likewise.
76107         * lib/vasnprintf.c: Likewise.
76108         * tests/test-ceilf1.c: Likewise.
76109         * tests/test-ceilf2.c: Likewise.
76110         * tests/test-floorf1.c: Likewise.
76111         * tests/test-floorf2.c: Likewise.
76112         * tests/test-frexp.c: Likewise.
76113         * tests/test-round1.c: Likewise.
76114         * tests/test-round2.c: Likewise.
76115         * tests/test-roundf1.c: Likewise.
76116         * tests/test-strtod.c: Likewise.
76117         * tests/test-trunc1.c: Likewise.
76118         * tests/test-trunc2.c: Likewise.
76119         * tests/test-truncf1.c: Likewise.
76120         * tests/test-truncf2.c: Likewise.
76121         * NEWS: Mention the renamed header files.
76123 2008-07-11  Jim Meyering  <meyering@redhat.com>
76125         vc-list-files: make the last-resort awk code more portable
76126         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
76127         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
76128         does not support it.
76130 2008-07-10  Eric Blake  <ebb9@byu.net>
76132         Work with tar's bootstrap.
76133         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
76134         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
76135         an m4 comment.
76137 2008-07-09  Jim Meyering  <meyering@redhat.com>
76139         posix-shell.m4: fix typo that made this test malfunction
76140         * m4/posix-shell.m4: Remove capitalization in variable name.
76142 2008-07-08  Bruno Haible  <bruno@clisp.org>
76144         * m4/onceonly.m4: Update comments.
76145         Reported by Ben Pfaff <blp@cs.stanford.edu>.
76147 2008-07-04  Jim Meyering  <meyering@redhat.com>
76149         * users.txt: Add vc-dwim.
76150         (bison, coreutils): Use the gitweb URL.
76152 2008-07-03  Jim Meyering  <meyering@redhat.com>
76154         * users.txt: Add libffcall.  From Sam Steingold.
76156 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
76158         getdate.y: do not ignore TZ with relative day, month or year offset
76159         * lib/getdate.y (get_date): Move the tz-handling block to follow the
76160         relative-date-handling, since otherwise, the latter would clobber the
76161         sole output (an updated Start value) of the tz-handling block.
76162         * tests/test-getdate.c: Tests for the fix
76164 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76166         Recognize 'foo_LIBRARIES += libgnu.a'.
76167         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
76168         makefile snippet has already specified an installation location,
76169         also using '+='.
76171 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
76173         getdate.y: factor out common actions
76174         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
76175         Use them in place of open-coded actions.
76177 2008-07-01  Simon Josefsson  <simon@josefsson.org>
76179         Add self-test for getdate module.
76180         * modules/getdate-tests: New file.
76181         * tests/test-getdate.c: New file.
76183 2008-06-29  Bruno Haible  <bruno@clisp.org>
76185         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
76186         .gitignore.
76187         Reported by Sylvain Beucler <beuc@beuc.net>.
76189 2008-06-29  Bruno Haible  <bruno@clisp.org>
76191         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
76192         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
76194 2008-06-29  Bruno Haible  <bruno@clisp.org>
76196         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
76197         EXTRA_DIST.
76198         Reported by Sylvain Beucler <beuc@beuc.net>.
76200 2008-06-26  Jim Meyering  <meyering@redhat.com>
76202         make several modules depend on the "open" module
76203         This provides slightly increased consistency when opening-for-write
76204         the name of a non-directory spelled with a trailing slash.
76205         * modules/chdir-safer: Likewise.
76206         * modules/chown: Likewise.
76207         * modules/clean-temp: Likewise.
76208         * modules/copy-file: Likewise.
76209         * modules/fchdir: Likewise.
76210         * modules/fcntl-safer: Likewise.
76211         * modules/pipe: Likewise.
76212         * modules/utime: Likewise.
76213         Prompted by Eric Blake and Bruno Haible.
76215 2008-06-24  Andreas Schwab  <schwab@suse.de>
76217         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
76218         literals can be used as initializers for global variables.
76220 2008-06-23  Eric Blake  <ebb9@byu.net>
76222         Make gnulib-cache.m4 easier to diff.
76223         * gnulib-tool (func_import): Allow newlines when reading cached
76224         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
76226 2008-06-23  Bruno Haible  <bruno@clisp.org>
76228         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
76229         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
76230         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
76231         m4/signalblocking.m4.
76232         (gl_PREREQ_SIGACTION): Don't invoke it.
76233         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
76234         gl_PREREQ_SIG_HANDLER_H.
76235         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
76236         Don't check for sigaction here.
76238 2008-06-23  Bruno Haible  <bruno@clisp.org>
76240         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
76241         (install_handlers): Don't set the SA_RESETHAND flag.
76243 2008-06-23  Bruno Haible  <bruno@clisp.org>
76245         * m4/sigaction.m4: Comment fixes.
76246         * lib/signal.in.h: Likewise.
76248 2008-06-23  Eric Blake  <ebb9@byu.net>
76250         Fix typo.
76251         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
76253         Avoid SA_ namespace.
76254         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
76255         Reported by Ralf Wildenhues.
76257         Avoid test failure due to SA_RESTORER.
76258         * tests/test-sigaction.c (SA_MASK): New macro.
76259         (main): Avoid failing due to extension flags being set.
76260         Reported by Jim Meyering.
76262         Revert use of sig-handler.h in sigprocmask.c.
76263         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
76264         it requires the existence of struct sigaction.
76265         * lib/sigprocmask.c (handler_t): Restore typedef.
76266         (rpl_signal, old_handlers): Use local type.
76268 2008-06-22  Bruno Haible  <bruno@clisp.org>
76270         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
76271         conditionally.
76272         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
76274 2008-06-22  Bruno Haible  <bruno@clisp.org>
76276         * doc/posix-functions/siginterrupt.texi: Move note.
76278         * lib/signal.in.h (SA_RESTART): New macro.
76279         * lib/sigaction.c: Update comment.
76281         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
76283         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
76284         (gl_PREREQ_SIGPROCMASK): Invoke it.
76285         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
76287         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
76289         * lib/sigprocmask.c: Update a comment.
76291 2008-06-21  Eric Blake  <ebb9@byu.net>
76293         Use sigaction module rather than signal().
76294         * modules/c-stack (Depends-on): Add sigaction.
76295         * modules/fatal-signal (Depends-on): Likewise.
76296         * modules/nanosleep (Depends-on): Likewise.
76297         * modules/sigprocmask (Files): Add sig-handler.h.
76298         * modules/sigaction (Files): Likewise.
76299         * lib/sig-handler.h (get_handler): New file, suggested by Paul
76300         Eggert.
76301         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
76302         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
76303         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
76304         (init_fatal_signals): Likewise.
76305         * lib/nanosleep.c (rpl_nanosleep): Likewise.
76306         (siginterrupt): Delete fallback.
76307         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
76308         instead.
76309         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
76310         siginterrupt.
76312         New module sigaction, for mingw.
76313         * modules/sigaction: New module...
76314         * modules/sigaction-tests: ...and its test.
76315         * m4/sigaction.m4: New file.
76316         * lib/sigaction.c: Likewise.
76317         * tests/test-sigaction.c: Likewise.
76318         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
76319         * modules/signal (Makefile.am): Likewise.
76320         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
76321         needed.
76322         * doc/posix-headers/signal.texi (signal.h): Mention provided
76323         types.
76324         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
76325         that sigaction is preferable.
76326         * doc/posix-functions/sigaction.texi (sigaction): Mention new
76327         module.
76328         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76329         sigaction.
76331         Improve robustness of sigprocmask by overriding signal.
76332         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
76333         is in use.
76334         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
76335         (SIGKILL, SIGSTOP): Provide fallbacks.
76336         (rpl_signal): Implement.
76337         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
76338         signal can be called inside handlers.
76340         Fix nanosleep module on mingw.
76341         * modules/nanosleep (Depends-on): Add sys_select.
76342         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
76344         Fix licensing of sigprocmask.
76345         * modules/raise (License): Relicense as LGPL.
76347 2008-06-21  Bruno Haible  <bruno@clisp.org>
76349         * lib/propername.c (proper_name_utf8): Don't use the transliterated
76350         result if it contains question marks.
76351         Reported by Michael Geng <linux@michaelgeng.de>.
76353 2008-06-19  Bruno Haible  <bruno@clisp.org>
76355         Fix CVS-ism.
76356         * doc/gnulib.texi: Include updated-stamp.texi.
76357         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
76358         (updated-stamp.texi): New rule.
76359         (gnulib.info): Depend on it.
76360         * doc/.gitignore: Add updated-stamp.texi.
76361         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
76363 2008-06-19  Bruno Haible  <bruno@clisp.org>
76365         * doc/Makefile (gnulib.info): Update and simplify dependencies.
76366         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
76368 2008-06-19  Eric Blake  <ebb9@byu.net>
76370         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
76371         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
76372         Reported by Stepan Kasal.
76374 2008-06-18  Bruno Haible  <bruno@clisp.org>
76376         * lib/fatal-signal.c (init_fatal_signals): Add comment.
76377         Reported by Eric Blake.
76379 2008-06-18  Eric Blake  <ebb9@byu.net>
76381         Work around cygwin 1.5.25 strsignal bug.
76382         * tests/test-strsignal.c: Allow for const char *.
76383         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
76385 2008-06-18  Simon Josefsson  <simon@josefsson.org>
76387         * users.txt: Update URL to article and add author/date
76388         information.
76390 2008-06-17  Bruno Haible  <bruno@clisp.org>
76392         New macro gl_DISABLE_THREADS.
76393         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
76394         if the user did not pass --enable-threads or --disable-threads option.
76395         (gl_DISABLE_THREADS): New macro.
76396         Reported by Eric Blake <ebb9@byu.net>.
76398 2008-06-17  Bruno Haible  <bruno@clisp.org>
76400         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
76401         when the macro ignores it.
76402         Based on a patch by Eric Blake <ebb9@byu.net>.
76404 2008-06-17  Bruno Haible  <bruno@clisp.org>
76406         * modules/tls (License): Change to LGPLv2+.
76407         Reported by Eric Blake.
76409 2008-06-17  Eric Blake  <ebb9@byu.net>
76411         Simplify c-stack prerequisites.
76412         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
76413         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
76414         no longer requires <ucontext.h> to exist.  Optimize setrlimit
76415         check.
76416         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
76417         <sys/resource.h>.
76419         Move c-stack test into testsuite.
76420         * modules/c-stack-tests: New file.
76421         * lib/c-stack.c [DEBUG]: Move test program...
76422         * tests/test-c-stack.c: ...into this new file.  Skip rather than
76423         fail test if sigaltstack is lacking.
76424         * tests/test-c-stack.sh: New driver file.
76426 2008-06-16  Eric Blake  <ebb9@byu.net>
76428         Use raise module consistently.
76429         * modules/fatal-signal (Depends-on): Add raise.
76430         * modules/sigprocmask (Depends-on): Likewise.
76431         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
76432         * lib/sigprocmask.c (sigprocmask): Likewise.
76433         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
76434         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
76436         Fix compliance bug in sigpending.
76437         * lib/sigprocmask.c (sigpending): Return pending array via
76438         parameter, not return value.
76440 2008-06-14  Eric Blake  <ebb9@byu.net>
76442         Improve obstack-printf test code.
76443         * tests/test-obstack-printf.c (test_function): Fix comment, and
76444         simplify usage of obstack_* in macros.  Add a test for coverage.
76445         Reported by Bruno Haible.
76447 2008-06-14  Bruno Haible  <bruno@clisp.org>
76449         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
76450         array size as a constant, not as a const variable.
76451         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
76452         AC_USE_SYSTEM_EXTENSIONS.
76453         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
76454         Test whether the obstack_printf function actually exists.
76455         * modules/obstack-printf (Depends-on): Add extensions.
76456         (Include): Remove obstack.h.
76457         * modules/obstack-printf-posix (Depends-on): Add extensions.
76458         (Include): Remove obstack.h.
76460 2008-06-13  Eric Blake  <ebb9@byu.net>
76462         Add obstack-printf and obstack-printf-posix modules.
76463         * modules/obstack-printf: New file.
76464         * modules/obstack-printf-posix: Likewise.
76465         * MODULES.html.sh (Misc): Mention them.
76466         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
76467         Likewise.
76468         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
76469         Likewise.
76470         * modules/stdio (Makefile.am): Accomodate new modules.
76471         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
76472         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
76473         Declare.
76474         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
76475         functions.
76476         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
76477         (gl_REPLACE_OBSTACK_PRINTF): New macros
76478         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
76479         * tests/test-obstack-printf.c: New file.
76480         * modules/obstack-printf-tests: Likewise.
76481         * modules/obstack-printf-posix-tests: Likewise.
76483 2008-06-11  Bruno Haible  <bruno@clisp.org>
76485         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
76486         * lib/open.c: Include errno.h.
76487         (open): Fail when attempting to write to a file that has a trailing
76488         slash.
76489         * tests/test-open.c (main): Test against trailing slash bug.
76490         * doc/posix-functions/open.texi: Mention the trailing slash bug.
76492 2008-06-10  Bruno Haible  <bruno@clisp.org>
76494         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
76495         for $? to work inside the trap command, with various /bin/sh-s.
76496         * tests/test-vc-list-files-cvs.sh: Likewise.
76498 2008-06-10  Bruno Haible  <bruno@clisp.org>
76500         * lib/acl-internal.h: Don't include gettext.h here.
76501         * lib/set-mode-acl.c: Include gettext.h here.
76502         * lib/copy-acl.c: Likewise.
76504 2008-06-10  Bruno Haible  <bruno@clisp.org>
76506         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
76507         * lib/wait-process.c (wait_subprocess): Likewise.
76508         * lib/execute.h (execute): Add termsigp argument.
76509         * lib/execute.c (execute): Likewise.
76510         * lib/csharpcomp.c (compile_csharp_using_pnet,
76511         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
76512         * lib/csharpexec.c (execute_csharp_using_pnet,
76513         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
76514         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
76515         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
76516         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
76517         is_jikes_present): Update.
76518         * lib/javaexec.c (execute_java_class): Update.
76519         * lib/javaversion.c (execute_and_read_line): Update.
76520         * NEWS: Document the changes.
76521         Reported by Eric Blake.
76523 2008-06-10  Eric Blake  <ebb9@byu.net>
76525         Add missing include.
76526         * tests/test-strstr.c (includes): Add <signal.h>.
76527         * tests/test-strcasestr.c (includes): Likewise.
76528         * tests/test-memmem.c (includes): Likewise.
76530 2008-06-10  Bruno Haible  <bruno@clisp.org>
76532         * lib/wait-process.c (wait_subprocess): Add an assertion.
76534 2008-06-10  Bruno Haible  <bruno@clisp.org>
76536         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
76538 2008-06-10  Bruno Haible  <bruno@clisp.org>
76540         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
76541         using alarm().
76542         * tests/test-strcasestr.c (main): Likewise.
76543         * tests/test-strstr.c (main): Likewise.
76545 2008-06-09  Bruno Haible  <bruno@clisp.org>
76547         Work around the Solaris 10 ACE ACLs ABI change.
76548         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
76549         declare if ACL_NO_TRIVIAL is present.
76550         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
76551         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
76552         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
76553         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
76554         define if ACL_NO_TRIVIAL is present.
76555         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
76556         and use the current ABI.
76557         (file_has_acl): Use same #if condition as elsewhere.
76558         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
76559         in use, and use the current ABI.
76560         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
76561         Reported by Jim Meyering.
76563 2008-06-09  Eric Blake  <ebb9@byu.net>
76565         Work around environments that (stupidly) ignore SIGALRM.
76566         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
76567         before using alarm().
76568         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
76569         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
76570         Reported by Ian Beckwith <ianb@erislabs.net>.
76572         Produce autobuild blurb earlier in log.
76573         * modules/autobuild (configure.ac-early): Move AB_INIT here.
76575 2008-06-09  Jim Meyering  <meyering@redhat.com>
76576         and Ondřej Vašík  <ovasik@redhat.com>
76578         utimens.c: correct kernel bug work-around
76579         Ondřej Vašík found that the invalid return value of 280 indicates
76580         failure, not success, and the kernel bug we're trying to work
76581         around affects not just the utimensat call, but also the fallback
76582         futimens call.
76583         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
76584         not success.
76585         [HAVE_FUTIMENS]: Use the same work-around, here.
76587 2008-06-09  Jim Meyering  <meyering@redhat.com>
76589         add more guards around definition of ACE_-related code
76590         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
76591         ALLOW and ACE_OWNER are also defined.
76593 2008-06-08  Bruno Haible  <bruno@clisp.org>
76595         * lib/acl-internal.h: Add me as co-author.
76596         * lib/file-has-acl.c: Likewise.
76597         * lib/set-mode-acl.c: Likewise.
76598         * lib/copy-acl.c: Likewise.
76600 2008-06-08  Bruno Haible  <bruno@clisp.org>
76602         Add support for AIX ACLs.
76603         * lib/acl-internal.h (acl_nontrivial): New declaration.
76604         * lib/file-has-acl.c (acl_nontrivial): New function.
76605         (file_has_acl): Add implementation using AIX 4 ACL API.
76606         * lib/set-mode-acl.c (qset_acl): Likewise.
76607         * lib/copy-acl.c (qcopy_acl): Likewise.
76609 2008-06-08  Bruno Haible  <bruno@clisp.org>
76611         Add support for HP-UX ACLs.
76612         * lib/acl-internal.h (acl_nontrivial): New declaration.
76613         * lib/file-has-acl.c (acl_nontrivial): New function.
76614         (file_has_acl): Add implementation using HP-UX 11 ACL API.
76615         * lib/set-mode-acl.c (qset_acl): Likewise.
76616         * lib/copy-acl.c (qcopy_acl): Likewise.
76618 2008-06-08  Bruno Haible  <bruno@clisp.org>
76620         Add support for Cygwin ACLs.
76621         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
76622         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
76623         the chmod_or_fchmod call.
76624         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
76626 2008-06-08  Bruno Haible  <bruno@clisp.org>
76628         Fix bug with setuid modes in Solaris 10+ code.
76629         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
76630         succeeded, when the mode contains some special bits.
76632 2008-06-08  Bruno Haible  <bruno@clisp.org>
76634         Add support for Solaris 7..10 ACLs.
76635         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
76636         declarations.
76637         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
76638         functions.
76639         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
76640         * lib/set-mode-acl.c (qset_acl): Likewise.
76641         * lib/copy-acl.c (qcopy_acl): Likewise.
76643 2008-06-08  Bruno Haible  <bruno@clisp.org>
76645         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
76646         declaration.
76647         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
76648         (acl_access_nontrivial): Remove MacOS X case.
76649         (file_has_acl): Use acl_extended_nontrivial.
76650         * lib/copy-acl.c (qcopy_acl): Likewise.
76652 2008-06-08  Bruno Haible  <bruno@clisp.org>
76654         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
76656 2008-06-08  Jim Meyering  <meyering@redhat.com>
76658         * modules/acl (Maintainer): Add Bruno Haible.
76660 2008-06-07  Bruno Haible  <bruno@clisp.org>
76662         Improve support for Tru64 ACLs.
76663         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
76664         ACL on OSF/1.
76666 2008-06-07  Bruno Haible  <bruno@clisp.org>
76668         Add support for MacOS X ACLs.
76669         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
76670         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
76671         * lib/set-mode-acl.c (qset_acl): Likewise.
76672         * lib/copy-acl.c (qcopy_acl): Likewise.
76674 2008-06-07  Bruno Haible  <bruno@clisp.org>
76676         Fix memory leak introduced on 2008-05-22.
76677         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
76678         use.
76680 2008-06-07  Bruno Haible  <bruno@clisp.org>
76682         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
76683         to construct an empty ACL.
76685 2008-06-07  Bruno Haible  <bruno@clisp.org>
76687         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
76688         precisely.
76689         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
76691 2008-06-07  Bruno Haible  <bruno@clisp.org>
76693         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
76694         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
76696 2008-06-07  Bruno Haible  <bruno@clisp.org>
76698         * doc/posix-functions/_setjmp.texi: Explain the use of this function
76699         regardless of POSIX.
76700         * doc/posix-functions/_longjmp.texi: Likewise.
76701         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
76702         SystemV platform in this case.
76704 2008-06-06  Eric Blake  <ebb9@byu.net>
76706         Document abort() bugs.
76707         * doc/posix-functions/abort.texi (abort): Mention anomalies.
76709         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
76710         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
76711         sigsetjmp.
76712         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
76713         siglongjmp, but only as a macro.
76714         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
76715         is obsolete.
76716         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
76718         Tweak documentation to cover cygwin argz bugs.
76719         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
76720         argz bug fix; no code change needed since no cygwin releases
76721         occurred between the last fix and the bug being tested.
76722         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
76723         module and recently fixed cygwin bugs.
76724         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
76725         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
76726         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
76727         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
76728         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
76729         Likewise.
76730         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
76731         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
76732         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
76733         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
76734         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
76735         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
76736         Likewise.
76738         Avoid gcc warning on cygwin.
76739         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
76740         !ACL_NO_TRIVIAL]: Avoid unused variable.
76742 2008-06-05  Eric Blake  <ebb9@byu.net>
76744         Be tolerant of UNKNOWN version in gnulib-tool test dir.
76745         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
76746         git-version-gen fails to come up with a version.
76747         Reported by Simon Josefsson.
76749 2008-06-05  Jim Meyering  <meyering@redhat.com>
76750             Paul Eggert  <eggert@cs.ucla.edu>
76752         utimens.c: work around a probable Linux kernel bug
76753         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
76754         appears to be a kernel bug that causes utimensat to return 280
76755         instead of 0, indicating success.
76757 2008-06-04  Bruno Haible  <bruno@clisp.org>
76759         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
76760         2008-06-01 commit.
76762 2008-06-04  Bruno Haible  <bruno@clisp.org>
76764         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
76765         * lib/file-has-acl.c (acl_access_nontrivial): New function.
76766         (file_has_acl): Use it. Save errno afterwards.
76767         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
76769 2008-06-03  Bruno Haible  <bruno@clisp.org>
76771         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
76772         draft code. Simplify #ifs.
76773         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
76774         Put Solaris code after POSIX-draft code. Fix comments regarding
76775         Solaris 10, HP-UX. Mention Cygwin.
76776         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
76778 2008-06-03  Eric Blake  <ebb9@byu.net>
76780         Provide fallback for older kernels.
76781         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
76782         Provide runtime fallback if kernel lacks support.
76783         Reported by Mike Frysinger.
76785 2008-06-02  Bruno Haible  <bruno@clisp.org>
76787         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
76788         it exists.
76790 2008-06-02  Bruno Haible  <bruno@clisp.org>
76792         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
76793         * lib/copy-acl.c (qcopy_acl): Update comment.
76795 2008-06-02  Bruno Haible  <bruno@clisp.org>
76797         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
76798         like ACL APIs.
76800 2008-06-02  Bruno Haible  <bruno@clisp.org>
76802         * tests/test-file-has-acl.sh: Use different code for Cygwin.
76803         * tests/test-set-mode-acl.sh: Likewise.
76804         * tests/test-copy-acl.sh: Likewise.
76805         * tests/test-copy-file.sh: Likewise.
76807 2008-06-02  Bruno Haible  <bruno@clisp.org>
76809         * tests/test-file-has-acl.sh: Remove unused code.
76811 2008-06-01  Bruno Haible  <bruno@clisp.org>
76813         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
76814         (copy_acl): Just a wrapper around qcopy_acl that emits the error
76815         messages.
76816         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
76818 2008-06-01  Bruno Haible  <bruno@clisp.org>
76820         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
76821         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
76822         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
76823         APIs.
76824         * modules/acl-tests (configure.ac): Remove tests now contained in
76825         m4/acl.m4.
76827 2008-06-02  Jim Meyering  <meyering@redhat.com>
76829         announce-gen: use a better key-server host name
76830         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
76831         it may be more consistently reliable.  Suggested by Werner Koch
76832         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
76834 2008-06-01  Bruno Haible  <bruno@clisp.org>
76836         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
76837         Reported by Voroskoi Andras <voroskoi@gmail.com>.
76839 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
76841         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
76843 2008-06-01  Bruno Haible  <bruno@clisp.org>
76845         New ACL tests.
76846         * tests/test-file-has-acl.sh: New file.
76847         * tests/test-file-has-acl.c: New file.
76848         * tests/test-set-mode-acl.sh: New file.
76849         * tests/test-set-mode-acl.c: New file.
76850         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
76851         * tests/test-copy-acl.c: New file.
76852         * modules/acl-tests: New file, based on modules/copy-file-tests.
76853         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
76854         (Depends-on): Add acl-tests.
76855         (configure.ac): Remove checks.
76856         (Makefile.am): Don't create test-sameacls program here any more.
76858 2008-06-01  Bruno Haible  <bruno@clisp.org>
76860         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
76861         * tests/test-sameacls.c: Include progname.h.
76862         (main): Invoke set_program_name. Portability fixes for MacOS X,
76863         Solaris, HP-UX.
76865 2008-06-01  Bruno Haible  <bruno@clisp.org>
76867         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
76868         function.
76869         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
76871 2008-06-01  Bruno Haible  <bruno@clisp.org>
76873         * modules/rpmatch (Depends-on): Add strdup.
76875 2008-06-01  Bruno Haible  <bruno@clisp.org>
76877         * lib/pipe.c: Include unistd-safer.h.
76878         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
76879         * modules/pipe (Depends-on): Add unistd-safer.
76881 2008-05-30  Simon Josefsson  <simon@josefsson.org>
76883         * modules/autobuild (configure.ac): Call AB_INIT.
76885 2008-05-30  Simon Josefsson  <simon@josefsson.org>
76887         * tests/test-getaddrinfo.c: Don't print debug messages by default.
76888         Suggested by Bruno Haible <bruno@clisp.org>.
76890 2008-05-30  Simon Josefsson  <simon@josefsson.org>
76892         * tests/test-base64.c: Cast size_t to unsigned long when invoking
76893         printf.  Use %lu instead of %d.  Reported by Bruno Haible
76894         <bruno@clisp.org>.
76896 2008-05-29  Eric Blake  <ebb9@byu.net>
76898         Prefer new POSIX 200x interfaces over futimesat.
76899         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
76900         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
76901         when available.
76902         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
76904 2008-05-28  Bruno Haible  <bruno@clisp.org>
76906         * modules/stpcpy (License): Change to LGPLv2+.
76907         Requested by David Lutterkort <dlutter@redhat.com>.
76909 2008-05-27  Bruno Haible  <bruno@clisp.org>
76911         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
76912         current mingw.
76913         Reported by Jose E. Marchesi <jemarch@gnu.org>.
76915 2008-05-27  Bruno Haible  <bruno@clisp.org>
76917         * modules/iconv_open (Link): New section, from module 'iconv'.
76918         * modules/striconv (Link): Likewise.
76919         * modules/striconveh (Link): Likewise.
76920         * modules/xstriconv (Link): Likewise.
76921         * modules/unicodeio (Link): Likewise.
76922         * modules/propername (Link): Likewise.
76923         Reported by Jim Meyering.
76925 2008-05-26  Jim Meyering  <meyering@redhat.com>
76927         sha256: do not artificially restrict buffer length to be < 2^32
76928         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
76929         uint32_t to size_t.
76930         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
76931         to match.
76933         avoid unaligned access errors, e.g., on sparc
76934         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
76935         direct access through a possibly-unaligned uint64* pointer.
76936         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
76937         direct access through a possibly-unaligned uint32* pointer.
76938         Prompted by this patch from Tom "spot" Callaway:
76939         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
76941         sha512.c: fix typo in comment
76942         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
76944 2008-05-25  Bruno Haible  <bruno@clisp.org>
76946         * lib/set-mode-acl.c: Renamed from lib/acl.c.
76947         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
76948         (Makefile.am): Update lib_SOURCES.
76950 2008-05-25  Bruno Haible  <bruno@clisp.org>
76952         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
76954 2008-05-25  Jim Meyering  <meyering@redhat.com>
76956         useless-if-before-free: freed expr may have white-space differences
76957         * build-aux/useless-if-before-free: Recognize cases in which the
76958         freed expression differs from the tested one in embedded white
76959         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
76960         $1 was used, so we can't make any regexp shy.  Improved tests now
76961         detect this.
76963         useless-if-before-free: accept white space in the expression.
76964         * build-aux/useless-if-before-free: For now, any white space
76965         in the expression must be identical in the free argument.
76967         useless-if-before-free: efficiency tweak
76968         * build-aux/useless-if-before-free: Make the expression-matching
76969         regexp "shy".
76970         Make the *outer* regexp shy, not the expr-matching one.
76972         update code-in-comment to accept cast of free arg
76973         * build-aux/useless-if-before-free: Update regexp.
76975 2008-05-25  Bruno Haible  <bruno@clisp.org>
76977         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
76978         * modules/copy-file-tests (Files, Makefile.am): Update.
76979         * tests/test-copy-file.c (func_test_copy): Update.
76981 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
76983         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
76985 2008-05-23  Bruno Haible  <bruno@clisp.org>
76987         Improve support for ACLs on OSF/1.
76988         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
76989         Remove fallback for unknown flavors of ACLs.
76991 2008-05-22  Bruno Haible  <bruno@clisp.org>
76993         Add support for ACLs on OSF/1.
76994         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
76995         replacements.
76996         (acl_free_text): New macro fallback.
76997         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
76998         acl_free.
76999         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
77000         acl_free_text function. Require AC_C_INLINE.
77002 2008-05-22  Bruno Haible  <bruno@clisp.org>
77004         Make copy_acl work on MacOS X 10.5.
77005         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
77006         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
77007         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
77008         If MODE_INSIDE_ACL, don't assume that every system has the same text
77009         representation for ACLs as FreeBSD.
77010         * lib/copy-acl.c (copy_acl): Add support for platforms with
77011         !MODE_INSIDE_ACL.
77012         * lib/file-has-acl.c (file_has_acl): Likewise.
77013         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
77014         FreeBSD, MacOS X, or IRIX, respectively.
77016 2008-05-22  Bruno Haible  <bruno@clisp.org>
77018         * lib/acl.h: Don't include <sys/acl.h>.
77019         (GETACLCNT): Move fallback to lib/acl-internal.h.
77020         * lib/acl-internal.h: Include <sys/acl.h> here.
77021         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
77023 2008-05-22  Bruno Haible  <bruno@clisp.org>
77025         Split off copy_acl function to separate file.
77026         * lib/copy-acl.c: New file, extracted from lib/acl.c.
77027         * lib/acl.c (copy_acl): Moved function to separate file.
77028         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
77029         * modules/acl (Files): Add lib/copy-acl.c.
77030         (Makefiles.am): Augment lib_SOURCES.
77032 2008-05-22  Bruno Haible  <bruno@clisp.org>
77034         * modules/copy-file-tests: New file.
77035         * tests/test-copy-file.sh: New file.
77036         * tests/test-copy-file.c: New file.
77037         * tests/test-copy-file-sameacls.c: New file.
77039 2008-05-22  Eric Blake  <ebb9@byu.net>
77041         Avoid gcc warning.
77042         * tests/test-memcmp.c (main): Pass NULL indirectly.
77044 2008-05-21  Bruno Haible  <bruno@clisp.org>
77046         Add reference doc about ACLs.
77047         * doc/acl-resources.txt: New file.
77048         * doc/acl-cygwin.txt: New file.
77050 2008-05-21  Bruno Haible  <bruno@clisp.org>
77052         Avoid one more warning from gcc.
77053         * lib/vasnprintf.c (IF_LINT): Update comments.
77054         (VASNPRINTF): Use it also for the 'prefix' array initializer.
77056 2008-05-21  Jim Meyering  <meyering@redhat.com>
77058         avoid a warning from gcc
77059         * lib/vasnprintf.c (IF_LINT): Define.
77060         (scale10_round_decimal_long_double):
77061         Use it to avoid a "may be used uninitialized" warning.
77062         (scale10_round_decimal_double): Likewise.
77064 2008-05-21  Simon Josefsson  <simon@josefsson.org>
77066         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
77067         declared.
77069 2008-05-20  Bruno Haible  <bruno@clisp.org>
77071         * tests/test-memcmp.c (main): Test also the sign of the result. Test
77072         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
77074 2008-05-20  Simon Josefsson  <simon@josefsson.org>
77076         * modules/memcmp-tests: New file.
77077         * tests/test-memcmp.c: New file.
77079 2008-05-19  Bruno Haible  <bruno@clisp.org>
77081         * modules/propername (Notice, configure.ac): Put quoted "..." into
77082         --keyword option.
77083         * lib/propername.h: Update comments accordingly.
77084         Reported by Eric Blake.
77086 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
77088         * modules/getpass-gnu (Depends-on): Add fseeko.
77090 2008-05-19  Simon Josefsson  <simon@josefsson.org>
77092         * modules/base64-tests: New file.
77094 2008-05-19  Bo Borgerson  <gigabo@gmail.com>
77096         * lib/base64.c (base64_decode_ctx): If a decode context structure
77097         was passed in use it to ignore newlines.  If a context structure
77098         was _not_ passed in, continue to treat newlines as garbage (this
77099         is the historical behavior).  Formerly base64_decode.
77100         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
77101         takes a decode context structure.
77102         * lib/base64.h (base64_decode): Macro for four-argument calls.
77103         (base64_decode_alloc): Likewise.
77104         * lib/base64.c (base64_decode_ctx): If a decode context structure
77105         was passed in use it to ignore newlines.  If a context structure
77106         was _not_ passed in, continue to treat newlines as garbage (this
77107         is the historical behavior).  Formerly base64_decode.
77108         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
77109         takes a decode context structure.
77110         * lib/base64.h (base64_decode): Macro for four-argument calls.
77111         (base64_decode_alloc): Likewise.
77113 2008-05-19  Jim Meyering  <meyering@redhat.com>
77115         avoid a warning from gcc
77116         * lib/trim.c (IF_LINT): Define.
77117         (trim2): Use it to avoid a "may be used uninitialized" warning.
77119         Fix doc typo.
77120         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
77122 2008-05-19  Bruno Haible  <bruno@clisp.org>
77124         * doc/glibc-functions/getpass.texi: Document limits of other
77125         implementations.
77127 2008-05-19  Simon Josefsson  <simon@josefsson.org>
77128             Bruno Haible <bruno@clisp.org>
77130         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
77132 2008-05-18  Bruno Haible  <bruno@clisp.org>
77134         * modules/propername: New file, from GNU gettext.
77135         * lib/propername.h: New file, from GNU gettext.
77136         * lib/propername.c: New file, from GNU gettext.
77137         * MODULES.html.sh (Internationalization functions): Add propername.
77139 2008-05-16  Jim Meyering  <meyering@redhat.com>
77140             Bruno Haible  <bruno@clisp.org>
77142         Avoid some warnings from "gcc -Wshadow".
77143         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
77145 2008-05-15  Eric Blake  <ebb9@byu.net>
77147         Extend previous patch to cygwin 1.7.0.
77148         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
77149         fast implementation in cygwin >= 1.7.0.
77150         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
77151         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
77153 2008-05-15  Bruno Haible  <bruno@clisp.org>
77155         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
77156         implementation in glibc >= 2.9.
77157         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
77158         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
77160 2008-05-15  Bruno Haible  <bruno@clisp.org>
77162         * MODULES.html.sh (Internationalization functions): Remove linebreak.
77163         (Unicode string functions): Add unilbrk/*.
77164         Reported by Karl Berry.
77166 2008-05-15  Eric Blake  <ebb9@byu.net>
77168         Fix violation of <stdbool.h> replacement in regex.
77169         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
77170         * lib/regexec.c (re_search_internal): Likewise.
77171         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
77173 2008-05-15  Jim Meyering  <meyering@redhat.com>
77175         avoid distracting test output when git or cvs is not found
77176         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
77177         * tests/test-vc-list-files-git.sh: Likewise.
77179 2008-05-15  Eric Blake  <ebb9@byu.net>
77181         Glibc finally accepted the memmem speedup code, bugzilla #5514.
77182         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
77183         glibc version.
77184         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
77185         * doc/posix-functions/strstr.texi (strstr): Likewise.
77186         * lib/str-two-way.h (MAX): Sychronize with glibc.
77188 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
77190         * lib/regcomp.c (optimize_utf8): Add a note on why we test
77191         opr.ctx_type.
77192         (calc_first): Initialize constraint field.
77193         (duplicate_node_closure): Use it instead of special casing ANCHORS.
77194         Fix grammar.
77195         (duplicate_node): Merge constraint field for all node types.
77196         (calc_eclosure_iter): Look at constraint field for all node types.
77197         * lib/regex_internal.c (create_cd_newstate): Don't look at
77198         opr.ctx_type.
77200 2008-05-14  Bruno Haible  <bruno@clisp.org>
77202         Help GCC to do better code generation.
77203         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
77204         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
77205         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
77206         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
77207         Declare with attribute 'malloc' if supported.
77209 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
77211         use "echo STR|wc -c" rather than unportable "expr length STR"
77212         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
77213         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
77215 2008-05-14  Jim Meyering  <meyering@redhat.com>
77217         use dd ibs=$n count=1 ... rather than less-portable head -c$n
77218         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
77219         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
77220         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
77221         via Collin Lasse.
77223 2008-05-14  Eric Blake  <ebb9@byu.net>
77225         Avoid quadratic growth in gl_LIBSOURCES.
77226         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
77227         Suggested by Bruno Haible.
77229         Test xmemdup0.
77230         * modules/xmemdup0-tests: New file.
77231         * tests/test-xmemdup0.c: Likewise.
77233 2008-05-13  Eric Blake  <ebb9@byu.net>
77235         Split xmemdup0 into its own module.
77236         * modules/xmemdup0: New file.
77237         * lib/xmemdup0.h: Likewise.
77238         * lib/xmemdup0.c: Likewise.
77239         * MODULES.html.sh (Memory management functions): Add xmemdup0.
77240         * lib/xalloc.h (xmemdup0): Remove.
77241         * lib/xmalloc.c (xmemdup0): Likewise.
77243 2008-05-13  Eric Blake  <ebb9@byu.net>
77244             Bruno Haible  <bruno@clisp.org>
77246         Reduce number of forks required during autoconf.
77247         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
77248         and gl_LIBSOURCES_DIR.
77249         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
77250         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
77251         m4_syscmd per file.
77252         <m4_foreach_w>: Move...
77253         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
77255 2008-05-13  Eric Blake  <ebb9@byu.net>
77257         * gnulib-tool: Fix various comment typos.
77259 2008-05-12  Bruno Haible  <bruno@clisp.org>
77261         Tailor the linebreaking algorithm.
77262         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
77264 2008-05-12  Bruno Haible  <bruno@clisp.org>
77266         Update to Unicode 5.0.0.
77267         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
77268         LBP_JV, LBP_JT. Redistribute values.
77269         (unilbrk_table): Change size.
77270         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
77271         Unicode TR#14 rev. 22.
77272         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
77273         LBP_JV, LBP_JT. Redistribute values.
77274         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
77275         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
77276         Update.
77277         * lib/unilbrk/lbrkprop1.h: Regenerated.
77278         * lib/unilbrk/lbrkprop2.h: Regenerated.
77279         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
77280         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
77281         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
77282         Likewise.
77283         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
77284         Likewise.
77285         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
77286         result.
77287         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
77288         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
77289         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
77290         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
77291         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
77292         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
77294 2008-05-11  Bruno Haible  <bruno@clisp.org>
77296         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
77298 2008-05-11  Bruno Haible  <bruno@clisp.org>
77300         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
77301         * modules/unilbrk/gen-lbrk: New file.
77303 2008-05-11  Bruno Haible  <bruno@clisp.org>
77305         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
77306         * m4/sha512.m4 (gl_SHA512): Likewise.
77308 2008-05-11  Jim Meyering  <meyering@redhat.com>
77310         New modules: crypto/sha256, crypto/sha512 (from coreutils)
77311         * modules/crypto/sha256: New file.
77312         * modules/crypto/sha512: Likewise.
77313         * lib/sha256.c: Likewise.
77314         * lib/sha256.h: Likewise.
77315         * lib/sha512.c: Likewise.
77316         * lib/sha512.h: Likewise.
77317         * lib/u64.h: Likewise.
77318         * m4/sha256.m4: Likewise.
77319         * m4/sha512.m4: Likewise.
77320         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
77322 2008-05-10  Bruno Haible  <bruno@clisp.org>
77324         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
77325         (Input/Output <stdio.h>): Add xprintf.
77326         (Signal handling <signal.h>): Add strsignal.
77327         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
77328         (Core language properties): Add func.
77329         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
77330         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
77331         strings.
77332         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
77333         (Input/output): New section.
77334         (File system functions): Add openat-die, stat-macros.
77335         (Networking functions): Add sockets.
77336         (Unicode string functions): Add unictype/*.
77337         (Support for building libraries and executables): Add gperf.
77338         (Support for building documentation): Add agpl-3.0.
77339         (Misc): Add nocrash.
77341 2008-05-10  Bruno Haible  <bruno@clisp.org>
77343         * modules/unictype/gen-ctype: New file.
77345 2008-05-10  Jim Meyering  <meyering@redhat.com>
77347         Make chdir-safer.c more efficient on a system with no symlinks.
77348         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
77349         also if ELOOP is zero.  Suggested by Bruno Haible.
77351         Make chdir-safer.c slightly safer.
77352         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
77353         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
77355         Avoid compile failure on systems without ELOOP (like mingw).
77356         * lib/chdir-safer.c (ELOOP): Define if not already defined.
77357         Reported by Bruno Haible.
77359 2008-05-10  Bruno Haible  <bruno@clisp.org>
77361         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
77362         (is_utf8_encoding): Use a case-insensitive comparison.
77363         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
77364         streq.
77366 2008-05-10  Bruno Haible  <bruno@clisp.org>
77368         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
77369         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
77370         * lib/unilbrk/ulc-common.h (iconv_string_length,
77371         iconv_string_keeping_offsets): Remove declarations.
77372         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
77373         Don't include <iconv.h>, streq.h, xsize.h.
77374         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
77375         conversion.
77376         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
77377         <iconv.h>, streq.h, xsize.h.
77378         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
77379         conversion.
77380         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
77381         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
77382         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
77383         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
77385 2008-05-10  Bruno Haible  <bruno@clisp.org>
77387         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
77388         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
77390         * modules/unilbrk/u32-width-linebreaks-tests: New file.
77391         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
77393         * modules/unilbrk/u16-width-linebreaks-tests: New file.
77394         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
77396         * modules/unilbrk/u8-width-linebreaks-tests: New file.
77397         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
77399         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
77400         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
77402         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
77403         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
77405         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
77406         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
77408         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
77409         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
77411 2008-05-10  Bruno Haible  <bruno@clisp.org>
77413         Split up 'linebreak' module.
77414         * lib/unilbrk.h: New file, based on lib/linebreak.h.
77415         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
77416         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
77417         modifications.
77418         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
77419         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
77420         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
77421         lib/linebreak.c.
77422         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
77423         lib/linebreak.c.
77424         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
77425         lib/linebreak.c.
77426         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
77427         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
77428         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
77429         lib/linebreak.c.
77430         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
77431         lib/linebreak.c.
77432         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
77433         lib/linebreak.c.
77434         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
77435         lib/linebreak.c.
77436         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
77437         lib/linebreak.c.
77438         * modules/unilbrk/base: New file.
77439         * modules/unilbrk/tables: New file.
77440         * modules/unilbrk/u8-possible-linebreaks: New file.
77441         * modules/unilbrk/u16-possible-linebreaks: New file.
77442         * modules/unilbrk/u32-possible-linebreaks: New file.
77443         * modules/unilbrk/ulc-common: New file.
77444         * modules/unilbrk/ulc-possible-linebreaks: New file.
77445         * modules/unilbrk/u8-width-linebreaks: New file.
77446         * modules/unilbrk/u16-width-linebreaks: New file.
77447         * modules/unilbrk/u32-width-linebreaks: New file.
77448         * modules/unilbrk/ulc-width-linebreaks: New file.
77449         * lib/linebreak.h: Remove file.
77450         * lib/linebreak.c: Remove file.
77451         * m4/linebreak.m4: Remove file.
77452         * modules/linebreak: Remove file.
77453         * NEWS: Mention the changes.
77455 2008-05-09  Eric Blake  <ebb9@byu.net>
77457         Add xmemdup0.
77458         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
77459         implementation.
77460         * lib/xmalloc.c (xmemdup0): New C implementation.
77462 2008-05-08  Bruno Haible  <bruno@clisp.org>
77464         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
77466 2008-05-07  Eric Blake  <ebb9@byu.net>
77468         Support cross-compilation of <wctype.h>.
77469         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
77470         AC_CACHE_CHECK.
77472 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
77474         * build-aux/vc-list-files: Add support for bzr.
77476 2008-05-03  Jim Meyering  <meyering@redhat.com>
77478         avoid failed assertion with tight malloc
77479         * tests/test-getndelim2.c: Correct an off-by-one assertion.
77481 2008-05-03  Simon Josefsson  <simon@josefsson.org>
77483         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
77484         are needed from arpa/inet.h.
77485         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
77486         Reported by Bruno Haible.
77488 2008-05-02  Jim Meyering  <meyering@redhat.com>
77490         avoid compilation error on FreeBSD 6
77491         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
77493 2008-05-01  Jim Meyering  <meyering@redhat.com>
77495         useless-if-before-free: correct --help's exit status description
77496         * build-aux/useless-if-before-free (usage): Like grep, exit 0
77497         for one or more matches, etc.  Reported by Bruno Haible.
77499         vc-list-files: make the stand-alone gnulib test work
77500         * modules/vc-list-files-tests (configure.ac):
77501         Define and AC_SUBST abs_aux_dir.
77502         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
77503         $(abs_top_srcdir) to each script and having each of them
77504         duplicate the work of setting PATH, set PATH here, using
77505         the new variable, abs_aux_dir instead.
77506         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
77507         * tests/test-vc-list-files-git.sh: Likewise.
77508         Reported by Bruno Haible.
77510 2008-05-01  Bruno Haible  <bruno@clisp.org>
77512         * lib/getndelim2.c (getndelim2): Fix newsize computation during
77513         reallocation. Rename 'done' to 'found_delimiter'.
77515 2008-05-01  Jim Meyering  <meyering@redhat.com>
77517         vc-list-files: accommodate /bin/sh like the one from Solaris 10
77518         * build-aux/vc-list-files: Use `...`, not $(...).
77520 2008-04-30  Jim Meyering  <meyering@redhat.com>
77522         add tests for vc-list-files
77523         * modules/vc-list-files-tests: New module.
77524         * tests/test-vc-list-files-cvs.sh: New file.
77525         * tests/test-vc-list-files-git.sh: New file.
77527         avoid a warning from gcc
77528         * lib/getndelim2.c (IF_LINT): Define.
77529         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
77531         vc-list-files: work properly with build-aux/cvsu, too
77532         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
77533         to all cvs-based clauses.
77535         vc-list-files: work properly in the CVS+awk case, too
77536         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
77538         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
77539         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
77540         take more than one file argument, so .  Add quotes, just in case $dir
77541         ever contains a shell meta-character.  Prompted by Soren Hansen in
77542         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
77544 2008-04-29  Eric Blake  <ebb9@byu.net>
77546         Optimize getndelim2 to use block operations when possible.
77547         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
77548         freadseek, and memchr2.
77549         * lib/getndelim2.c (getndelim2): Use them for block reads.
77551 2008-04-29  Bruno Haible  <bruno@clisp.org>
77553         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
77554         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
77555         * modules/inet_ntop (Depends-on): Add extensions.
77556         * modules/inet_pton (Depends-on): Likewise.
77557         Reported by Simon Josefsson.
77559 2008-04-29  Jim Meyering  <meyering@redhat.com>
77561         When the is more than one match in a block, match all of them.
77562         * build-aux/useless-if-before-free: Iterate through each block
77563         until there are no more matches.
77565         Fix broken useless-if-before-free script.
77566         * build-aux/useless-if-before-free: Fix typo: missing "?" after
77567         the expression to match cast of argument to free-like function.
77569 2008-04-29  Eric Blake  <ebb9@byu.net>
77571         Use new header.
77572         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
77574 2008-04-29  Jim Meyering  <meyering@redhat.com>
77576         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
77577         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
77578         by gnulib to exist and to declare e.g., inet_ntop.
77579         Don't include "inet_ntop.h", now removed.
77581         * m4/arpa_inet_h.m4: Remove trailing blanks.
77583 2008-04-29  Eric Blake  <ebb9@byu.net>
77585         Silence valgrind on safe reads beyond potential array bounds.
77586         * lib/rawmemchr.valgrind: New file.
77587         * lib/strchrnul.valgrind: Likewise.
77588         * modules/rawmemchr (Files): Distribute new file.
77589         * modules/strchrnul (Files): Likewise.
77590         Suggested by Bruno Haible.
77592 2008-04-29  Bruno Haible  <bruno@clisp.org>
77594         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
77595         (inet_ntop, inet_pton): Change portability warning's wording.
77596         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
77597         Invoke gl_CHECK_NEXT_HEADERS.
77598         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
77599         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
77600         set ARPA_INET_H.
77601         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
77602         * modules/arpa_inet (Description): No longer only for systems that
77603         lack it.
77604         (Depends-on): Add include_next.
77605         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
77606         HAVE_ARPA_INET_H.
77608 2008-04-29  Jim Meyering  <meyering@redhat.com>
77610         * modules/mkdir (License): Re-license as LGPLv2+.
77612 2008-04-29  Bruno Haible  <bruno@clisp.org>
77614         * modules/rawmemchr (Maintainer): Set to Eric.
77615         * modules/strchrnul (Maintainer): Likewise.
77617 2008-04-29  Simon Josefsson  <simon@josefsson.org>
77619         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
77620         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
77622         * modules/arpa_inet (arpa/inet.h): Use them.
77624 2008-04-28  Eric Blake  <ebb9@byu.net>
77626         Test getndelim2.
77627         * modules/getndelim2-tests: New file.
77628         * tests/test-getndelim2.c: Likewise.
77629         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
77630         stream.
77631         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
77633         * MODULES.html.sh: Document new module.
77635 2008-04-20  Bruno Haible  <bruno@clisp.org>
77637         * lib/c-stack.c (die): Use raise.
77638         * modules/c-stack (Depends-on): Add raise.
77640 2008-04-28  Bruno Haible  <bruno@clisp.org>
77642         Expect rpmatch to be declared.
77643         * lib/yesno.c (rpmatch): Remove declaration.
77645         Declare rpmatch.
77646         * lib/stdlib.in.h (rpmatch): New declaration.
77647         * lib/rpmatch.c: Include <stdlib.h> first.
77648         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
77649         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
77650         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
77651         HAVE_RPMATCH.
77652         * modules/rpmatch (Depends-on): Add stdlib, extensions.
77653         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
77654         (Include): Set to <stdlib.h>.
77655         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
77656         HAVE_RPMATCH.
77657         * NEWS: Document the change.
77659 2008-04-28  Bruno Haible  <bruno@clisp.org>
77661         Change rpmatch to use nl_langinfo when appropriate.
77662         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
77663         (N_): New macro.
77664         (localized_pattern): New function/macro.
77665         (try): Remove match, nomatch arguments. Copy the pattern into safe
77666         memory before caching it.
77667         (rpmatch): Use localized_pattern. Add translator comments.
77668         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
77669         Suggested by Eric Blake.
77670         * modules/rpmatch (Depends-on): Add stdbool.
77672 2008-04-28  Eric Blake  <ebb9@byu.net>
77674         Add rawmemchr module, matching glibc.
77675         * modules/string (Makefile.am): New indicator.
77676         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
77677         * lib/string.in.h (rawmemchr): Declare when appropriate.
77678         * modules/rawmemchr: New file.
77679         * m4/rawmemchr.m4: Likewise.
77680         * lib/rawmemchr.c: Likewise.
77681         * modules/rawmemchr-tests: Likewise.
77682         * tests/test-rawmemchr.c: Likewise.
77683         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
77684         module.
77685         * modules/strchrnul (Depends-on): Add rawmemchr.
77686         * lib/strchrnul.c (strchrnul): Optimize a corner case.
77688         Whitespace cleanup.
77689         * tests/test-strchrnul.c: Reindent.
77690         * lib/strchrnul.c: Likewise.
77692         Optimize and test strchrnul.
77693         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
77694         * modules/strchrnul-tests: New file.
77695         * tests/test-strchrnul.c: Likewise.
77697         Remove intprops dependency.
77698         * modules/memchr (Depends-on): Remove intprops.
77699         * modules/memrchr (Depends-on): Likewise.
77700         * modules/memchr2 (Depends-on): Likewise.
77701         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
77702         * lib/memrchr.c (__memrchr): Likewise.
77703         * lib/memrchr2.c (memchr2): Likewise.
77704         Reported by Simon Josefsson.
77706 2008-04-28  Simon Josefsson  <simon@josefsson.org>
77708         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
77709         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77711 2008-04-28  Simon Josefsson  <simon@josefsson.org>
77713         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
77715         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
77717         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
77719         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
77720         declarations.
77721         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
77723         * m4/inet_pton.m4: Don't check for header files.
77725         * m4/inet_ntop.m4: Don't check for header files.
77727 2008-04-28  Simon Josefsson  <simon@josefsson.org>
77729         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
77730         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
77731         trigger for cygwin).
77732         Reported by Bruno Haible  <bruno@clisp.org>.
77734 2008-04-28  Bruno Haible  <bruno@clisp.org>
77736         * doc/posix-functions/strdup.texi: Mention mingw problem.
77738 2008-04-27  Bruno Haible  <bruno@clisp.org>
77740         * modules/stat-time-tests (Depends-on): Add sleep.
77741         * tests/test-stat-time.c (force_unlink): New function.
77742         (cleanup): Use it.
77743         (test_mtime): Remove the ctime related tests.
77744         (test_ctime): New function, containing the ctime related tests.
77745         (main): Call test_ctime, except on native Windows platforms.
77747 2008-04-27  Bruno Haible  <bruno@clisp.org>
77749         * lib/rpmatch.c (rpmatch): Add some comments.
77750         Reported by James Youngman <jay@gnu.org>.
77752 2008-04-27  Bruno Haible  <bruno@clisp.org>
77754         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
77755         quiet NaNs.
77757 2008-04-27  Bruno Haible  <bruno@clisp.org>
77759         Make test-yesno.sh work on mingw.
77760         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
77761         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
77762         (main): Set stdin to binary mode.
77763         * modules/yesno-tests (Depends-on): Add binary-io.
77765 2008-04-27  Bruno Haible  <bruno@clisp.org>
77767         Fix 'isfinite' on x86, x86_64, ia64 platforms.
77768         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
77769         argument that lie outside the IEEE 854 domain.
77770         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
77771         (gl_ISFINITE): Use it.
77772         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
77774 2008-04-27  Bruno Haible  <bruno@clisp.org>
77776         Allow local renaming in config.h.
77777         * lib/memrchr.c (memrchr): Don't undefine outside libc.
77779 2008-04-27  Bruno Haible  <bruno@clisp.org>
77781         * lib/memchr.c (__memchr): Change type of 'i'.
77782         * lib/memchr2.c (memchr2): Likewise.
77784 2008-04-26  Eric Blake  <ebb9@byu.net>
77785         and Bruno Haible  <bruno@clisp.org>
77787         Optimize and test memrchr.
77788         * modules/memrchr (Depends-on): Add intprops.
77789         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
77790         * modules/memrchr-tests: New file.
77791         * tests/test-memrchr.c: New file.
77793 2008-04-26  Bruno Haible  <bruno@clisp.org>
77795         Add tentative support for DragonFly BSD.
77796         * lib/stdio-impl.h: Add macros for DragonFly BSD.
77797         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
77798         fp.
77799         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
77800         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
77801         * lib/fpurge.c (fpurge): Likewise.
77802         * lib/freadable.c (freaadable): Likewise.
77803         * lib/freadahead.c (freadahead): Likewise.
77804         * lib/freading.c (freading): Likewise.
77805         * lib/freadptr.c (freadptr): Likewise.
77806         * lib/freadseek.c (freadptrinc): Likewise.
77807         * lib/fseeko.c (fseeko): Likewise.
77808         * lib/fseterr.c (fseterr): Likewise.
77809         * lib/fwritable.c (fwritable): Likewise.
77810         * lib/fwriting.c (fwriting): Likewise.
77812 2008-04-26  Bruno Haible  <bruno@clisp.org>
77814         * lib/stdio-impl.h: New file.
77815         * lib/fbufmode.c: Include stdio-impl.h.
77816         (fbufmode): Use fp_, remove redundant #defines.
77817         * lib/fflush.c: Include stdio-impl.h.
77818         (clear_ungetc_buffer): Remove redundant #defines.
77819         * lib/fpurge.c: Include stdio-impl.h.
77820         (fpurge): Remove redundant #defines.
77821         * lib/freadable.c: Include stdio-impl.h.
77822         (freadable): Remove redundant #defines.
77823         * lib/freadahead.c: Include stdio-impl.h.
77824         (freadahead): Remove redundant #defines.
77825         * lib/freading.c: Include stdio-impl.h.
77826         (freading): Remove redundant #defines.
77827         * lib/freadptr.c: Include stdio-impl.h.
77828         (freadptr): Remove redundant #defines.
77829         * lib/freadseek.c: Include stdio-impl.h.
77830         (freadptrinc): Remove redundant #defines.
77831         * lib/fseeko.c: Include stdio-impl.h.
77832         (rpl_fseeko): Remove redundant #defines.
77833         * lib/fseterr.c: Include stdio-impl.h.
77834         (fseterr): Remove redundant #defines.
77835         * lib/fwritable.c: Include stdio-impl.h.
77836         (fwritable: Remove redundant #defines.
77837         * lib/fwriting.c: Include stdio-impl.h.
77838         (fwriting): Remove redundant #defines.
77839         * modules/fbufmode (Files): Add lib/stdio-impl.h.
77840         * modules/fflush (Files): Likewise.
77841         * modules/fpurge (Files): Likewise.
77842         * modules/freadable (Files): Likewise.
77843         * modules/freadahead (Files): Likewise.
77844         * modules/freading (Files): Likewise.
77845         * modules/freadptr (Files): Likewise.
77846         * modules/freadseek (Files): Likewise.
77847         * modules/fseeko (Files): Likewise.
77848         * modules/fseterr (Files): Likewise.
77849         * modules/fwritable (Files): Likewise.
77850         * modules/fwriting (Files): Likewise.
77852 2008-04-26  Bruno Haible  <bruno@clisp.org>
77854         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
77855         restore_seek_optimization, update_fpos_cache): New functions, extracted
77856         from rpl_fflush.
77857         (rpl_fflush): Use them.
77858         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
77859         (gl_REPLACE_FFLUSH): Use it.
77861 2008-04-26  Bruno Haible  <bruno@clisp.org>
77863         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
77864         on Solaris.
77865         * tests/test-xstrtoimax.sh: Likewise.
77866         * tests/test-xstrtoumax.sh: Likewise.
77867         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77869 2008-04-26  Bruno Haible  <bruno@clisp.org>
77871         * modules/memchr-tests: New file.
77872         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
77874 2008-04-26  Eric Blake  <ebb9@byu.net>
77875             Bruno Haible  <bruno@clisp.org>
77877         * lib/memchr.c: Include intprops.h.
77878         (__memchr): Optimize parallel detection of matching bytes. Rename local
77879         variables. Add explanatory comments.
77881 2008-04-26  Bruno Haible  <bruno@clisp.org>
77883         Fix module 'memchr', broken since 2000-10-28.
77884         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
77886 2008-04-26  Bruno Haible  <bruno@clisp.org>
77888         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
77889         comments.
77891 2008-04-25  Eric Blake  <ebb9@byu.net>
77893         Use native fstatat on cygwin 1.7.0.
77894         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
77895         first.
77897 2008-04-23  Eric Blake  <ebb9@byu.net>
77899         Improve memchr2 performance.
77900         * lib/memchr2.c (memchr2): Further optimize parallel detection of
77901         NUL bytes.
77902         * modules/memchr2 (Depends-on): Use intprops.h.
77904 2008-04-23  Simon Josefsson  <simon@josefsson.org>
77906         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
77907         an inline function instead of a CPP macro.  Patch by Ben Pfaff
77908         <blp@cs.stanford.edu>.
77910 2008-04-23  Simon Josefsson  <simon@josefsson.org>
77912         * lib/arpa_inet.in.h: New file.
77914         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
77915         (Makefile.am): Sed in substitute header file.
77917         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
77918         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
77920         * modules/inet_ntop (configure.ac): Use
77921         gl_ARPA_INET_MODULE_INDICATOR.
77923         * modules/inet_pton (configure.ac): Use
77924         gl_ARPA_INET_MODULE_INDICATOR.
77926 2008-04-22  Jim Meyering  <meyering@redhat.com>
77928         * modules/verify (License): Re-license as LGPLv2+.
77930 2008-04-22  Simon Josefsson  <simon@josefsson.org>
77932         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
77933         parameter to void* as per POSIX standard (MinGW uses char*).
77935 2008-04-21  Bruno Haible  <bruno@clisp.org>
77937         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
77938         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
77939         Define to replacements if REPLACE_ISWCNTRL is 1.
77940         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
77941         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
77942         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
77943         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
77944         what it fixes.
77945         * doc/posix-functions/iswalpha.texi: Likewise.
77946         * doc/posix-functions/iswblank.texi: Likewise.
77947         * doc/posix-functions/iswcntrl.texi: Likewise.
77948         * doc/posix-functions/iswdigit.texi: Likewise.
77949         * doc/posix-functions/iswgraph.texi: Likewise.
77950         * doc/posix-functions/iswlower.texi: Likewise.
77951         * doc/posix-functions/iswprint.texi: Likewise.
77952         * doc/posix-functions/iswpunct.texi: Likewise.
77953         * doc/posix-functions/iswspace.texi: Likewise.
77954         * doc/posix-functions/iswupper.texi: Likewise.
77955         * doc/posix-functions/iswxdigit.texi: Likewise.
77956         Reported by Alain Guibert.
77958 2008-04-21  Bruno Haible  <bruno@clisp.org>
77960         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
77961         Patch by Alain Guibert.
77963 2008-04-21  Bruno Haible  <bruno@clisp.org>
77965         Fix test failures on mingw.
77966         * tests/test-xstrtol.c (print_no_progname): New function.
77967         (main): Install it in error_print_progname hook.
77968         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
77969         * tests/test-xstrtoimax.sh: Likewise.
77970         * tests/test-xstrtoumax.sh: Likewise.
77972 2008-04-21  Bruno Haible  <bruno@clisp.org>
77974         Fix test failure on mingw.
77975         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
77977 2008-04-21  Bruno Haible  <bruno@clisp.org>
77979         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
77980         Actually assign a value.
77982 2008-04-20  Bruno Haible  <bruno@clisp.org>
77984         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
77985         take 2.
77986         * lib/canonicalize.c (canonicalize_file_name): Elide if the
77987         'canonicalize-lgpl' module is also used.
77988         * lib/canonicalize-lgpl.c: Undo last change.
77989         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
77991 2008-04-20  Bruno Haible  <bruno@clisp.org>
77993         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
77994         config.h. Provide _mkdir based fallback for mingw.
77995         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
77996         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
77997         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
77998         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
77999         rather than defining mkdir in config.h.
78000         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
78001         (gl_SYS_STAT_H_DEFAULTS): New macro.
78002         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
78003         HAVE_IO_H any more.
78004         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
78005         HAVE_DECL_MKDIR and HAVE_IO_H.
78007 2008-04-20  Bruno Haible  <bruno@clisp.org>
78009         * lib/isapipe.c: Port to native Windows platforms.
78011 2008-04-20  Bruno Haible  <bruno@clisp.org>
78013         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
78015 2008-04-21  Eric Blake  <ebb9@byu.net>
78017         Work around preprocessors that don't handle UINTMAX_MAX.
78018         * lib/memchr2.c (memchr2): Avoid embedded #if.
78019         Reported by Alain Guibert, fix suggested by Bruno Haible.
78021 2008-04-21  Simon Josefsson  <simon@josefsson.org>
78023         * doc/posix-functions/strftime.texi (strftime): Explain better
78024         Windows incompatibility.  Suggested by Micah Cowan
78025         <micah@cowan.name>.
78027 2008-04-20  Bruno Haible  <bruno@clisp.org>
78029         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
78030         unistr/u8-mblen.
78032 2008-04-20  Bruno Haible  <bruno@clisp.org>
78034         Fix test failure on platforms with non-GNU iconv.
78035         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
78036         (U_TO_U8): Use it, rather than u16_to_u8.
78037         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
78038         units at the end of the input string.
78039         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
78041 2008-04-20  Bruno Haible  <bruno@clisp.org>
78043         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
78044         when the resulting length is 0.
78045         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
78047 2008-04-20  Bruno Haible  <bruno@clisp.org>
78049         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
78050         works.
78051         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
78053 2008-04-20  Bruno Haible  <bruno@clisp.org>
78055         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
78056         * modules/tsearch-tests (configure.ac): Test for initstate function.
78058 2008-04-20  Bruno Haible  <bruno@clisp.org>
78060         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
78061         for nlink_t if missing.
78062         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
78064 2008-04-19  Bruno Haible  <bruno@clisp.org>
78066         Work around snprintf bug on Linux libc5.
78067         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
78068         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
78069         gl_SNPRINTF_SIZE1.
78070         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
78071         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
78072         that test failed.
78073         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
78074         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
78075         * modules/snprintf (Files): Add m4/printf.m4.
78076         * modules/vsnprintf (Files): Likewise.
78077         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
78078         * doc/posix-functions/vsnprintf.texi: Likewise.
78080 2008-04-19  Bruno Haible  <bruno@clisp.org>
78082         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
78083         from 0.0058 to less than 10^-7.
78085 2008-04-19  Bruno Haible  <bruno@clisp.org>
78087         Fix rounding when a precision is given.
78088         * lib/vasnprintf.c (is_borderline): New function.
78089         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
78090         9...9x.
78091         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
78092         %e, %g.
78093         * tests/test-vasprintf-posix.c (test_function): Likewise.
78094         * tests/test-snprintf-posix.h (test_function): Likewise.
78095         * tests/test-sprintf-posix.h (test_function): Likewise.
78096         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
78097         * tests/test-printf-posix.h (test_function): Likewise.
78098         * tests/test-printf-posix.output: Update.
78099         Reported by John Darrington <john@darrington.wattle.id.au> via
78100         Ben Pfaff <blp@cs.stanford.edu>.
78102 2008-04-18  Simon Josefsson  <simon@josefsson.org>
78104         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
78105         Suggested by Bruno Haible <bruno@clisp.org>.
78107 2008-04-17  Bruno Haible  <bruno@clisp.org>
78109         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
78110         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
78111         implementation.
78112         Patch by Bruce Merry <bmerry@gmail.com>.
78114 2008-04-17  Simon Josefsson  <simon@josefsson.org>
78116         * doc/posix-functions/strftime.texi (strftime): Mention that %e
78117         doesn't work under Windows.
78119 2008-04-16  Bruno Haible  <bruno@clisp.org>
78121         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
78122         New macros.
78123         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
78124         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
78125         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
78126         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
78127         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
78128         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
78129         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
78130         macros.
78131         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
78132         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
78133         Northern Sotho, Uighur.
78135 2008-04-16  Bruno Haible  <bruno@clisp.org>
78137         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
78138         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
78139         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
78140         Reported by Daniel Bergström <daniel@octocode.com>.
78142 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
78143             Bruno Haible  <bruno@clisp.org>
78145         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
78146         function.
78147         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
78148         New functions, mostly extracted from gl_locale_name_default.
78149         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
78151 2008-04-16  Eric Blake  <ebb9@byu.net>
78153         Adjust strtod detection to catch glibc 2.7 bug.
78154         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
78155         Reported by John Gatewood Ham.
78157 2008-04-16  Bruno Haible  <bruno@clisp.org>
78159         Add tentative support for Linux libc5.
78160         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
78161         * lib/fpurge.c (fpurge): Likewise.
78162         * lib/freadable.c (freadable): Likewise.
78163         * lib/freadahead.c (freadahead): Likewise.
78164         * lib/freading.c (freading): Likewise.
78165         * lib/freadptr.c (freadptr): Likewise.
78166         * lib/freadseek.c (freadptrinc): Likewise.
78167         * lib/fseeko.c (rpl_fseeko): Likewise.
78168         * lib/fseterr.c (fseterr): Likewise.
78169         * lib/fwritable.c (fwritable): Likewise.
78170         * lib/fwriting.c (fwriting): Likewise.
78171         Reported by Alain Guibert <alguibert+bts@free.fr>.
78173 2008-04-15  Bruno Haible  <bruno@clisp.org>
78175         * modules/mathl (configure.ac): Define module indicator.
78177 2008-04-15  Bruno Haible  <bruno@clisp.org>
78179         * lib/logl.c (logl): Remove unused variables.
78181 2008-04-15  Bruno Haible  <bruno@clisp.org>
78183         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
78184         fails.
78186 2008-04-15  Bruno Haible  <bruno@clisp.org>
78188         * lib/trim.c (trim2): Fix argument of isspace() macro.
78190 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
78192         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
78193         to 0.
78194         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
78196 2008-04-14  Bruno Haible  <bruno@clisp.org>
78198         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
78199         AC_LANG_PROGRAM argument.
78200         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
78201         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
78202         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
78203         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
78204         * m4/math_h.m4 (gl_MATH_H): Likewise.
78205         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
78206         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
78207         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
78208         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
78209         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
78210         * m4/regex.m4 (gl_REGEX): Likewise.
78211         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
78212         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
78213         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
78214         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
78215         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
78216         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
78217         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
78218         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
78220 2008-04-14  Jim Meyering  <meyering@redhat.com>
78222         test-strtod: fix typos: s/abs/fabs/
78223         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
78225 2008-04-13  Bruno Haible  <bruno@clisp.org>
78227         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
78228         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
78229         module is also used and while not building the reloc-wrapper.
78231 2008-04-13  Bruno Haible  <bruno@clisp.org>
78233         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
78235 2008-04-13  Bruno Haible  <bruno@clisp.org>
78237         Fix AIX compilation failure introduced on 2008-04-02.
78238         * tests/test-frexp.c (exp): Undefine before redefining.
78239         * tests/test-frexpl.c (exp): Likewise.
78241 2008-04-13  Bruno Haible  <bruno@clisp.org>
78243         Work around a HP-UX stdio bug.
78244         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
78245         * tests/test-ftello.c (main): Likewise.
78246         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
78247         * doc/posix-functions/ftello.texi: Likewise.
78249 2008-04-13  Bruno Haible  <bruno@clisp.org>
78251         Make test-signbit pass on HP-UX/hppa.
78252         * tests/test-signbit.c (minus_zerol): New variable.
78253         (test_signbitl): Use it.
78255 2008-04-13  Bruno Haible  <bruno@clisp.org>
78257         Make truncl work on OSF/1 4.0.
78258         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
78259         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
78260         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
78261         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
78262         HAVE_DECL_TRUNCL.
78263         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
78264         HAVE_DECL_TRUNCL.
78265         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
78267 2008-04-13  Bruno Haible  <bruno@clisp.org>
78269         * lib/unictype.h: Remove trailing comma from enumeration definitions.
78271 2008-04-13  Bruno Haible  <bruno@clisp.org>
78273         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
78274         expression, so as to avoid HP-UX 11 cc compiler bug.
78276 2008-04-13  Bruno Haible  <bruno@clisp.org>
78278         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
78280 2008-04-13  Bruno Haible  <bruno@clisp.org>
78282         * lib/git-merge-changelog.c: Remove empty declaration outside of
78283         functions.
78285 2008-04-13  Bruno Haible  <bruno@clisp.org>
78287         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
78289 2008-04-13  Bruno Haible  <bruno@clisp.org>
78291         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
78292         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
78293         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
78294         also if it exists but lacks definitions of the SHUT_* macros.
78295         * modules/sys_socket (Description): Update.
78296         Reported by Elbert Pol <e.pol@chello.nl>.
78298 2008-04-13  Bruno Haible  <bruno@clisp.org>
78300         * lib/localcharset.c (OS2): Don't redefine if already defined.
78301         Reported by Elbert Pol <e.pol@chello.nl>.
78303 2008-04-13  Bruno Haible  <bruno@clisp.org>
78305         * lib/binary-io.h [__EMX__]: Include <io.h>.
78306         Reported by Elbert Pol <e.pol@chello.nl>.
78308 2008-04-12  Bruno Haible  <bruno@clisp.org>
78310         * lib/fpucw.h: Enable the definitions also for x86_64.
78311         Needed for NetBSD/x86_64.
78312         Reported by Thomas Klausner <tk@giga.or.at>.
78314 2008-04-12  Bruno Haible  <bruno@clisp.org>
78316         * tests/test-strtod.c: Include isnand.h.
78317         (main): Use isnand instead of isnan.
78318         Reported by Jim Meyering.
78320 2008-04-12  Bruno Haible  <bruno@clisp.org>
78322         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
78323         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
78325 2008-04-12  Jim Meyering  <meyering@redhat.com>
78327         * m4/math_h.m4 (gl_MATH_H): Fix typos.
78329 2008-04-12  Bruno Haible  <bruno@clisp.org>
78331         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
78332         Reported by Elbert Pol <e.pol@chello.nl>.
78334 2008-04-12  Eric Blake  <ebb9@byu.net>
78336         Work around Solaris 10 math.h bug.
78337         * m4/math_h.m4 (gl_MATH_H): Check for bug.
78338         (gl_MATH_H_DEFAULTS): Set up default.
78339         * modules/math (Makefile.am): Replace new indicators.
78340         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
78341         * tests/test-math.c (main): Test this.
78342         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
78343         * doc/posix-headers/math.texi (math.h): Mention bug.
78344         Reported by Nelson H. F. Beebe and Jim Meyering.
78346 2008-04-11  Bruno Haible  <bruno@clisp.org>
78348         Adapt to future versions of Apple GCC.
78349         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
78350         Reported by Peter O'Gorman <peter@pogma.com>.
78352 2008-04-11  Bruno Haible  <bruno@clisp.org>
78354         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
78356 2008-04-11  Bruno Haible  <bruno@clisp.org>
78358         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
78360         * modules/getaddrinfo-tests (Makefile.am): Define
78361         test_getaddrinfo_LDADD.
78363 2008-04-11  Bruno Haible  <bruno@clisp.org>
78365         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
78366         (init): Fix syntax error.
78367         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
78368         is declared.
78370 2008-04-11  Bruno Haible  <bruno@clisp.org>
78372         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
78373         * modules/glob (Depends-on): Add stdbool.
78375 2008-04-11  Bruno Haible  <bruno@clisp.org>
78377         * lib/trim.c: Include <string.h>.
78379 2008-04-11  Eric Blake  <ebb9@byu.net>
78381         Avoid compile failure on OS/2.
78382         * lib/regex_internal.h (internal_function): Disable optimization
78383         on OS/2 (__EMX__), where it caused compiler error.
78384         Reported by Elbert Pol.
78386 2008-04-11  Bruno Haible  <bruno@clisp.org>
78388         Flush the standard error stream before aborting. Needed on mingw.
78389         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
78390         * tests/test-array_list.c (ASSERT): Likewise.
78391         * tests/test-array_oset.c (ASSERT): Likewise.
78392         * tests/test-avltree_list.c (ASSERT): Likewise.
78393         * tests/test-avltree_oset.c (ASSERT): Likewise.
78394         * tests/test-avltreehash_list.c (ASSERT): Likewise.
78395         * tests/test-binary-io.c (ASSERT): Likewise.
78396         * tests/test-byteswap.c (ASSERT): Likewise.
78397         * tests/test-c-ctype.c (ASSERT): Likewise.
78398         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
78399         * tests/test-c-strcasestr.c (ASSERT): Likewise.
78400         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
78401         * tests/test-c-strstr.c (ASSERT): Likewise.
78402         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
78403         * tests/test-canonicalize.c (ASSERT): Likewise.
78404         * tests/test-carray_list.c (ASSERT): Likewise.
78405         * tests/test-ceilf1.c (ASSERT): Likewise.
78406         * tests/test-ceilf2.c (ASSERT): Likewise.
78407         * tests/test-ceill.c (ASSERT): Likewise.
78408         * tests/test-count-one-bits.c (ASSERT): Likewise.
78409         * tests/test-fbufmode.c (ASSERT): Likewise.
78410         * tests/test-fflush2.c (ASSERT): Likewise.
78411         * tests/test-floorf1.c (ASSERT): Likewise.
78412         * tests/test-floorf2.c (ASSERT): Likewise.
78413         * tests/test-floorl.c (ASSERT): Likewise.
78414         * tests/test-fopen.c (ASSERT): Likewise.
78415         * tests/test-fpending.c (ASSERT): Likewise.
78416         * tests/test-fprintf-posix.c (ASSERT): Likewise.
78417         * tests/test-fpurge.c (ASSERT): Likewise.
78418         * tests/test-freadable.c (ASSERT): Likewise.
78419         * tests/test-freadahead.c (ASSERT): Likewise.
78420         * tests/test-freading.c (ASSERT): Likewise.
78421         * tests/test-freadptr.c (ASSERT): Likewise.
78422         * tests/test-freadptr2.c (ASSERT): Likewise.
78423         * tests/test-freadseek.c (ASSERT): Likewise.
78424         * tests/test-freopen.c (ASSERT): Likewise.
78425         * tests/test-frexp.c (ASSERT): Likewise.
78426         * tests/test-frexpl.c (ASSERT): Likewise.
78427         * tests/test-fseek.c (ASSERT): Likewise.
78428         * tests/test-fseeko.c (ASSERT): Likewise.
78429         * tests/test-fstrcmp.c (ASSERT): Likewise.
78430         * tests/test-ftell.c (ASSERT): Likewise.
78431         * tests/test-ftello.c (ASSERT): Likewise.
78432         * tests/test-func.c (ASSERT): Likewise.
78433         * tests/test-fwritable.c (ASSERT): Likewise.
78434         * tests/test-fwriting.c (ASSERT): Likewise.
78435         * tests/test-getdelim.c (ASSERT): Likewise.
78436         * tests/test-getline.c (ASSERT): Likewise.
78437         * tests/test-i-ring.c (ASSERT): Likewise.
78438         * tests/test-iconv-utf.c (ASSERT): Likewise.
78439         * tests/test-iconv.c (ASSERT): Likewise.
78440         * tests/test-isfinite.c (ASSERT): Likewise.
78441         * tests/test-isnand.c (ASSERT): Likewise.
78442         * tests/test-isnanf.c (ASSERT): Likewise.
78443         * tests/test-isnanl.h (ASSERT): Likewise.
78444         * tests/test-ldexpl.c (ASSERT): Likewise.
78445         * tests/test-linked_list.c (ASSERT): Likewise.
78446         * tests/test-linkedhash_list.c (ASSERT): Likewise.
78447         * tests/test-localename.c (ASSERT): Likewise.
78448         * tests/test-lseek.c (ASSERT): Likewise.
78449         * tests/test-mbscasecmp.c (ASSERT): Likewise.
78450         * tests/test-mbscasestr1.c (ASSERT): Likewise.
78451         * tests/test-mbscasestr2.c (ASSERT): Likewise.
78452         * tests/test-mbscasestr3.c (ASSERT): Likewise.
78453         * tests/test-mbscasestr4.c (ASSERT): Likewise.
78454         * tests/test-mbschr.c (ASSERT): Likewise.
78455         * tests/test-mbscspn.c (ASSERT): Likewise.
78456         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
78457         * tests/test-mbspbrk.c (ASSERT): Likewise.
78458         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
78459         * tests/test-mbsrchr.c (ASSERT): Likewise.
78460         * tests/test-mbsspn.c (ASSERT): Likewise.
78461         * tests/test-mbsstr1.c (ASSERT): Likewise.
78462         * tests/test-mbsstr2.c (ASSERT): Likewise.
78463         * tests/test-mbsstr3.c (ASSERT): Likewise.
78464         * tests/test-memchr2.c (ASSERT): Likewise.
78465         * tests/test-memmem.c (ASSERT): Likewise.
78466         * tests/test-open.c (ASSERT): Likewise.
78467         * tests/test-printf-frexp.c (ASSERT): Likewise.
78468         * tests/test-printf-frexpl.c (ASSERT): Likewise.
78469         * tests/test-printf-posix.c (ASSERT): Likewise.
78470         * tests/test-quotearg.c (ASSERT): Likewise.
78471         * tests/test-rbtree_list.c (ASSERT): Likewise.
78472         * tests/test-rbtree_oset.c (ASSERT): Likewise.
78473         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
78474         * tests/test-round1.c (ASSERT): Likewise.
78475         * tests/test-roundf1.c (ASSERT): Likewise.
78476         * tests/test-roundl.c (ASSERT): Likewise.
78477         * tests/test-signbit.c (ASSERT): Likewise.
78478         * tests/test-sleep.c (ASSERT): Likewise.
78479         * tests/test-snprintf-posix.c (ASSERT): Likewise.
78480         * tests/test-snprintf.c (ASSERT): Likewise.
78481         * tests/test-sprintf-posix.c (ASSERT): Likewise.
78482         * tests/test-stat-time.c (ASSERT): Likewise.
78483         * tests/test-strcasestr.c (ASSERT): Likewise.
78484         * tests/test-strerror.c (ASSERT): Likewise.
78485         * tests/test-striconv.c (ASSERT): Likewise.
78486         * tests/test-striconveh.c (ASSERT): Likewise.
78487         * tests/test-striconveha.c (ASSERT): Likewise.
78488         * tests/test-strsignal.c (ASSERT): Likewise.
78489         * tests/test-strstr.c (ASSERT): Likewise.
78490         * tests/test-strtod.c (ASSERT): Likewise.
78491         * tests/test-trunc1.c (ASSERT): Likewise.
78492         * tests/test-trunc2.c (ASSERT): Likewise.
78493         * tests/test-truncf1.c (ASSERT): Likewise.
78494         * tests/test-truncf2.c (ASSERT): Likewise.
78495         * tests/test-truncl.c (ASSERT): Likewise.
78496         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
78497         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
78498         * tests/test-vasnprintf.c (ASSERT): Likewise.
78499         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
78500         * tests/test-vasprintf.c (ASSERT): Likewise.
78501         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
78502         * tests/test-vprintf-posix.c (ASSERT): Likewise.
78503         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
78504         * tests/test-vsnprintf.c (ASSERT): Likewise.
78505         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
78506         * tests/test-wcwidth.c (ASSERT): Likewise.
78507         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
78508         * tests/test-xprintf-posix.c (ASSERT): Likewise.
78509         * tests/test-xvasprintf.c (ASSERT): Likewise.
78510         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
78511         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
78512         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
78513         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
78514         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
78515         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
78516         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
78517         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
78518         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
78519         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
78520         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
78521         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
78522         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
78523         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
78524         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
78525         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
78526         * tests/unictype/test-block_list.c (ASSERT): Likewise.
78527         * tests/unictype/test-block_of.c (ASSERT): Likewise.
78528         * tests/unictype/test-block_test.c (ASSERT): Likewise.
78529         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
78530         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
78531         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
78532         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
78533         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
78534         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
78535         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
78536         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
78537         * tests/unictype/test-combining.c (ASSERT): Likewise.
78538         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
78539         * tests/unictype/test-digit.c (ASSERT): Likewise.
78540         * tests/unictype/test-mirror.c (ASSERT): Likewise.
78541         * tests/unictype/test-numeric.c (ASSERT): Likewise.
78542         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
78543         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
78544         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
78545         * tests/unictype/test-scripts.c (ASSERT): Likewise.
78546         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
78547         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
78548         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
78549         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
78550         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
78551         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
78552         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
78553         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
78554         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
78555         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
78556         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
78557         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
78558         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
78559         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
78560         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
78561         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
78562         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
78563         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
78564         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
78565         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
78566         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
78567         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
78568         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
78569         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
78570         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
78571         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
78572         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
78573         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
78574         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
78575         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
78576         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
78577         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
78578         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
78579         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
78580         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
78581         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
78582         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
78583         Reported by Eric Blake.
78585 2008-04-11  Bruno Haible  <bruno@clisp.org>
78587         * lib/wchar.in.h: Tweak comment.
78589 2008-04-11  Bruno Haible  <bruno@clisp.org>
78591         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
78592         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
78593         gl_COMMON.
78594         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
78596 2008-04-11  Bruno Haible  <bruno@clisp.org>
78598         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
78600 2008-04-11  Simon Josefsson  <simon@josefsson.org>
78602         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
78603         of attempting to use non-existing /dev/*random.  Based on patch
78604         from Adam Strzelecki <ono@java.pl> in
78605         <http://lists.gnu.org/r/help-gsasl/2008-02/msg00000.html>.
78607 2008-04-08  Bruno Haible  <bruno@clisp.org>
78609         Add tentative support for emx+gcc.
78610         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
78611         * lib/fpurge.c (fpurge): Likewise.
78612         * lib/freadable.c (freadable): Likewise.
78613         * lib/freadahead.c (freadahead): Likewise.
78614         * lib/freading.c (freading): Likewise.
78615         * lib/freadptr.c (freadptr): Likewise.
78616         * lib/freadseek.c (freadptrinc): Likewise.
78617         * lib/fseeko.c (rpl_fseeko): Likewise.
78618         * lib/fseterr.c (fseterr): Likewise.
78619         * lib/fwritable.c (fwritable): Likewise.
78620         * lib/fwriting.c (fwriting): Likewise.
78621         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
78623 2008-04-09  Eric Blake  <ebb9@byu.net>
78625         Avoid some autoconf warnings.
78626         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
78627         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
78628         * m4/afs.m4 (gl_AFS): Likewise.
78629         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
78630         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
78631         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
78632         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
78633         (gl_INTEGER_TYPE_SUFFIX): Likewise.
78634         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
78635         (AC_CHECK_DECLS_ONCE): Likewise.
78636         Rename file...
78637         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
78638         gnulib-tool requires autoconf 2.59 or better.
78639         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
78641 2008-04-08  Eric Blake  <ebb9@byu.net>
78643         Use 'git describe --match' if present (added in git 1.5.5).
78644         * build-aux/git-version-gen: Limit result to tags that match 'v*'
78645         if possible.
78647 2008-04-08  Bruno Haible  <bruno@clisp.org>
78649         Add tentative support for OpenServer.
78650         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
78651         _ptr, _cnt.
78652         * lib/fpurge.c (fpurge): Likewise.
78653         * lib/freadable.c (freadable): Likewise.
78654         * lib/freadahead.c (freadahead): Likewise.
78655         * lib/freading.c (freading): Likewise.
78656         * lib/freadptr.c (freadptr): Likewise.
78657         * lib/freadseek.c (freadptrinc): Likewise.
78658         * lib/fseeko.c (rpl_fseeko): Likewise.
78659         * lib/fseterr.c (fseterr): Likewise.
78660         * lib/fwritable.c (fwritable): Likewise.
78661         * lib/fwriting.c (fwriting): Likewise.
78662         Reported by Roger Cornelius <rac@tenzing.org> and
78663         Brian K. White <brian@aljex.com>.
78665 2008-04-06  Jim Meyering  <meyering@redhat.com>
78667         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
78669 2008-04-06  Bruno Haible  <bruno@clisp.org>
78671         Avoid possible error with non-ASCII bytes in UTF-8 locales.
78672         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
78673         * tests/test-printf-posix.sh: Likewise.
78674         * tests/test-vfprintf-posix.sh: Likewise.
78675         * tests/test-vprintf-posix.sh: Likewise.
78676         * tests/test-xprintf-posix.sh: Likewise.
78678 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78680         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
78681         hide error from 'ls', needed on OS/2.
78682         Report by Elbert Pol <elbert.pol@gmail.com>.
78684 2008-04-04  Eric Blake  <ebb9@byu.net>
78686         Make test-fseeko.c failures meaningful.
78687         * tests/test-fseeko.c: Print line number on failure.
78688         * tests/test-fseek.c: Likewise.
78689         Reported by Nelson H. F. Beebe.
78691         Improve strtod bug detection check.
78692         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
78693         required for Solaris 10.
78694         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
78696 2008-04-04  Bruno Haible  <bruno@clisp.org>
78698         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
78699         by m4/setenv.m4.
78701 2008-04-03  Eric Blake  <ebb9@byu.net>
78703         Ensure sane .version contents.
78704         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
78705         version string.
78706         * build-aux/git-version-gen: Improve documentation.
78708         Make GNU make output nicer.
78709         * top/GNUmakefile [!_have-Makefile]: Add dependency on
78710         MAKECMDGOALS to enforce message for all command line targets.  Set
78711         srcdir for use in maint.mk.
78713         Another maintainer tweak.
78714         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
78715         a target that regenerates version.
78717 2008-04-03  Jim Meyering  <meyering@redhat.com>
78719         vc-list-files: don't cause coreutils "make po-check" failure
78720         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
78722 2008-04-03  Eric Blake  <ebb9@byu.net>
78724         Allow VPATH usage of vc-list-files.
78725         * build-aux/vc-list-files (scriptversion): Add timestamp.
78726         (options): Add --help, --version, -C.
78727         (CVS): Support installed cvsu.
78729 2008-04-02  Bruno Haible  <bruno@clisp.org>
78731         Avoid some "statement with no effect" warnings from gcc.
78732         * tests/test-wctype.c (main): Explicitly ignore unused values.
78733         Reported by Jim Meyering.
78735 2008-04-02  Jim Meyering  <meyering@redhat.com>
78737         Avoid some warnings from "gcc -Wshadow".
78738         * tests/test-frexp.c (exp): Define to a different identifier.
78739         * tests/test-frexpl.c (exp): Likewise.
78741 2008-04-03  Jim Meyering  <meyering@redhat.com>
78743         bootstrap: remove dangling *.[ch] symlinks from lib
78744         * build-aux/bootstrap [dangling symlink removal]: Move find's
78745         -depth option to precede all others, to avoid a warning.
78746         Remove *.[ch] files too, and from "$source_base" (usually lib/).
78748 2008-04-02  Bruno Haible  <bruno@clisp.org>
78750         Avoid some warnings from "gcc -Wshadow".
78751         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
78752         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
78753         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
78754         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
78755         Reported by Jim Meyering.
78757 2008-04-01  Bruno Haible  <bruno@clisp.org>
78759         Fix test to work on IRIX 6.5 with cc.
78760         * tests/test-math.c (numeric_equal): New function.
78761         (main): Use it.
78763 2008-04-01  Bruno Haible  <bruno@clisp.org>
78765         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
78767 2008-04-01  Bruno Haible  <bruno@clisp.org>
78769         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
78770         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
78771         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
78772         (Depends-on): Remove math.
78774         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
78775         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
78776         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
78777         (Depends-on): Remove math.
78779         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
78780         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
78781         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
78782         (Depends-on): Remove math.
78783         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
78784         (Depends-on): Remove math.
78786         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
78787         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
78788         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
78789         (Depends-on): Remove math.
78790         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
78791         (Depends-on): Remove math.
78793         * tests/test-round1.c: Include nan.h.
78794         (main): Use NaNd instead of NAN.
78795         * modules/round-tests (Files): Add tests/nan.h.
78797         * tests/test-trunc1.c: Include nan.h.
78798         (main): Use NaNd instead of NAN.
78799         * modules/trunc-tests (Files): Add tests/nan.h.
78801         * tests/test-roundf1.c: Include nan.h.
78802         (main): Use NaNf instead of NAN.
78803         * modules/roundf-tests (Files): Add tests/nan.h.
78805         * tests/test-truncf1.c: Include nan.h.
78806         (main): Use NaNf instead of NAN.
78807         * modules/truncf-tests (Files): Add tests/nan.h.
78809         * tests/test-ceilf1.c: Include nan.h.
78810         (main): Use NaNf instead of NAN.
78811         * modules/ceilf-tests (Files): Add tests/nan.h.
78813         * tests/test-floorf1.c: Include nan.h.
78814         (main): Use NaNf instead of NAN.
78815         * modules/floorf-tests (Files): Add tests/nan.h.
78817         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
78818         (main): Use NaNf instead of NAN.
78819         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
78821         * tests/test-isnand.c: Include nan.h instead of <math.h>.
78822         (main): Use NaNd instead of NAN.
78823         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
78825         * tests/test-frexp.c: Include nan.h.
78826         (main): Use NaNd instead of NAN.
78827         * modules/frexp-tests (Files): Add tests/nan.h.
78829         * lib/isnan.c: Don't include <math.h>.
78830         (FUNC): Don't use NAN macro.
78831         * modules/isnand-nolibm (Depends-on): Remove math.
78832         * modules/isnanf-nolibm (Depends-on): Remove math.
78833         * modules/isnanl (Depends-on): Remove math.
78834         * modules/isnanl-nolibm (Depends-on): Remove math.
78836         * tests/nan.h: New file.
78838 2008-04-01  Eric Blake  <ebb9@byu.net>
78840         Fix typos.
78841         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
78842         values to be the right type.
78844         For now, cater to gnulib strtod inaccuracies.
78845         * tests/test-strtod.c (main): Allow 1-ulp error on expected
78846         fractional results.  While not as nice from a QoI perspective, it
78847         is a quicker patch than correctly implementing decimal to binary
78848         rounding.
78850 2008-03-31  Eric Blake  <ebb9@byu.net>
78852         Guarantee a definition of NAN.
78853         * lib/math.in.h (NAN): Define if missing.
78854         * tests/test-math.c (main): Test it.
78855         * doc/posix-headers/math.texi (math.h): Document this.
78856         * lib/isnan.c (rpl_isnand): Use it.
78857         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
78858         * tests/test-floorf1.c (NaN): Likewise.
78859         * tests/test-frexp.c (NaN): Likewise.
78860         * tests/test-isnand.c (NaN): Likewise.
78861         * tests/test-isnanf.c (NaN): Likewise.
78862         * tests/test-round1.c (NaN): Likewise.
78863         * tests/test-roundf1.c (NaN): Likewise.
78864         * tests/test-snprintf-posix.h (NaN): Likewise.
78865         * tests/test-sprintf-posix.h (NaN): Likewise.
78866         * tests/test-trunc1.c (NaN): Likewise.
78867         * tests/test-truncf1.c (NaN): Likewise.
78868         * tests/test-vasnprintf-posix.c (NaN): Likewise.
78869         * tests/test-vasprintf-posix.c (NaN): Likewise.
78870         * modules/isnand-nolibm (Depends-on): Add math.
78871         * modules/isnanf-nolibm (Depends-on): Likewise.
78872         * modules/isnanl (Depends-on): Likewise.
78873         * modules/isnanl-nolibm (Depends-on): Likewise.
78874         * modules/snprintf-posix-tests (Depends-on): Likewise.
78875         * modules/sprintf-posix-tests (Depends-on): Likewise.
78876         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
78877         * modules/vsprintf-posix-tests (Depends-on): Likewise.
78878         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
78879         * modules/vasprintf-posix-tests (Depends-on): Likewise.
78881 2008-03-31  Bruno Haible  <bruno@clisp.org>
78883         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
78884         * doc/posix-functions/strtod.texi: Likewise.
78886 2008-03-31  Bruno Haible  <bruno@clisp.org>
78888         * tests/test-strtod.c (main): Don't use C99 syntax.
78890 2008-03-31  Bruno Haible  <bruno@clisp.org>
78892         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
78893         Reported by Eric Blake.
78895 2008-03-31  Jim Meyering  <meyering@redhat.com>
78897         Don't compare actual signbit return values.
78898         * tests/test-strtod.c (main): Rather, compare only their
78899         zero/non-zero nature.
78901 2008-03-31  Eric Blake  <ebb9@byu.net>
78903         More strtod documentation.
78904         * doc/posix-functions/strtod.texi (strtod): Interpret more test
78905         failures as distinct bugs.
78907 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
78909         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
78910         Problem reported by Erik Benada in
78911         <http://lists.gnu.org/r/bug-gnulib/2008-03/msg00249.html>.
78913 2008-03-30  Bruno Haible  <bruno@clisp.org>
78915         * tests/test-strtod.c: Add comments about which assertion fails on which
78916         platform.
78917         * doc/posix-functions/strtod.texi: Add info about many more platforms.
78919 2008-03-30  Eric Blake  <ebb9@byu.net>
78921         Test signbit behavior on zeros.
78922         * tests/test-signbit.c (test_signbitf): Add tests for zero.
78923         (test_signbitd, test_signbitl): Likewise.
78925         More strtod touchups.
78926         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
78927         sign of negative underflow, for now.  Use .5, not .1.
78928         * doc/posix-functions/strtod.texi (strtod): Mention these
78929         limitations.
78930         Reported by Jim Meyering.
78932 2008-03-30  Bruno Haible  <bruno@clisp.org>
78934         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
78935         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
78937 2008-03-30  Bruno Haible  <bruno@clisp.org>
78939         Avoid failure when attempting to return empty iconv results on some
78940         platforms.
78941         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
78942         allocation, don't report ENOMEM when the resulting string is empty.
78944 2008-03-30  Bruno Haible  <bruno@clisp.org>
78946         Fix buffer overrun.
78947         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
78948         Don't consider the width for tmp_length. Check count against tmp_length
78949         before doing the padding. Ensure enough allocation during padding.
78951 2008-03-30  Eric Blake  <ebb9@byu.net>
78953         strtod touchups.
78954         * lib/strtod.c (strtod): Avoid compiler warnings.
78955         Reported by Jim Meyering.
78957 2008-03-30  Bruno Haible  <bruno@clisp.org>
78959         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
78960         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
78961         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
78962         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
78963         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
78964         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
78965         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
78966         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
78968         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
78969         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
78970         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
78971         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
78972         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
78973         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
78974         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
78975         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
78977         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
78978         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
78979         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
78980         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
78981         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
78982         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
78983         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
78984         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
78986         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
78987         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
78989         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
78990         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
78992         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
78993         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
78995         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
78996         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
78997         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
78999         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
79000         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
79001         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
79003         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
79004         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
79005         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
79007         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
79008         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
79009         * modules/vasprintf (Depends-on): Add EOVERFLOW.
79011         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
79012         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
79013         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
79014         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
79015         (Depends-on): Add EOVERFLOW.
79016         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
79017         (Depends-on): Add EOVERFLOW.
79018         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
79019         (Depends-on): Add EOVERFLOW.
79020         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
79021         (Depends-on): Add EOVERFLOW.
79022         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
79023         (Depends-on): Add EOVERFLOW.
79024         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
79025         (Depends-on): Add EOVERFLOW.
79026         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
79027         (Depends-on): Add EOVERFLOW.
79028         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
79029         (Depends-on): Add EOVERFLOW.
79031         * lib/sprintf.c (EOVERFLOW): Remove fallback.
79032         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
79033         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
79035         * lib/snprintf.c (EOVERFLOW): Remove fallback.
79036         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
79037         * modules/snprintf (Depends-on): Add EOVERFLOW.
79039         * lib/poll.c (EOVERFLOW): Remove fallback.
79040         * modules/poll (Depends-on): Add EOVERFLOW.
79042         * lib/getugroups.c (EOVERFLOW): Remove fallback.
79043         * modules/getugroups (Depends-on): Add EOVERFLOW.
79045         * lib/getdelim.c (EOVERFLOW): Remove fallback.
79046         * modules/getdelim (Depends-on): Add EOVERFLOW.
79048         * lib/ftell.c (EOVERFLOW): Remove fallback.
79049         * modules/ftell (Depends-on): Add EOVERFLOW.
79051         * lib/fprintf.c (EOVERFLOW): Remove fallback.
79052         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
79053         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
79055         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
79057         * modules/EOVERFLOW-tests: New file.
79058         * tests/test-EOVERFLOW.c: New file.
79060         * modules/EOVERFLOW: New file.
79061         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
79063 2008-03-30  Bruno Haible  <bruno@clisp.org>
79065         Fix bug introduced on 2007-06-10.
79066         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
79067         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
79069 2008-03-30  Bruno Haible  <bruno@clisp.org>
79071         Improve freadseek's efficiency after ungetc.
79072         * lib/freadseek.c: Include freadahead.h.
79073         (freadptrinc): New function, extracted from freadseek.
79074         (freadseek): Use it in a loop. Use freadahead to determine the number
79075         of loop iterations.
79076         * modules/freadseek (Depends-on): Add freadahead.
79077         (configure.ac): Require AC_C_INLINE.
79079 2008-03-30  Bruno Haible  <bruno@clisp.org>
79081         * lib/freadseek.c (freadseek): Don't ignore the return value of
79082         freadptr.
79084 2008-03-29  Eric Blake  <ebb9@byu.net>
79086         Add hex float support.
79087         * modules/strtod (Depends-on): Add c-ctype.
79088         (Link): Mention POW_LIB.
79089         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
79090         whitespace between 'e' and exponent.
79091         * tests/test-strtod.c (main): Enable hex float tests.
79092         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
79093         now provides.
79095         Document various strtod bugs, with some fixes.
79096         * doc/posix-functions/strtod.texi (strtod): Document bugs with
79097         "-0x", "inf", "nan", and hex constants.
79098         * doc/posix-functions/atof.texi (atof): Likewise.
79099         * modules/stdlib (Makefile.am): Support strtod.
79100         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
79101         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
79102         detect additional strtod bugs.
79103         * lib/stdlib.in.h (rpl_strtod): Add declarations.
79104         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
79105         bool where appropriate.  Parse 'inf' and 'nan'.
79106         * tests/test-strtod.c: New file.
79107         * modules/strtod (Depends-on): Add stdbool, stdlib.
79108         (configure.ac): Turn on module indicator.
79109         * modules/strtod-tests: New module.
79111 2008-03-29  Eric Blake  <ebb9@byu.net>
79113         Fix ftell on mingw.
79114         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
79115         * modules/ftell-tests (Depends-on): Add binary-io.
79116         * modules/ftello-tests (Depends-on): Likewise.
79117         * tests/test-ftell.c (main): Enhance test to cover behavior after
79118         ungetc.  Enforce binary mode.
79119         * tests/test-ftello.c (main): Likewise.
79121         Pass test-freadseek on cygwin.
79122         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
79123         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
79124         ungetc buffer.
79126         * tests/test-fflush2.c (main): Fix typo.
79128 2008-03-29  Bruno Haible  <bruno@clisp.org>
79130         * tests/test-fflush2.c (main): Temporarily disable the contents of
79131         this test.
79132         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
79133         Reported by Eric Blake.
79135 2008-03-28  Simon Josefsson  <simon@josefsson.org>
79137         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
79138         (GC_SHA224_DIGEST_SIZE): Add.
79140         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
79141         (gc_hash_digest_length): Likewise.
79142         (gc_hash_buffer): Likewise.
79144 2008-03-25  Bruno Haible  <bruno@clisp.org>
79146         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
79147         detail which gettext release to use.
79148         Reported by Simon Josefsson.
79150 2008-03-26  Jim Meyering  <meyering@redhat.com>
79152         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
79153         * modules/gnumakefile (clean-GNUmakefile): Also, use
79154         test ... && ... || : syntax rather than if-then ... fi.
79156         gnumakefile: Don't double-quote-expand $(VPATH) value.
79157         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
79159 2008-03-24  Eric Blake  <ebb9@byu.net>
79161         Alter GNUmakefile to install into top directory.
79162         * modules/maintainer-makefile: Split, and add dependency...
79163         * modules/gnumakefile: to this new module.
79164         * build-aux/GNUmakefile: Move...
79165         * top/GNUmakefile: ...here.
79166         * build-aux/maint.mk: Move...
79167         * top/maint.mk: ...here.
79168         * MODULES.html.sh (Support for maintaining...): Document new
79169         module.
79171 2008-03-23  Bruno Haible  <bruno@clisp.org>
79173         * gnulib-tool: New options --vc-files, --no-vc-files.
79174         (func_usage): Document them.
79175         (vc_files): New variable.
79176         (func_import): Consider vc_files.
79177         (func_create_testdir): Set vc_files to empty.
79178         Suggested by Jim Meyering and Karl Berry.
79180 2008-03-23  Bruno Haible  <bruno@clisp.org>
79182         Fix regex compilation error on HP-UX 11.
79183         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
79184         * modules/regex (Files): Add m4/mbstate_t.m4.
79185         Reported by Ton Voon <ton.voon@altinity.com>.
79187 2008-03-23  Bruno Haible  <bruno@clisp.org>
79189         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
79191 2008-03-23  Eric Blake  <ebb9@byu.net>
79192             Bruno Haible  <bruno@clisp.org>
79194         Install files from top/ in the destination directory.
79195         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
79196         augmentation also for the files from top/.
79197         (func_import, func_create_testdir): Rewrite file names:
79198         top/filename -> filename.
79200 2008-03-23  Bruno Haible  <bruno@clisp.org>
79202         Tweak "gnulib --version" output.
79203         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
79205 2008-03-23  Bruno Haible  <bruno@clisp.org>
79207         Tweak "gnulib --version" output.
79208         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
79209         rather than contents of ChangeLog, when possible.
79211 2008-03-21  Eric Blake  <ebb9@byu.net>
79213         More --version tweaks.
79214         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
79215         date of last ChangeLog entry.
79217 2008-03-21  Jim Meyering  <meyering@redhat.com>
79219         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
79221 2008-03-20  Eric Blake  <ebb9@byu.net>
79223         VPATH fix.
79224         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
79226 2008-03-20  Simon Josefsson  <simon@josefsson.org>
79228         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
79229         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
79231 2008-03-20  Eric Blake  <ebb9@byu.net>
79233         Sync GNUmakefile with coreutils.
79234         * build-aux/GNUmakefile (have-Makefile): Rename...
79235         (_have-Makefile): ...to this, for namespace consideration.
79236         (GNUmakefile.cfg): Include, if present.
79237         (_autoreconf): Define a default.
79238         (_is-dist-target): New rule for rebuilds to pick up intra-release
79239         version.
79240         (maint-cfg.mk): Rename...
79241         (cfg.mk): ...to this.
79243 2008-03-18  Jim Meyering  <meyering@redhat.com>
79245         New script and module: mktempd
79246         * MODULES.html.sh (maint+release support): Add mktempd.
79247         * build-aux/mktempd: New file.
79248         * modules/mktempd: New file.
79250 2008-03-15  Jim Meyering  <meyering@redhat.com>
79252         Undo last change.
79253         * lib/sha1.c, lib/md5.c: 63 != ~63.
79254         Reported by Andreas Schwab.
79256         sha1.c, md5.c: Hoist a redundant expression.
79257         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
79258         "ctx->buflen" only once, before calling *_process_block.
79259         * lib/md5.c (md5_process_bytes): Likewise.
79261 2008-03-14  Eric Blake  <ebb9@byu.net>
79263         Bump copyright year in files generated by gnulib-tool.
79264         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
79265         gnulib-tool, rather than hard-coding it.
79267         Fix 'gnulib-tool --version' output to work with git.
79268         * gnulib-tool (func_gnulib_dir): New function, extracted from...
79269         (startup): ...here.
79270         (func_version): Use it to invoke git-version-gen, rather than
79271         relying on CVS keyword expansion.  Modernize wording.
79272         (cvsdatestamp, last_checkin_date, version): Kill unused
79273         variables.
79275 2008-03-12  Jim Meyering  <meyering@redhat.com>
79277         Recognize optional cast of the argument to free.
79278         * build-aux/useless-if-before-free: Update regexps.
79280         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
79282 2008-03-11  Bruno Haible  <bruno@clisp.org>
79284         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
79285         by a single package.
79286         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
79287         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
79288         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
79289         Reported by Sam Steingold <sds@gnu.org>.
79291 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
79293         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
79294         repositories.
79296 2008-03-11  Bruno Haible  <bruno@clisp.org>
79298         Avoid conflicts between local macro definitions.
79299         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
79300         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
79302 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
79303             Bruno Haible  <bruno@clisp.org>
79305         Make va_copy work with some version of xlc on AIX 5.1.
79306         * lib/stdarg.in.h: New file.
79307         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
79308         On AIX, use a <stdarg.h> file substitute.
79309         * modules/stdarg (Files): Add lib/stdarg.in.h.
79310         (Depends-on): Add include_next.
79311         (Makefile.am): Build a stdarg.h substitute if requested.
79312         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
79314 2008-03-10  Bruno Haible  <bruno@clisp.org>
79316         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
79317         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
79318         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
79320 2008-03-10  Bruno Haible  <bruno@clisp.org>
79322         * modules/stdlib (Depends-on): Add include_next, remove
79323         absolute-header.
79325 2008-03-09  Bruno Haible  <bruno@clisp.org>
79327         * lib/freadahead.h (freadahead): Document more precisely.
79328         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
79329         the sum of both buffer sizes.
79330         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
79331         * NEWS: Document the change.
79333 2008-03-09  Bruno Haible  <bruno@clisp.org>
79335         Extend freadptr to return also the buffer size.
79336         * lib/freadptr.h (freadptr): Add sizep argument.
79337         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
79338         (freadptr): Add sizep argument. Determine buffer size like freadahead
79339         does.
79340         * tests/test-freadptr.c: Don't include freadahead.h.
79341         (main): Adapt for new calling convention of freadptr.
79342         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
79343         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
79344         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
79345         tests/test-freadptr2.sh.
79346         (Depends): Remove freadahead.
79347         (TESTS): Add test-freadptr2.sh.
79348         (check_PROGRAMS): Add test-freadptr2.
79350 2008-03-09  Bruno Haible  <bruno@clisp.org>
79352         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
79353         Report and solution by Simon Josefsson.
79355 2008-03-06  Bruno Haible  <bruno@clisp.org>
79357         Make fflush after ungetc work on BSD platforms.
79358         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
79359         * tests/test-fflush2.c: New file.
79360         * tests/test-fflush2.sh: New file.
79361         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
79362         tests/test-fflush2.c.
79363         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
79364         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
79366 2008-03-06  Eric Blake  <ebb9@byu.net>
79368         Likewise for ftello.
79369         * modules/ftello (Dependencies): Add extensions.
79370         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
79372 2008-03-06  Bruno Haible  <bruno@clisp.org>
79374         * modules/fseeko (Dependencies): Add extensions.
79375         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
79376         Needed on glibc systems.
79378 2008-03-06  Bruno Haible  <bruno@clisp.org>
79380         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
79381         email address.
79382         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
79384 2008-03-06  Bruno Haible  <bruno@clisp.org>
79386         * users.txt: Add libgnupdf.
79388 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
79390         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
79391         (Header File Substitutes, Function Substitutes,
79392         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
79393         (Build robot for gnulib): Fix typo.
79395 2008-03-06  Bruno Haible  <bruno@clisp.org>
79397         * doc/gnulib-tool.texi (VCS Issues): Small updates.
79398         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
79400 2008-03-06  Bruno Haible  <bruno@clisp.org>
79402         * doc/func.texi: New file, extracted from doc/gnulib.texi.
79403         * doc/gnulib.texi: Include it.
79405 2008-03-06  Simon Josefsson  <simon@josefsson.org>
79407         * modules/func (License): Change license to unlimited; there was
79408         no LGPL parts in the module anyway.
79410 2008-03-06  Simon Josefsson  <simon@josefsson.org>
79412         * modules/__func__: Renamed to modules/func.
79413         * modules/__func__-tests: Renamed to modules/func-tests.
79414         * tests/test-__func__.c: Renamed to tests/test-func.c.
79415         * m4/__func__.m4: Renamed to m4/func.m4.
79416         * doc/gnulib.texi (__func__): Section renamed to func.
79417         Suggested by Eric Blake <ebb9@byu.net>.
79419 2008-03-06  Simon Josefsson  <simon@josefsson.org>
79421         * doc/gnulib.texi (__func__): Use C99 terminology when talking
79422         about __func__.  Make example self-contained.  Suggested by Eric
79423         Blake <ebb9@byu.net>.
79425         * tests/test-__func__.c (main): Avoid extraneous () around __func.
79426         Suggested by Eric Blake <ebb9@byu.net>.
79428 2008-03-06  Simon Josefsson  <simon@josefsson.org>
79430         * modules/__func__: New file.
79431         * modules/__func__-tests: New file.
79432         * tests/test-__func__.c: New file.
79433         * m4/__func__.m4: New file.
79434         * doc/gnulib.texi (__func__): Document __func__ module.
79436 2008-03-05  Simon Josefsson  <simon@josefsson.org>
79438         * modules/byteswap (License): Re-license as LGPLv2+.
79440 2008-03-05  Simon Josefsson  <simon@josefsson.org>
79442         * doc/Makefile: Add pdf target.
79444 2008-03-05  Simon Josefsson  <simon@josefsson.org>
79446         * modules/inline (License): Use 'unlimited', since there are only
79447         *.m4 files in this module.
79449 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
79450             Bruno Haible  <bruno@clisp.org>
79452         Add support for HP C 7.1 on OpenVMS 8.3.
79453         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
79455 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
79457         Update VMS specifics.
79458         * lib/getopt.c [VMS]: Remove include of unixlib.h.
79460 2008-03-02  Jim Meyering  <meyering@redhat.com>
79462         Remove the last dependency on the "free" module.
79463         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
79464         Reported by Bob Proulx.
79466         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
79468         Remove useless "if" tests before free.  Deprecate "free" module.
79469         * doc/posix-functions/free.texi: Mention that this
79470         module is no longer useful.
79471         * modules/free (Notice): Say this module is obsolete.
79472         * modules/readutmp (Depends-on): Remove free.
79473         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
79474         * lib/putenv.c (putenv): Likewise.
79475         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
79476         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
79477         * tests/test-c-strcasestr.c (main): Likewise.
79478         * tests/test-c-strstr.c (main): Likewise.
79479         * tests/test-mbscasestr1.c (main): Likewise.
79480         * tests/test-mbscasestr2.c (main): Likewise.
79481         * tests/test-mbsstr1.c (main): Likewise.
79482         * tests/test-mbsstr2.c (main): Likewise.
79483         * tests/test-memmem.c (main): Likewise.
79484         * tests/test-strcasestr.c (main): Likewise.
79485         * tests/test-striconv.c (main): Likewise.
79486         * tests/test-striconveh.c (main): Likewise.
79487         * tests/test-striconveha.c (main): Likewise.
79488         * tests/test-strstr.c (main): Likewise.
79490         * build-aux/git-version-gen: Adjust a comment and the Usage string.
79492         bootstrap: sync from coreutils again
79493         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
79495 2008-03-01  Jim Meyering  <meyering@redhat.com>
79497         bootstrap: sync from coreutils
79498         * build-aux/bootstrap (update_po_files): Copy a .po file into place
79499         also when the target doesn't exist.
79501 2008-03-01  Eric Blake  <ebb9@byu.net>
79503         Fix bugs in last patch.
79504         * lib/memchr2.c (memchr2): Fix typo.
79505         * tests/test-memchr2.c: Test previous bug, and don't use GNU
79506         extension.
79507         Reported by Bruce Korb.
79509         New module 'memchr2'.
79510         * modules/memchr2: New file.
79511         * modules/memchr2-tests: Likewise.
79512         * lib/memchr2.h: Likewise.
79513         * lib/memchr2.c: Likewise, based on memchr.c.
79514         * tests/test-memchr2.c: New test.
79515         * MODULES.html.sh (String handling): Add memchr2.
79517 2008-02-29  Bruno Haible  <bruno@clisp.org>
79519         * modules/freadseek-tests: New file.
79520         * tests/test-freadseek.sh: New file.
79521         * tests/test-freadseek.c: New file.
79523         New module 'freadseek'.
79524         * modules/freadseek: New file.
79525         * lib/freadseek.h: New file.
79526         * lib/freadseek.c: New file.
79527         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
79529 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
79531         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
79532         wydawca.
79534         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
79535         program_invocation_name and program_invocation_short_name are
79536         present.
79538 2008-02-28  Bruno Haible  <bruno@clisp.org>
79540         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
79541         * tests/test-freadptr.sh: Also test non-seekable stdin.
79543 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
79545         * build-aux/bootstrap (source_base, m4_base)
79546         (doc_base, tests_base): New variables.
79547         (gnulib_tool_options): Do not hardcode base directories, use
79548         the above variables instead.
79550 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
79552         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
79554 2008-02-28  Bruno Haible  <bruno@clisp.org>
79556         * modules/freadptr-tests: New file.
79557         * tests/test-freadptr.sh: New file.
79558         * tests/test-freadptr.c: New file.
79560         New module 'freadptr'.
79561         * modules/freadptr: New file.
79562         * lib/freadptr.h: New file.
79563         * lib/freadptr.c: New file.
79564         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
79566 2008-02-26  Karl Berry  <karl@freefriends.org>
79568         Sync from Libtool:
79569         * libltdl/argz.c (argz_add, argz_count): New functions.
79570         * libltdl/argz.in.h: Declare them.
79571         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
79573 2008-02-22  Bruno Haible  <bruno@clisp.org>
79575         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
79576         is a pointer type.  Needed for HP-UX 10.
79577         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
79578         * doc/posix-functions/gmtime_r.texi: Likewise.
79579         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
79581 2008-02-24  Bruno Haible  <bruno@clisp.org>
79583         * modules/environ-tests: New file.
79584         * tests/test-environ.c: New file.
79586         New module 'environ'.
79587         * modules/environ: New file.
79588         * lib/unistd.in.h (environ): New declaration.
79589         * m4/environ.m4: New file.
79590         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
79591         after use.
79592         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
79593         HAVE_DECL_ENVIRON.
79594         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
79595         HAVE_DECL_ENVIRON.
79596         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
79597         wrong claim that 'environ' is missing on some systems.
79598         * modules/execute (Depends-on): Add environ.
79599         * lib/execute.c (environ): Remove fallback declaration.
79600         * modules/pipe (Depends-on): Add environ.
79601         * lib/pipe.c (environ): Remove fallback declaration.
79602         * modules/setenv (Depends-on): Add environ.
79603         * lib/setenv.c (environ): Remove fallback declaration.
79604         * modules/unsetenv (Depends-on): Add environ.
79605         * lib/unsetenv.c (environ): Remove fallback declaration.
79606         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
79607         m4/environ.m4.
79608         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
79609         (gl_PREREQ_UNSETENV): Likewise.
79611 2008-02-24  Bruno Haible  <bruno@clisp.org>
79613         * doc/posix-functions/environ.texi: Document the MacOS X problem.
79615 2008-02-20  Bob Proulx  <bob@proulx.com>
79617         Enable use of older two part flavor 'git describe'.
79618         * build-aux/git-version-gen: If using the older two part flavor of
79619         git version then recreate the third part now present in the
79620         newer three part flavor of git describe.
79622 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
79624         * lib/fts.c (fts_build): Typo correction to comment.
79626 2008-02-17  Bruno Haible  <bruno@clisp.org>
79628         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
79629         generating no-op conflicts.
79631 2008-02-17  Bruno Haible  <bruno@clisp.org>
79633         Speed up by 10%.
79634         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
79635         result_entries, rather than an index-based loop.
79637 2008-02-17  Bruno Haible  <bruno@clisp.org>
79639         Speed up by 25%.
79640         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
79641         'hashcode_cached'.
79642         (entry_create): New function.
79643         (entry_hashcode): Use the cached hashcode if possible.
79644         (read_changelog_file, try_split_merged_entry): Use entry_create.
79646 2008-02-17  Bruno Haible  <bruno@clisp.org>
79648         Speed up from O(n^2) to O(n) for long ChangeLog files.
79649         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
79650         (read_changelog_file): Change implementation of entries_reversed list
79651         to rbtreehash.
79652         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
79654 2008-02-17  Bruno Haible  <bruno@clisp.org>
79656         New option --split-merged-entry.
79657         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
79658         (find_paragraph_end, try_split_merged_entry): New functions.
79659         (long_options): Add option --split-merged-entry.
79660         (usage): Document option --split-merged-entry.
79661         (main): Implement option --split-merged-entry.
79662         Reported by Eric Blake.
79664 2008-02-17  Bruno Haible  <bruno@clisp.org>
79666         * lib/git-merge-changelog.c: Include c-strstr.h.
79667         (main): Support the "git pull --rebase" situation.
79668         * modules/git-merge-changelog (Depends-on): Add c-strstr.
79669         Reported by Eric Blake.
79671 2008-02-16  Eric Blake  <ebb9@byu.net>
79673         Avoid doubling \ in common case of "c-maybe" quoting style.
79674         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
79675         eliding outer quotes.
79676         * lib/quotearg.h: Document this.
79677         * tests/test-quotearg.c (result_strings, inputs, results_g)
79678         (flag_results, locale_results): Test it by adding a new string to
79679         each test group.
79680         (compare_strings): Test new string.
79682 2008-02-13  Eric Blake  <ebb9@byu.net>
79684         Avoid trigraph quoting in default output.
79685         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
79686         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
79687         unless explicitly requested.
79688         * tests/test-quotearg.c (flag_results, main): Add additional tests.
79690 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
79692         Don't rely on signed integer overflowing to negative value.
79693         * lib/getugroups.c (getugroups): Include <limits.h>.
79694         Instead, compare against INT_MAX, and increment only if the test passes.
79696 2008-02-13  Jim Meyering  <meyering@redhat.com>
79697         and Eric Blake  <ebb9@byu.net>
79699         Avoid shadowing warning and compile errors on Linux.
79700         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
79701         forwarding macros on Linux.
79702         (dcgettext): Define a stub, for Linux.
79703         (results_g, main): Avoid warnings.
79705 2008-02-12  Eric Blake  <ebb9@byu.net>
79707         Silence warning in last patch.
79708         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
79710         Quotearg part 4: add tests, fix c-maybe colon quoting.
79711         * lib/quotearg.h: Improve documentation.
79712         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
79713         escapes when adding outer quotes.  When quoting trigraphs, use
79714         valid C notation.  When quoting NUL, omit extra characters if next
79715         character is not digit.  Alter prototype.
79716         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
79717         callers.
79718         * modules/quotearg-tests: New module.
79719         * tests/test-quotearg.c: New test.
79721 2008-02-07  Eric Blake  <ebb9@byu.net>
79723         Quotearg part 3: add flag to control outer quote elision.
79724         * lib/quotearg.h (c_maybe_quoting_style): New style.
79725         (enum quoting_flags): Better documentation of flags.
79726         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
79727         c-maybe style.
79728         (quotearg_buffer_restyled): Handle new flag to elide outer
79729         quotes.
79731         Quotearg part 2: add flag that can control NUL elision.
79732         * lib/quotearg.h (set_quoting_flags): New prototype.
79733         * lib/quotearg.c (struct quoting_options): Add flag field.
79734         (set_quoting_flags): New function.
79735         (quotearg_buffer_restyled): Add flags parameter.
79736         (quotearg_alloc_mem): Set the flag if length cannot be returned.
79737         (quotearg_n_options): Set the flag, since length cannot be
79738         returned.
79739         (quoting_options_from_style): Default flags correctly.
79741         Quotearg part 1: more wrappers, restore quotearg_char state.
79742         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
79743         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
79744         (quotearg_colon_mem): New wrappers.
79745         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
79746         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
79747         functions.
79748         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
79749         (quotearg_colon_mem): New functions.
79751 2008-02-11  Bruno Haible  <bruno@clisp.org>
79753         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
79754         library in the current directory: it does not work with parallel make.
79755         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79757 2008-02-11  Bruno Haible  <bruno@clisp.org>
79759         * .gitattributes: New file.
79761 2008-02-11  Jim Meyering  <meyering@redhat.com>
79763         useless-if-before-free: Fix reversed exit values.
79764         * build-aux/useless-if-before-free: Use correct values
79765         for EXIT_MATCH and EXIT_NO_MATCH.
79767         * build-aux/useless-if-before-free: Close stdout carefully.
79769 2008-02-10  Bruno Haible  <bruno@clisp.org>
79771         New module 'git-merge-changelog'.
79772         * modules/git-merge-changelog: New file.
79773         * lib/git-merge-changelog.c: New file.
79775 2008-02-10  Jim Meyering  <meyering@redhat.com>
79777         useless-if-before-free: New option: --list (-l).
79779         useless-if-before-free: Don't exit immediately upon open failure.
79780         * build-aux/useless-if-before-free: Exit 2 for errors.
79781         Upon failure to open a file, don't exit immediately.
79782         Rather, just warn and continue with any remaining files.
79784 2008-02-10  Bruno Haible  <bruno@clisp.org>
79786         New abstract list operation 'node_set_value'.
79787         * lib/gl_list.h (gl_list_node_set_value): New function.
79788         (struct gl_list_implementation): New field node_set_value.
79789         * lib/gl_list.c (gl_list_node_set_value): New function.
79790         * lib/gl_array_list.c (gl_array_node_set_value): New function.
79791         (gl_array_list_implementation): Update.
79792         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
79793         (gl_carray_list_implementation): Update.
79794         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
79795         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
79796         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
79797         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
79798         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
79799         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
79800         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
79801         Update.
79802         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
79803         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
79804         (gl_sublist_list_implementation): Update.
79806 2008-02-10  Bruno Haible  <bruno@clisp.org>
79808         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
79809         Needed when ELEMENT is #defined to 'some_type *'.
79811 2008-02-10  Jim Meyering  <meyering@redhat.com>
79813         New script and module: useless-if-before-free
79814         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
79815         * build-aux/useless-if-before-free: New file.
79816         * modules/useless-if-before-free: New file.
79818         * build-aux/gitlog-to-changelog: Use committer date, not author date.
79820         xstrtol_error: Fix typo.
79821         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
79822         s/exit_failure/exit_status/.
79824 2008-02-09  Jim Meyering  <meyering@redhat.com>
79826         New script and module: gitlog-to-changelog
79827         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
79828         * modules/gitlog-to-changelog: New file.
79829         * build-aux/gitlog-to-changelog: New file.
79831 2008-02-08  Jim Meyering  <meyering@redhat.com>
79833         Avoid two "parameter unused" warnings.
79834         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
79835         Mark "st" as used.
79837         Use "git COMMAND", not "git-COMMAND".
79838         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
79839         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
79840         * build-aux/git-version-gen: Use "git status", not "git-status".
79842 2008-02-07  Bruno Haible  <bruno@clisp.org>
79844         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
79845         Avoids a crash on Windows Vista.
79846         Reported by Adam Strzelecki <ono@java.pl> via
79847         Simon Josefsson <simon@josefsson.org>.
79849 2008-02-06  Bruno Haible  <bruno@clisp.org>
79851         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
79852         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
79853         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
79854         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
79855         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
79856         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
79857         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
79858         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
79859         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
79860         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
79861         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
79862         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
79863         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
79864         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
79865         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
79866         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
79867         left-adjust flag.
79868         * tests/test-snprintf-posix.h (test_function): Likewise.
79869         * tests/test-sprintf-posix.h (test_function): Likewise.
79870         * tests/test-vasprintf-posix.c (test_function): Likewise.
79871         * doc/posix-functions/fprintf.texi: Update.
79872         * doc/posix-functions/printf.texi: Update.
79873         * doc/posix-functions/snprintf.texi: Update.
79874         * doc/posix-functions/sprintf.texi: Update.
79875         * doc/posix-functions/vfprintf.texi: Update.
79876         * doc/posix-functions/vprintf.texi: Update.
79877         * doc/posix-functions/vsnprintf.texi: Update.
79878         * doc/posix-functions/vsprintf.texi: Update.
79879         Reported by Peter Fales <psfales@alcatel-lucent.com>.
79881 2008-02-06  Bruno Haible  <bruno@clisp.org>
79883         Fix bug introduced on 2008-01-26.
79884         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
79886 2008-02-06  Bruno Haible  <bruno@clisp.org>
79888         Fix bug introduced on 2007-06-10.
79889         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
79890         !NEED_PRINTF_FLAG_ZERO.
79892 2008-02-05  Peter O'Gorman  <pogma@thewrittenword.com>
79894         getloadavg: use libperfstat on AIX5
79895         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
79897 2008-02-03  Bruno Haible  <bruno@clisp.org>
79899         * lib/diffseq.h: Add comments about required #includes.
79900         Reported by Michael Biggs <gnulib@doubleplum.net>.
79902 2008-02-01  Bruno Haible  <bruno@clisp.org>
79904         * users.txt: Add gnuit.
79906 2008-01-31  Bruno Haible  <bruno@clisp.org>
79908         * lib/md4.c (set_uint32): Mark as inline.
79909         * lib/md5.c (set_uint32): Likewise.
79910         * lib/sha1.c (set_uint32): Likewise.
79911         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
79912         * m4/md5.m4 (gl_MD5): Likewise.
79913         * m4/sha1.m4 (gl_SHA1): Likewise.
79915 2008-01-31  Jim Meyering  <meyering@redhat.com>
79917         Use "sizeof VAR", rather than a literal "4".
79918         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
79919         * lib/md4.c (md4_read_ctx): Likewise.
79920         * lib/sha1.c (sha1_read_ctx): Likewise.
79922 2008-01-31  Simon Josefsson  <simon@josefsson.org>
79924         * tests/test-sha1.c: New file, based on test-md5.c.
79926         * modules/crypto/sha1-tests: New file.
79928 2008-01-31  Simon Josefsson  <simon@josefsson.org>
79930         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
79932 2008-01-31  Jim Meyering  <meyering@redhat.com>
79934         Prefer "sizeof v" over the equivalent "4".
79935         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
79936         * lib/md5.c (set_uint32): Likewise.
79937         * lib/sha1.c (set_uint32): Likewise.
79939 2008-01-31  Simon Josefsson  <simon@josefsson.org>
79941         * lib/sha1.c (set_uint32): Mark function as static.
79943 2008-01-31  Simon Josefsson  <simon@josefsson.org>
79945         md2: clarify comments to say that alignment is not required.
79946         * lib/md2.h: Remove warning about alignment in comment.
79947         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
79948         never been required.
79950 2008-01-31  Simon Josefsson  <simon@josefsson.org>
79952         md4: adapt alignment constraint fix from sha1.
79953         * lib/md4.c (set_uint32): New function, from sha1.c
79954         (md4_read_ctx): Use it.
79955         (md4_finish_ctx): Doc fix.
79956         * lib/md4.h: Doc fix.
79958 2008-01-31  Simon Josefsson  <simon@josefsson.org>
79960         md5: adapt alignment constraint fix from sha1.
79961         * lib/md5.c (set_uint32): New function, from sha1.c
79962         (md5_read_ctx): Use it.
79963         (md5_finish_ctx): Doc fix.
79964         * lib/md5.h: Doc fix.
79966 2008-01-30  Peter Palfrader  <weasel@debian.org>
79968         sha1: remove the result buffer alignment constraint
79969         * lib/sha1.c (set_uint32): New function.
79970         (sha1_read_ctx): Rewrite to remove the result buffer alignment
79971         constraint.
79972         (sha1_finish_ctx): Remove comment warning about alignment constraint.
79973         * lib/sha1.h: Likewise.
79975 2008-01-30  Andreas Schwab  <schwab@suse.de>
79976             Bruno Haible  <bruno@clisp.org>
79978         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
79979         correct definition of LDBL_MIN_EXP.
79981 2008-01-30  Karl Berry  <karl@gnu.org>
79983         * config/srclist-update: try to preserve x bit on updates.
79984         * config/srclistvars.sh: update for karl.
79986 2008-01-29  Jim Meyering  <meyering@redhat.com>
79988         vasnprintf.c: Avoid warning about unused label
79989         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
79990         "overflow" label definition and associated code with the
79991         same cpp condition that guards the sole use of that label.
79993 2008-01-26  Bruno Haible  <bruno@clisp.org>
79995         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
79996         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
79997         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
79998         * lib/isnanl-nolibm.h (isnanl): Likewise.
79999         Reported by Paul Eggert <eggert@cs.ucla.edu>.
80001 2008-01-26  Bruno Haible  <bruno@clisp.org>
80003         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
80004         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
80006 2008-01-26  Bruno Haible  <bruno@clisp.org>
80008         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
80009         GCC >= 4.0 built-in.
80010         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
80012 2008-01-26  Bruno Haible  <bruno@clisp.org>
80014         Rename isnan, applicable to 'double' only, to isnand.
80015         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
80016         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
80017         (configure.ac): Update.
80018         (Include): Replace "isnan.h" with "isnand.h".
80019         * m4/isnand.m4: Renamed from m4/isnan.m4.
80020         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
80021         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
80022         instead of isnan.c.
80023         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
80024         instead of HAVE_ISNAN_IN_LIBC.
80025         (isnand): Renamed from isnan.
80026         * lib/isnand.c: New file.
80027         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
80028         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
80029         (Makefile.am): Update.
80030         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
80031         Include isnand.h instead of isnan.h.
80032         (main): Test isnand instead of isnan.
80033         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
80034         isnan-nolibm.
80035         * modules/frexp (Depends-on): Likewise.
80036         * modules/frexp-tests (Depends-on): Likewise.
80037         * modules/frexp-nolibm (Depends-on): Likewise.
80038         * modules/frexp-nolibm-tests (Depends-on): Likewise.
80039         * modules/isfinite (Depends-on): Likewise.
80040         * modules/round-tests (Depends-on): Likewise.
80041         * modules/signbit (Depends-on): Likewise.
80042         * modules/signbit-tests (Depends-on): Likewise.
80043         * modules/snprintf-posix (Depends-on): Likewise.
80044         * modules/sprintf-posix (Depends-on): Likewise.
80045         * modules/trunc-tests (Depends-on): Likewise.
80046         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
80047         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
80048         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
80049         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
80050         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
80051         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
80052         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
80053         * modules/vasnprintf-posix (Depends-on): Likewise.
80054         * modules/vasprintf-posix (Depends-on): Likewise.
80055         * modules/vfprintf-posix (Depends-on): Likewise.
80056         * modules/vsnprintf-posix (Depends-on): Likewise.
80057         * modules/vsprintf-posix (Depends-on): Likewise.
80058         * lib/frexp.c: Include isnand.h instead of isnan.h.
80059         (ISNAN): Set to isnand instead of isnan.
80060         * lib/isfinite.c: Include isnand.h instead of isnan.h.
80061         (gl_isfinited): Use isnand instead of isnan.
80062         * lib/signbitd.c: Include isnand.h instead of isnan.h.
80063         (gl_signbitd): Use isnand instead of isnan.
80064         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
80065         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
80066         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
80067         (main): Use isnand instead of isnan.
80068         * tests/test-round1.c: Include isnand.h.
80069         (main): Use isnand instead of isnan.
80070         * tests/test-round2.c: Include isnand.h instead of isnan.h.
80071         (ISNAN): Set to isnand instead of isnan.
80072         * tests/test-trunc1.c: Include isnand.h.
80073         (main): Use isnand instead of isnan.
80074         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
80075         (equal): Use isnand instead of isnan.
80076         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
80077         isnand-nolibm.
80078         * NEWS: Mention the change.
80080 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
80081             Bruno Haible  <bruno@clisp.org>
80083         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
80084         the GCC builtins for signbits are present and set
80085         REPLACE_SIGNBIT_USING_GCC if so.
80086         * lib/math.in.h (signbit): Define using GCC builtins if
80087         REPLACE_SIGNBIT_USING_GCC is set.
80088         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
80089         REPLACE_SIGNBIT_USING_GCC.
80090         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
80092 2008-01-25  Jim Meyering  <meyering@redhat.com>
80094         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
80095         * lib/poll.c: Include <config.h>, not "config.h".
80096         * tests/test-getaddrinfo.c: Likewise.
80098 2008-01-25  Simon Josefsson  <simon@josefsson.org>
80100         * modules/sockets-tests: New file.
80102 2008-01-24  Simon Josefsson  <simon@josefsson.org>
80104         * modules/sockets: New module, can be used to call WSA_Startup and
80105         WSA_Cleanup when needed.
80107         * lib/sockets.h, lib/sockets.c: New files.
80109         * m4/sockets.m4: New file.
80111         * tests/test-sockets.c: New file.
80113 2008-01-19  Bruno Haible  <bruno@clisp.org>
80115         * doc/posix-headers: Renamed from doc/headers.
80116         * doc/posix-functions: Renamed from doc/functions.
80117         * doc/gnulib.texi: Update.
80119 2008-01-19  Bruno Haible  <bruno@clisp.org>
80121         * doc/glibc-functions/strcasestr.texi: Include contents of
80122         doc/functions/strcasestr.texi, fixing the list of platforms.
80123         * doc/functions/strcasestr.texi: Remove file.
80125 2008-01-19  Bruno Haible  <bruno@clisp.org>
80127         * doc/glibc-functions/memmem.texi: Include contents of
80128         doc/functions/memmem.texi.
80129         * doc/functions/memmem.texi: Remove file.
80131 2008-01-18  Bruno Haible  <bruno@clisp.org>
80133         * doc/glibc-functions/*.texi: New files.
80134         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
80135         to use the new files.
80137 2008-01-17  Bruno Haible  <bruno@clisp.org>
80139         * tests/test-gethostname.c (main): Fix printf statement.
80141 2008-01-17  Simon Josefsson  <simon@josefsson.org>
80143         * modules/gethostname-tests: New file.
80145         * tests/test-gethostname.c: New file.
80147 2008-01-17  Simon Josefsson  <simon@josefsson.org>
80149         * lib/gethostname.c: Include string.h unconditionally, strncpy is
80150         used by the UNAME case.  Reported by Bruno Haible
80151         <bruno@clisp.org>.
80153 2008-01-17  Eric Blake  <ebb9@byu.net>
80155         Convert c-strcasestr to be more efficient.
80156         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
80157         (Depends-on): Add c-strcase, remove malloca, strnlen.
80158         * tests/test-c-strcasestr.c (main): Enhance test.
80159         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
80161 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
80163         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
80164         Use it in creating po/Makevars.
80166 2008-01-15  Simon Josefsson  <simon@josefsson.org>
80168         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
80169         Applications that requires it should initialize libgcrypt
80170         manually.
80172 2008-01-16  Simon Josefsson  <simon@josefsson.org>
80174         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
80176 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
80178         Fix problem with getdate on mingw32 reported by Simon Josefsson
80179         in <http://lists.gnu.org/r/bug-gnulib/2008-01/msg00192.html>.
80180         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
80181         tzname", when deciding whether to declare tzname.
80182         * lib/strftime.c (tzname): Likewise.
80184 2008-01-15  Bruno Haible  <bruno@clisp.org>
80186         Work around a MacOS X 10.5 bug in frexpl().
80187         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
80188         * doc/functions/frexpl.texi: Document the bug.
80189         Reported by Elias Pipping <pipping@gentoo.org>.
80191 2008-01-14  Eric Blake  <ebb9@byu.net>
80193         Touch up previous patch.
80194         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
80195         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
80197         Convert strcasestr module to use Two-Way algorithm.
80198         * modules/strcasestr-simple: New module, based on the old
80199         strcasestr, but with Two-Way rather than KMP.
80200         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
80201         * lib/string.in.h (rpl_strcasestr): Declare.
80202         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
80203         performance.
80204         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
80205         * modules/string (Makefile.am): Support strcasestr.
80206         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
80207         * modules/strcasestr-tests (Depends-on): Check for alarm.
80208         * tests/test-strcasestr.c: Augment test.
80209         * lib/str-two-way.h: Clean up stray macro.
80210         * NEWS: Document new module.
80211         * MODULES.html.sh (string handling): Likewise.
80212         * doc/functions/strcasestr.texi: New file.
80213         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
80214         here, since it is not a POSIX function.
80216 2008-01-14  Colin Watson  <cjwatson@debian.org>
80217             Bruno Haible  <bruno@clisp.org>
80219         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
80220         works fine; if not, set REPLACE_STRSIGNAL.
80221         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
80222         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
80223         REPLACE_STRSIGNAL.
80224         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
80225         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
80226         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
80228 2008-01-14  Bruno Haible  <bruno@clisp.org>
80230         * modules/strsignal (Include): Change to <string.h>.
80232 2008-01-14  Colin Watson  <cjwatson@debian.org>
80234         * modules/argp (Notice): Add a notice recommending to change
80235         XGETTEXT_OPTIONS.
80236         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
80238 2008-01-13  Colin Watson  <cjwatson@debian.org>
80240         * modules/strsignal-tests: New file.
80241         * tests/test-strsignal.c: New file.
80243         * lib/strsignal.c: New file, from glibc with modifications.
80244         * lib/siglist.h: New file, from glibc with modifications.
80245         * lib/string.in.h (strsignal): New declaration.
80246         * m4/strsignal.m4: New file.
80247         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
80248         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
80249         * modules/strsignal: New file.
80250         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
80251         HAVE_DECL_STRSIGNAL.
80253 2008-01-13  Bruno Haible  <bruno@clisp.org>
80255         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
80256         locale encoding is not ASCII. Needed for OpenBSD 4.0.
80257         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
80258         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
80260 2008-01-13  Bruno Haible  <bruno@clisp.org>
80262         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
80263         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
80264         * lib/argp.h (__attribute__): Likewise.
80265         * lib/c-stack.c (__attribute__): Likewise.
80266         * lib/error.h (__attribute__): Likewise.
80267         * lib/fts.c (__attribute__): Likewise.
80268         * lib/openat.h (__attribute__): Likewise.
80269         * lib/stdio.in.h (__attribute__): Likewise.
80270         * lib/string.in.h (__attribute__): Likewise.
80271         * lib/utimens.c (__attribute__): Likewise.
80272         * lib/vasnprintf.h (__attribute__): Likewise.
80273         * lib/xalloc.h (__attribute__): Likewise.
80274         * lib/xprintf.h (__attribute__): Likewise.
80275         * lib/xstrtol.h (__attribute__): Likewise.
80276         * lib/xvasprintf.h (__attribute__): Likewise.
80278 2008-01-12  Bruno Haible  <bruno@clisp.org>
80280         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
80281         * doc/glibc-headers/a.out.texi: New file.
80282         * doc/glibc-headers/aliases.texi: New file.
80283         * doc/glibc-headers/alloca.texi: New file.
80284         * doc/glibc-headers/ar.texi: New file.
80285         * doc/glibc-headers/argp.texi: New file.
80286         * doc/glibc-headers/argz.texi: New file.
80287         * doc/glibc-headers/byteswap.texi: New file.
80288         * doc/glibc-headers/crypt.texi: New file.
80289         * doc/glibc-headers/endian.texi: New file.
80290         * doc/glibc-headers/envz.texi: New file.
80291         * doc/glibc-headers/err.texi: New file.
80292         * doc/glibc-headers/error.texi: New file.
80293         * doc/glibc-headers/execinfo.texi: New file.
80294         * doc/glibc-headers/fpu_control.texi: New file.
80295         * doc/glibc-headers/fstab.texi: New file.
80296         * doc/glibc-headers/fts.texi: New file.
80297         * doc/glibc-headers/getopt.texi: New file.
80298         * doc/glibc-headers/ieee754.texi: New file.
80299         * doc/glibc-headers/ifaddrs.texi: New file.
80300         * doc/glibc-headers/libintl.texi: New file.
80301         * doc/glibc-headers/mcheck.texi: New file.
80302         * doc/glibc-headers/mntent.texi: New file.
80303         * doc/glibc-headers/obstack.texi: New file.
80304         * doc/glibc-headers/paths.texi: New file.
80305         * doc/glibc-headers/printf.texi: New file.
80306         * doc/glibc-headers/pty.texi: New file.
80307         * doc/glibc-headers/resolv.texi: New file.
80308         * doc/glibc-headers/shadow.texi: New file.
80309         * doc/glibc-headers/sysexits.texi: New file.
80310         * doc/glibc-headers/ttyent.texi: New file.
80312 2008-01-12  Jim Meyering  <meyering@redhat.com>
80314         announce-gen: emit Gnulib's git-based version string.
80315         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
80316         New option --gnulib-version=V, where V is expected to be
80317         the output of running git describe in the gnulib directory.
80318         (get_tool_versions): Request feedback on xdelta.  I suspect it's
80319         not useful, and plan to stop publishing an xdelta file with each
80320         coreutils release.
80322         * build-aux/announce-gen: Also check for lzma-compressed files.
80324 2008-01-11  Bruno Haible  <bruno@clisp.org>
80326         * tests/test-memmem.c (main): Increase maximum allowed time.
80327         * tests/test-strstr.c (main): Likewise.
80329 2008-01-11  Bruno Haible  <bruno@clisp.org>
80331         * doc/functions/memmem.texi: Add more precisions about platforms.
80332         * doc/functions/strstr.texi: Likewise.
80334 2008-01-10  Eric Blake  <ebb9@byu.net>
80336         * m4/strstr.m4: Delete cruft from copy-n-paste.
80337         Reported by Bruno Haible.
80339 2008-01-10  Bruno Haible  <bruno@clisp.org>
80341         Make c-strstr rely on strstr.
80342         * lib/c-strstr.c: Don't include str-kmp.h.
80343         (c_strstr): Define in terms of strstr.
80344         * modules/c-strstr (Files): Remove lib/str-kmp.h.
80345         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
80347 2008-01-10  Bruno Haible  <bruno@clisp.org>
80349         * doc/gnulib.texi (String Functions in C Locale): New section.
80350         * doc/c-ctype.texi: New file.
80351         * doc/c-strcase.texi: New file.
80352         * doc/c-strcaseeq.texi: New file.
80353         * doc/c-strcasestr.texi: New file.
80354         * doc/c-strstr.texi: New file.
80355         * doc/c-strtod.texi: New file.
80356         * doc/c-strtold.texi: New file.
80358 2008-01-10  Eric Blake  <ebb9@byu.net>
80360         * lib/relocatable.h: Fix a comment.
80362 2008-01-10  Eric Blake  <ebb9@byu.net>
80364         Share two-way algorithm.
80365         * lib/str-two-way.h: New file, merged from...
80366         * lib/memmem.c: ...here...
80367         * lib/strstr.c: ...and here.
80368         * modules/memmem (Files): Use it.
80369         * modules/strstr (Files): Likewise.
80371         Avoid quadratic strstr implementations.
80372         * lib/strstr.c: New file.
80373         * m4/strstr.m4: Likewise.
80374         * modules/strstr: Likewise.
80375         * modules/strstr-tests: Likewise.
80376         * tests/test-strstr.c: Likewise.
80377         * lib/string.in.h (rpl_strstr): Declare.
80378         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
80379         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
80380         * modules/string (Makefile.am): Likewise.
80381         * MODULES.html.sh (string handling): Mention new module.
80382         * doc/functions/strstr.texi (strstr): Document the bug.
80384 2008-01-10  Bruno Haible  <bruno@clisp.org>
80386         * lib/relocatable.h (relocate): State whether result is freshly
80387         allocated or not.
80388         * lib/relocatable.c (relocate): Return a freshly allocated string
80389         instead of a pointer to a privately held string.
80390         Reported by Sylvain Beucler <beuc@gnu.org>.
80392 2008-01-10  Colin Watson  <cjwatson@debian.org>
80394         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
80395         s/S_ISNLK/S_ISLNK/.
80397 2008-01-09  Bruno Haible  <bruno@clisp.org>
80399         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
80400         and other files.
80401         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
80402         if it's only a guess.
80403         * modules/memmem: Simplify by depending on memmem-simple.
80405 2008-01-09  Bruno Haible  <bruno@clisp.org>
80407         Work around OpenBSD 4.0 tdelete() bug.
80408         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
80409         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
80410         macros and don't redefine the enum values.
80411         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
80412         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
80413         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
80415 2008-01-09  Bruno Haible  <bruno@clisp.org>
80417         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
80418         (main): Don't perform the tests if setlocale did not install a UTF-8
80419         locale. Needed on OpenBSD 4.0.
80420         * modules/wcwidth-tests (Depends-on): Add localcharset.
80422 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
80424         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
80425         See <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00149.html>.
80426         * NEWS: announce this.
80427         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
80429 2008-01-09  Simon Josefsson  <simon@josefsson.org>
80430         and Eric Blake  <ebb9@byu.net>
80432         Add memmem-simple module.
80433         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
80434         (gl_FUNC_MEMMEM): Separate performance from presence checks.
80435         * modules/memmem-simple: New file.
80436         * modules/memmem (Description): Tweak.
80437         * MODULES.html.sh (string handling): Mention new module.
80438         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
80439         addressed by memmem-simple.
80440         * NEWS: Document the difference.
80442 2008-01-09  Eric Blake  <ebb9@byu.net>
80444         Give gcc some memmem optimization hints.
80445         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
80446         (strcasestr): Declare as pure.
80447         * modules/memmem (Maintainer): Claim my implementation.
80449 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80451         Support AIX 6.1 and higher.
80452         * build-aux/config.libpath: Likewise.
80453         * build-aux/config.rpath: Likewise.
80455 2008-01-08  Jim Meyering  <meyering@redhat.com>
80456             Bruno Haible  <bruno@clisp.org>
80458         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
80459         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
80460         Reported by Peter Fales in
80461         <http://lists.gnu.org/r/bug-coreutils/2007-12/msg00148.html>.
80463 2008-01-08  Bruno Haible  <bruno@clisp.org>
80465         * modules/unictype/category-of (Depends-on): Add
80466         unictype/category-none.
80467         * modules/unictype/category-and-tests (Depends-on): Add
80468         unictype/category-{L,N,Lu,Nd}.
80469         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
80470         * modules/unictype/category-or-tests (Depends-on): Add
80471         unictype/category-{L,N}.
80472         * modules/unictype/category-name-tests (Depends-on): Add
80473         unictype/category-{Z,Nl}.
80474         Reported by Simon Josefsson.
80476 2008-01-08  Bruno Haible  <bruno@clisp.org>
80478         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
80479         convention better.
80480         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
80481         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
80482         Reported by Peter Miller <millerp@canb.auug.org.au>.
80484 2008-01-08  Eric Blake  <ebb9@byu.net>
80486         Rewrite memmem to guarantee linear complexity without malloc.
80487         * lib/memmem.c (memmem): Use Two-Way rather than
80488         Knuth-Morris-Pratt, to allow O(1) space usage.
80489         (critical_factorization, two_way_short_needle)
80490         (two_way_long_needle): New functions.
80491         (knuth_morris_pratt): Delete.
80492         * modules/memmem (Depends-on): No longer need malloca or stdbool.
80493         Add stdint.
80494         * tests/test-memmem.c (main): Add tests for periodic needle and
80495         sublinear performance.
80496         * doc/functions/memmem.texi (memmem): Document other deficiencies
80497         in cygwin and older glibc.
80499 2008-01-08  Bruno Haible  <bruno@clisp.org>
80501         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
80502         augmentation.
80504 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
80506         Add a configure time option: --disable-acl.
80507         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
80508         AC_ARG_ENABLE(acl).
80510 2008-01-06  Simon Josefsson  <simon@josefsson.org>
80512         * tests/test-localename.c: Don't include obsolete "setenv.h".
80514         * modules/localename-tests (Depends-on): Need unsetenv.
80516 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80518         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
80520 2008-01-06  Colin Watson  <cjwatson@debian.org>
80522         * users.txt: Add man-db.
80524 2008-01-07  Bruno Haible  <bruno@clisp.org>
80526         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
80527         previous section name.
80529 2008-01-07  Bruno Haible  <bruno@clisp.org>
80531         * lib/progname.c (set_program_name): Don't strip off a leading
80532         "lt-" prefix outside a .libs directory.
80533         Suggested by Paul Eggert.
80535 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
80536             Bruno Haible  <bruno@clisp.org>
80538         Improve memory cleanup in 'relocatable' module.
80539         * lib/relocatable.h (compute_curr_prefix): Change return type to
80540         'char *'.
80541         * lib/relocatable.c (compute_curr_prefix): Change return type to
80542         'char *'. Free curr_installdir after use.
80543         (relocate): Free curr_prefix_better after use.
80544         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
80546 2008-01-01  Bruno Haible  <bruno@clisp.org>
80548         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
80549         failure on older glibc systems.
80550         Reported by Peter Fales <psfales@alcatel-lucent.com>.
80552 2008-01-05  Eric Blake  <ebb9@byu.net>
80554         Avoid quadratic system memmem.
80555         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
80556         Reported by Ralf Wildenhues.
80558         Fix memmem test for mingw.
80559         * modules/memmem-tests (configure.ac): Check for alarm.
80560         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
80561         it.
80562         * doc/functions/memmem.texi: New file.
80563         * doc/gnulib.texi (Function Substitutes): Add memmem.
80564         Reported by Bruno Haible.
80566 2008-01-04  Bruno Haible  <bruno@clisp.org>
80568         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
80569         Require gl_HEADER_STRINGS_H_DEFAULTS, not
80570         gl_HEADER_STRING_H_DEFAULTS.
80572 2008-01-04  Eric Blake  <ebb9@byu.net>
80574         Shorten duration of memmem test.
80575         * tests/test-memmem.c (main): Use alarm to declare failure if test
80576         is taking too long.
80577         Reported by Ralf Wildenhues.
80579 2007-12-21  Simon Josefsson  <simon@josefsson.org>
80581         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
80582         string, needed by strerror.
80584 2008-01-03  Colin Watson  <cjwatson@debian.org>
80585             Bruno Haible  <bruno@clisp.org>
80587         * doc/gnulib-tool.texi (Localization): New section.
80589 2008-01-02  Bruno Haible  <bruno@clisp.org>
80591         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
80592         variables to 'unsigned char *' type.
80593         Reported by Paul Eggert.
80595 2008-01-02  Jim Meyering  <jim@meyering.net>
80597         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
80599 2007-12-31  Jim Meyering  <jim@meyering.net>
80601         Avoid use of private FTS type name.
80602         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
80604 2007-12-30  Karl Berry  <karl@gnu.org>
80606         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
80607         work around defect in Texinfo and/or the standalone Info browser.
80609 2007-12-30  Bruno Haible  <bruno@clisp.org>
80611         Unify 5 copies of the KMP code.
80612         * lib/str-kmp.h: New file.
80613         * lib/c-strcasestr.c: Include str-kmp.h.
80614         (knuth_morris_pratt): Remove function.
80615         (c_strcasestr): Update.
80616         * lib/c-strstr.c: Include str-kmp.h.
80617         (knuth_morris_pratt): Remove function.
80618         (c_strcasestr): Update.
80619         * lib/mbscasestr.c: Include str-kmp.h.
80620         (knuth_morris_pratt_unibyte): Remove function.
80621         * lib/mbsstr.c: Include str-kmp.h.
80622         (knuth_morris_pratt_unibyte): Remove function.
80623         * lib/strcasestr.c: Include str-kmp.h.
80624         (knuth_morris_pratt): Remove function.
80625         (strcasestr): Update.
80626         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
80627         * modules/c-strstr (Files): Likewise.
80628         * modules/mbscasestr (Files): Likewise.
80629         * modules/mbsstr (Files): Likewise.
80630         * modules/strcasestr (Files): Likewise.
80631         Suggested by Paul Eggert.
80633 2007-12-30  Bruno Haible  <bruno@clisp.org>
80635         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
80636         defined.
80638 2007-12-30  Bruno Haible  <bruno@clisp.org>
80640         * lib/xmalloca.h: Include xalloc.h.
80641         (xnmalloca): New macro.
80643 2007-12-30  Bruno Haible  <bruno@clisp.org>
80645         * lib/malloca.h (nmalloca): New macro.
80646         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
80647         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
80648         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
80649         knuth_morris_pratt_multibyte): Likewise.
80650         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
80651         knuth_morris_pratt_multibyte): Likewise.
80652         * lib/memmem.c (knuth_morris_pratt): Likewise.
80653         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
80655 2007-12-25  Bruno Haible  <bruno@clisp.org>
80657         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
80658         * lib/glob.c: Don't include openat.h.
80659         (link_exists2_p): Add back the code that deals with the
80660         !GLOB_ALTDIRFUNC case.
80661         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
80662         let it do the filename concatenation.
80663         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
80664         * modules/glob (Depends-on): Remove openat.
80666 2007-12-31  Bruno Haible  <bruno@clisp.org>
80668         * modules/dirfd (License): Change to LGPLv2+.
80669         Approved by Jim Meyering.
80671 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
80673         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
80674         when multiplying M by sizeof (size_t).
80676 2007-12-10  Martin Lambers  <marlam@marlam.de>
80678         Override getpagesize on mingw.
80679         * lib/getpagesize.c: New file.
80680         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
80681         * modules/getpagesize (Files): Add lib/getpagesize.c.
80682         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
80683         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
80684         REPLACE_GETPAGESIZE.
80685         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
80687 2007-12-25  Bruno Haible  <bruno@clisp.org>
80689         * modules/localcharset (Notice): New field.
80690         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
80691         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
80693 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
80694             Bruno Haible  <bruno@clisp.org>
80696         Avoid using the syntax symbol() in formatted documentation.
80697         * MODULES.html.sh (func_module): When replacing symbol() with a
80698         hyperlink, remove the parentheses. Show an error if some remain.
80699         Recognize and render the '...' syntax.
80700         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
80701         Rework. Add paragraph about GCC's inlining.
80702         * doc/alloca.texi: Likewise.
80703         * doc/error.texi: Remove parentheses from symbol reference.
80704         * doc/gnulib-intro.texi: Likewise.
80705         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
80706         * modules/fnmatch (Description): Reword to say "the ... function".
80707         * modules/full-read (Description): Likewise.
80708         * modules/full-write (Description): Likewise.
80709         * modules/safe-read (Description): Likewise.
80710         * modules/safe-write (Description): Likewise.
80711         * modules/strchrnul (Description): Likewise.
80712         * modules/trim (Description): Likewise.
80713         * modules/error (Description): Remove parentheses from symbol
80714         references.
80715         * modules/verror (Description): Likewise.
80716         Reported by Karl Berry.
80718 2007-12-25  Bruno Haible  <bruno@clisp.org>
80720         Fixup after 2007-10-16 commit.
80721         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
80723 2007-12-24  Bruno Haible  <bruno@clisp.org>
80725         Make --enable-relocatable work with DESTDIR.
80726         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
80727         to compute installdir from destprog.
80728         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
80729         also set the RELOC_DESTDIR variable.
80730         Reported by Левашев Иван <octagram@bluebottle.com>.
80732 2007-12-24  Bruno Haible  <bruno@clisp.org>
80734         Fix link error due to xalloc_die().
80735         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
80736         of xreadlink.
80737         * lib/relocwrapper.c: Update comments.
80738         * build-aux/install-reloc: Remove xreadlink.c from file list.
80739         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
80740         xreadlink.c.
80741         Reported by Левашев Иван <octagram@bluebottle.com>.
80743 2007-12-24  Bruno Haible  <bruno@clisp.org>
80745         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
80746         * lib/setenv.h: Remove file.
80747         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
80748         lib/setenv.h.
80749         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
80750         (Depends-on): Add stdlib.
80751         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
80752         gl_FUNC_UNSETENV.
80753         (Include): Replace setenv.h with <stdlib.h>.
80754         * modules/unsetenv: New file.
80755         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
80756         * lib/unsetenv.c: Include <stdlib.h> first.
80757         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
80758         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
80759         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
80760         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
80761         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
80762         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
80763         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
80764         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
80765         * doc/functions/unsetenv.texi: Update.
80766         * modules/xsetenv (Depends-on): Add unsetenv.
80767         * modules/getdate (Depends-on): Likewise.
80768         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
80769         * lib/xsetenv.c: Don't include setenv.h.
80770         * lib/getdate.y: Likewise.
80771         * lib/relocwrapper.c: Likewise.
80772         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
80773         (Depends-on): Add stdlib.
80774         * NEWS: Mention the changes.
80775         Reported by Левашев Иван <octagram@bluebottle.com>.
80777 2007-12-23  Bruno Haible  <bruno@clisp.org>
80779         * lib/memmem.c (memmem): Use lowercase variable names. Tab
80780         indentation.
80782 2007-12-23  Bruno Haible  <bruno@clisp.org>
80784         * lib/c-strcasestr.c: Add more comments.
80785         * lib/c-strstr.c: Likewise.
80786         * lib/mbscasestr.c: Likewise.
80787         * lib/mbsstr.c: Likewise.
80788         * lib/strcasestr.c: Likewise.
80789         * lib/memmem.c: Likewise.
80791 2007-12-23  Bruno Haible  <bruno@clisp.org>
80793         * tests/test-memmem.c: Include <string.h> first.
80795 2007-12-22  Bruno Haible  <bruno@clisp.org>
80797         * gnulib-tool (func_create_testdir): Change $auxdir while generating
80798         the contents of $testsbase.
80799         Reported by Ralf Wildenhues.
80801 2007-12-22  Bruno Haible  <bruno@clisp.org>
80803         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
80804         two variables local_ldadd_before, local_ldadd_last.
80806 2007-12-20  Eric Blake  <ebb9@byu.net>
80808         Work around circular library issue when cross-compiling.
80809         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
80810         that progname.o does not need to pull in rpl_memcmp.
80812 2007-12-19  Eric Blake  <ebb9@byu.net>
80814         Fix memmem to avoid O(n^2) worst-case complexity.
80815         * lib/memmem.c (knuth_morris_pratt): New function.
80816         (memmem): Use it if first few naive iterations fail.
80817         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
80818         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
80819         * modules/memchr (License): Likewise.
80820         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
80821         malloca.
80822         * tests/test-memmem.c: Rewrite, borrowing ideas from
80823         test-mbsstr1.c; the old version wouldn't even compile!
80824         * modules/memmem-tests: New file.
80825         * lib/string.in.h (rpl_memmem): Add declaration.
80826         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
80827         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
80828         REPLACE_MEMMEM.
80830 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
80832         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
80833         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
80834         before any system include files, and undef after them all.  This
80835         should fix a problem on VMS reported by John E. Malmberg in
80836         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00118.html>.
80838 2007-12-17  Eric Blake  <ebb9@byu.net>
80840         Revert addition of verify, for BSD/OS.
80841         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
80842         can't handle large files, for the sake of obsolete platforms.
80843         * modules/fseeko (Depends-on): Remove verify.
80844         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
80845         * doc/functions/ftello.texi (ftello): Likewise.
80846         * doc/functions/fgetpos.texi (fgetpos): Likewise.
80847         Reported by Larry Jones.
80849 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
80851         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
80852         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
80854 2007-12-17  Jim Meyering  <meyering@redhat.com>
80856         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
80857         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
80858         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
80859         * modules/getcwd (Depends-on): Add openat.
80860         Reported by Petr Salinger.
80862 2007-12-17  Bruno Haible  <bruno@clisp.org>
80864         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
80865         avoid a segmentation fault of the configure test on x86_64 systems.
80867 2007-12-15  Jim Meyering  <meyering@redhat.com>
80869         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
80871 2007-12-13  Eric Blake  <ebb9@byu.net>
80873         Another fseek test.
80874         * tests/test-fseek.c (main): Also test ungetc handling.
80875         * tests/test-fseeko.c (main): Likewise.
80876         * modules/fseeko (Depends-on): Add verify.
80877         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
80878         large.
80879         Reported by Larry Jones.
80881         Fix fseeko on mingw.
80882         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
80883         seek.
80885         Beef up fseek tests.
80886         * tests/test-fseek.c (main): Also test eof handling.
80887         * tests/test-fseeko.c (main): Likewise.
80888         Reported by Larry Jones.
80890 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
80892         Fix fseeko on BSD-based platforms.
80893         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
80894         successful seek.
80896 2007-12-12  Eric Blake  <ebb9@byu.net>
80898         Allow circular dependency of separate libtests.a
80899         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
80900         when use_libtests.
80902 2007-12-11  Eric Blake  <ebb9@byu.net>
80904         Fix bug with -0.0L in previous patch.
80905         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
80906         * tests/test-isnan.c (main): Also test on zeroes.
80907         * tests/test-isnanf.c (main): Likewise.
80908         * tests/test-isnanl.h (main): Likewise.
80910         Detect pseudo-denormals on x86 even when cross-compiling.
80911         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
80912         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
80913         invalid bit patterns that happen to satisfy ==.
80915         Avoid link failures with separate libtests.a.
80916         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
80917         last, to satisfy circular dependencies.
80919 2007-12-11  Eric Blake  <ebb9@byu.net>
80920         and Bruno Haible  <bruno@clisp.org>
80922         Fix OpenBSD 4.0 <float.h> handling of long double.
80923         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
80924         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
80925         * doc/headers/float.texi (float.h): Document OpenBSD bug.
80927 2007-12-11  Jim Meyering  <meyering@redhat.com>
80929         * users.txt: Add libvirt.
80931         Support versions of autoconf prior to 2.59c.
80932         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
80933         if it is not already defined.
80935 2007-12-09  Bruno Haible  <bruno@clisp.org>
80937         Let 'gnulib-tool --import' collect sources needed for the tests in
80938         tests/ rather than in lib/.
80939         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
80940         argument. If true, add rules to generate libtests.a, and put libtests.a
80941         into $(LDADD). Consider source files in subdirectories and set
80942         uses_subdirs.
80943         (func_emit_initmacro_start, func_emit_initmacro_end,
80944         func_emit_initmacro_done): Pass all arguments explicitly.
80945         (func_import): Determine two module lists main_modules,
80946         testsrelated_modules. Determine use_libtests. Determine two variables
80947         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
80948         instead of just sed_transform_lib_file. Determine two variables
80949         main_files and testsrelated_files. Compute 'files' as the union of
80950         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
80951         func_add_or_update. In the generated gnulib-comp.m4, collect the
80952         object files for tests/ in different variables than those for lib/.
80953         Substitute LIBTESTS_LIBDEPS.
80954         (func_create_testdir): Combine the uses_subdirs results from
80955         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
80957 2007-12-09  Bruno Haible  <bruno@clisp.org>
80959         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
80960         the build-aux directory.
80962 2007-12-09  Bruno Haible  <bruno@clisp.org>
80964         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
80965         introduced on 2006-09-09.
80967 2007-12-07  Jim Meyering  <meyering@redhat.com>
80969         Let these macros work also with autoconf-2.59.
80970         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
80971         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
80972         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
80974 2007-12-06  Jim Meyering  <meyering@redhat.com>
80976         Avoid a configure-time syntax error in gl_FUNC_ACL.
80977         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
80978         function in each branch, before testing the cache variable.
80980 2007-12-04  Eric Blake  <ebb9@byu.net>
80982         Make scripts executable.
80983         * build-aux/config.guess: Add execute permissions.
80984         * build-aux/config.sub: Likewise.
80985         * build-aux/gendocs.sh: Likewise.
80987         Fix frexp on mingw.
80988         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
80989         cross-compiling.
80990         * doc/functions/frexp.texi (frexp): Document the bug.
80992         Make cygwin fseeko check more reliable.
80993         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
80994         version numbers, rather than unrelated feature check.
80995         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
80996         * doc/functions/ftello.texi (ftello): Likewise.
80997         Reported by Bruno Haible.
80999         * m4/strerror.m4: Bump version number.
81001 2007-12-03  Bruno Haible  <bruno@clisp.org>
81003         * doc/functions/mprotect.texi: Mention the mingw problem.
81005 2007-12-03  Eric Blake  <ebb9@byu.net>
81007         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
81008         REPLACE_STRERROR is initialized before this macro.
81010 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
81012         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
81013         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
81014         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
81015         put -lsec in even for programs other than 'ls'.  This fixes a problem
81016         for gettext reported by Bruno Haible in
81017         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00007.html>.
81018         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
81019         Add support for Solaris 10.  This isn't efficient, but should get the
81020         job done for now.
81022 2007-12-03  James Youngman  <jay@gnu.org>
81024         * doc/regexprops-generic.texi: change "an close-group" to "a
81025         close-group" and "illegal" to "not allowed".
81027 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81029         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
81030         pr_byname.h. Needed for the rare case when the maintainer has done
81031         "make maintainer-clean" in the source directory and then attempts a
81032         build outside the source directory.
81033         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
81034         scripts_byname.h.
81036 2007-12-02  Martin Lambers  <marlam@marlam.de>
81037             Bruno Haible  <bruno@clisp.org>
81039         * lib/getpagesize.h: Remove file.
81040         * lib/unistd.in.h: Include declaration of getpagesize here.
81041         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
81042         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
81043         HAVE_SYS_PARAM_H.
81044         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
81045         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
81046         * modules/getpagesize (Files): Remove lib/getpagesize.h.
81047         (Depends-on): Add unistd.
81048         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
81049         (Include): Use <unistd.h> instead of getpagesize.h.
81050         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
81051         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
81052         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
81053         gl_GETPAGESIZE invocation, already handled by module dependency.
81054         * lib/pagealign_alloc.c: Don't include getpagesize.h.
81056 2007-12-02  Bruno Haible  <bruno@clisp.org>
81058         * modules/strings-tests: New file.
81059         * tests/test-strings.c: New file.
81061         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
81062         * lib/strings.in.h: New file.
81063         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
81064         * m4/strings_h.m4: New file.
81065         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
81066         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
81067         * modules/strings: New file.
81068         * modules/string (Makefile.am): Update.
81069         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
81070         Reported by Karl Berry.
81072 2007-12-01  Eric Blake  <ebb9@byu.net>
81074         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
81075         accommodate fix in cygwin 1.5.25.
81077 2007-12-01  Jim Meyering  <meyering@redhat.com>
81079         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
81080         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
81081         that would inhibit utf8-optimization of a regexp containing line-
81082         or buffer-anchors, e.g., `^', `$'.
81084 2007-11-30  Bruno Haible  <bruno@clisp.org>
81086         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
81087         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
81088         glthread_recursive_lock_init.
81089         * lib/lock.c (glthread_recursive_lock_init)
81090         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
81091         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
81093 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
81095         New function qset_acl, like set_acl but with syscall semantics.
81096         * lib/acl.h (qset_acl): New decl.
81097         * lib/acl.c (qset_acl): New function.
81098         (set_acl): Use new function.  Use more-consistent diagnostics.
81100 2007-11-28  Jim Meyering  <meyering@redhat.com>
81102         * modules/physmem (License): Change from GPL to LGPLv2+.
81104 2007-11-26  Bruno Haible  <bruno@clisp.org>
81106         * lib/vasnprintf.c (decode_long_double): Don't abort if the
81107         'long double' type has excess precision.
81108         Reported by Jim Meyering in
81109         <http://lists.gnu.org/r/bug-gnulib/2007-11/msg00120.html>.
81111 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81113         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
81114         Sync from <http://gnu.org/licenses>.
81115         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
81116         with license text from same location.
81117         * doc/maintain.texi, doc/standards.texi:  Sync from
81118         <http://savannah.gnu.org/projects/gnustandards>.
81120 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
81121         and Jim Meyering  <meyering@redhat.com>
81123         Adjust getdate' grammar to accept a slightly more regular language.
81124         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
81125         Before, the former was rejected.
81126         * lib/getdate.y (digits_to_date_time): New function, factored
81127         out of ...
81128         (number): ...here.  Just call digits_to_date_time.
81129         (hybrid): New non-terminal to handle an <unsigned number,
81130         signed relative offset> sequence consistently.
81132 2007-11-18  Jim Meyering  <meyering@redhat.com>
81134         Pull my changes from coreutils:
81135         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
81136         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
81137         use of $gnulib_tool_option_extras, so that it's separated from the
81138         preceding argument.
81140         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
81141         * build-aux/bootstrap (cp_mark_as_generated): Create any required
81142         parent destination directories before copying a file into place.
81144 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
81146         bootstrap: work also with 4-argument variant of AC_INIT
81147         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
81149 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
81151         Port test-getaddrinfo to Solaris.
81152         Problem reported by Bruno Haible in
81153         <http://lists.gnu.org/r/bug-gnulib/2007-03/msg00171.html>.
81154         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
81155         explanation of setting 'hints'.
81156         Don't reject an implementation merely because it returns EAI_SERVICE.
81157         (EAI_SERVICE): Define to 0 if not defined.
81159 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
81161         The license of gnu-make and posix-shell is now "GPLed build tool".
81162         * modules/gnu-make (License): Likewise.
81163         * modules/posix-shell (License): Likewise.
81165         New module posix-shell, for determining a POSIX shell
81166         or perhaps something that is close enough to a POSIX shell.
81167         * m4/posix-shell.m4: New file.
81168         * modules/posix-shell: New file.
81170         * MODULES.html.sh: Mention new module.
81172         New module gnu-make, for determining whether we're using GNU Make.
81173         * m4/gnu-make.m4: New file.
81174         * modules/gnu-make: New file.
81175         * MODULES.html.sh: Mention new module.
81177 2007-11-14  Jim Meyering  <meyering@redhat.com>
81179         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
81180         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
81181         use this macro to create a function _definition_.
81182         Remove useless "#undef ARGMATCH_DIE".
81184 2007-11-14  Bruno Haible  <bruno@clisp.org>
81186         * lib/config.charset: Update for OpenBSD 4.1.
81187         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
81189 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
81191         Document 64-bit #if problems in stdint.texi.
81192         * doc/headers/stdint.texi (stdint.h): Mention problems with
81193         64-bit-#if, and how to work around them.
81195         Don't insist on 'long long int' support in the preprocessor.  It
81196         breaks too many things.  For example, PRIdMAX still uses a 'long
81197         long int' format with the latest Sun compiler, even though
81198         HAVE_LONG_LONG_INT isn't defined due to that compiler's
81199         preprocessor problem.  This causes the latest coreutils to dump
81200         core on Solaris 10 sparc with the Sun C compiler.
81201         Instead, fix the 2007-10-16 problem in a different way, by evaluating
81202         the troublesome expressions at configure-time, not at #if-time.
81203         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
81204         preprocessor.
81205         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
81206         compile-time C checks, done at 'configure'-time.
81207         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
81208         * modules/inttypes (Makefile): Substitute the new symbols that
81209         gl_INTTYPES_H now generates.
81210         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
81212 2007-11-12  Bruno Haible  <bruno@clisp.org>
81214         Tests for Unicode character classification functions.
81216         * modules/unictype/bidicategory-byname-tests: New file.
81217         * modules/unictype/bidicategory-name-tests: New file.
81218         * modules/unictype/bidicategory-of-tests: New file.
81219         * modules/unictype/bidicategory-test-tests: New file.
81220         * modules/unictype/block-list-tests: New file.
81221         * modules/unictype/block-of-tests: New file.
81222         * modules/unictype/block-test-tests: New file.
81223         * modules/unictype/category-C-tests: New file.
81224         * modules/unictype/category-Cc-tests: New file.
81225         * modules/unictype/category-Cf-tests: New file.
81226         * modules/unictype/category-Cn-tests: New file.
81227         * modules/unictype/category-Co-tests: New file.
81228         * modules/unictype/category-Cs-tests: New file.
81229         * modules/unictype/category-L-tests: New file.
81230         * modules/unictype/category-Ll-tests: New file.
81231         * modules/unictype/category-Lm-tests: New file.
81232         * modules/unictype/category-Lo-tests: New file.
81233         * modules/unictype/category-Lt-tests: New file.
81234         * modules/unictype/category-Lu-tests: New file.
81235         * modules/unictype/category-M-tests: New file.
81236         * modules/unictype/category-Mc-tests: New file.
81237         * modules/unictype/category-Me-tests: New file.
81238         * modules/unictype/category-Mn-tests: New file.
81239         * modules/unictype/category-N-tests: New file.
81240         * modules/unictype/category-Nd-tests: New file.
81241         * modules/unictype/category-Nl-tests: New file.
81242         * modules/unictype/category-No-tests: New file.
81243         * modules/unictype/category-P-tests: New file.
81244         * modules/unictype/category-Pc-tests: New file.
81245         * modules/unictype/category-Pd-tests: New file.
81246         * modules/unictype/category-Pe-tests: New file.
81247         * modules/unictype/category-Pf-tests: New file.
81248         * modules/unictype/category-Pi-tests: New file.
81249         * modules/unictype/category-Po-tests: New file.
81250         * modules/unictype/category-Ps-tests: New file.
81251         * modules/unictype/category-S-tests: New file.
81252         * modules/unictype/category-Sc-tests: New file.
81253         * modules/unictype/category-Sk-tests: New file.
81254         * modules/unictype/category-Sm-tests: New file.
81255         * modules/unictype/category-So-tests: New file.
81256         * modules/unictype/category-Z-tests: New file.
81257         * modules/unictype/category-Zl-tests: New file.
81258         * modules/unictype/category-Zp-tests: New file.
81259         * modules/unictype/category-Zs-tests: New file.
81260         * modules/unictype/category-and-not-tests: New file.
81261         * modules/unictype/category-and-tests: New file.
81262         * modules/unictype/category-byname-tests: New file.
81263         * modules/unictype/category-name-tests: New file.
81264         * modules/unictype/category-none-tests: New file.
81265         * modules/unictype/category-of-tests: New file.
81266         * modules/unictype/category-or-tests: New file.
81267         * modules/unictype/category-test-withtable-tests: New file.
81268         * modules/unictype/combining-class-tests: New file.
81269         * modules/unictype/ctype-alnum-tests: New file.
81270         * modules/unictype/ctype-alpha-tests: New file.
81271         * modules/unictype/ctype-blank-tests: New file.
81272         * modules/unictype/ctype-cntrl-tests: New file.
81273         * modules/unictype/ctype-digit-tests: New file.
81274         * modules/unictype/ctype-graph-tests: New file.
81275         * modules/unictype/ctype-lower-tests: New file.
81276         * modules/unictype/ctype-print-tests: New file.
81277         * modules/unictype/ctype-punct-tests: New file.
81278         * modules/unictype/ctype-space-tests: New file.
81279         * modules/unictype/ctype-upper-tests: New file.
81280         * modules/unictype/ctype-xdigit-tests: New file.
81281         * modules/unictype/decimal-digit-tests: New file.
81282         * modules/unictype/digit-tests: New file.
81283         * modules/unictype/mirror-tests: New file.
81284         * modules/unictype/numeric-tests: New file.
81285         * modules/unictype/property-alphabetic-tests: New file.
81286         * modules/unictype/property-ascii-hex-digit-tests: New file.
81287         * modules/unictype/property-bidi-arabic-digit-tests: New file.
81288         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
81289         * modules/unictype/property-bidi-block-separator-tests: New file.
81290         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
81291         * modules/unictype/property-bidi-common-separator-tests: New file.
81292         * modules/unictype/property-bidi-control-tests: New file.
81293         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
81294         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
81295         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
81296         * modules/unictype/property-bidi-european-digit-tests: New file.
81297         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
81298         * modules/unictype/property-bidi-left-to-right-tests: New file.
81299         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
81300         * modules/unictype/property-bidi-other-neutral-tests: New file.
81301         * modules/unictype/property-bidi-pdf-tests: New file.
81302         * modules/unictype/property-bidi-segment-separator-tests: New file.
81303         * modules/unictype/property-bidi-whitespace-tests: New file.
81304         * modules/unictype/property-byname-tests: New file.
81305         * modules/unictype/property-combining-tests: New file.
81306         * modules/unictype/property-composite-tests: New file.
81307         * modules/unictype/property-currency-symbol-tests: New file.
81308         * modules/unictype/property-dash-tests: New file.
81309         * modules/unictype/property-decimal-digit-tests: New file.
81310         * modules/unictype/property-default-ignorable-code-point-tests: New file.
81311         * modules/unictype/property-deprecated-tests: New file.
81312         * modules/unictype/property-diacritic-tests: New file.
81313         * modules/unictype/property-extender-tests: New file.
81314         * modules/unictype/property-format-control-tests: New file.
81315         * modules/unictype/property-grapheme-base-tests: New file.
81316         * modules/unictype/property-grapheme-extend-tests: New file.
81317         * modules/unictype/property-grapheme-link-tests: New file.
81318         * modules/unictype/property-hex-digit-tests: New file.
81319         * modules/unictype/property-hyphen-tests: New file.
81320         * modules/unictype/property-id-continue-tests: New file.
81321         * modules/unictype/property-id-start-tests: New file.
81322         * modules/unictype/property-ideographic-tests: New file.
81323         * modules/unictype/property-ids-binary-operator-tests: New file.
81324         * modules/unictype/property-ids-trinary-operator-tests: New file.
81325         * modules/unictype/property-ignorable-control-tests: New file.
81326         * modules/unictype/property-iso-control-tests: New file.
81327         * modules/unictype/property-join-control-tests: New file.
81328         * modules/unictype/property-left-of-pair-tests: New file.
81329         * modules/unictype/property-line-separator-tests: New file.
81330         * modules/unictype/property-logical-order-exception-tests: New file.
81331         * modules/unictype/property-lowercase-tests: New file.
81332         * modules/unictype/property-math-tests: New file.
81333         * modules/unictype/property-non-break-tests: New file.
81334         * modules/unictype/property-not-a-character-tests: New file.
81335         * modules/unictype/property-numeric-tests: New file.
81336         * modules/unictype/property-other-alphabetic-tests: New file.
81337         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
81338         * modules/unictype/property-other-grapheme-extend-tests: New file.
81339         * modules/unictype/property-other-id-continue-tests: New file.
81340         * modules/unictype/property-other-id-start-tests: New file.
81341         * modules/unictype/property-other-lowercase-tests: New file.
81342         * modules/unictype/property-other-math-tests: New file.
81343         * modules/unictype/property-other-uppercase-tests: New file.
81344         * modules/unictype/property-paired-punctuation-tests: New file.
81345         * modules/unictype/property-paragraph-separator-tests: New file.
81346         * modules/unictype/property-pattern-syntax-tests: New file.
81347         * modules/unictype/property-pattern-white-space-tests: New file.
81348         * modules/unictype/property-private-use-tests: New file.
81349         * modules/unictype/property-punctuation-tests: New file.
81350         * modules/unictype/property-quotation-mark-tests: New file.
81351         * modules/unictype/property-radical-tests: New file.
81352         * modules/unictype/property-sentence-terminal-tests: New file.
81353         * modules/unictype/property-soft-dotted-tests: New file.
81354         * modules/unictype/property-space-tests: New file.
81355         * modules/unictype/property-terminal-punctuation-tests: New file.
81356         * modules/unictype/property-test-tests: New file.
81357         * modules/unictype/property-titlecase-tests: New file.
81358         * modules/unictype/property-unassigned-code-value-tests: New file.
81359         * modules/unictype/property-unified-ideograph-tests: New file.
81360         * modules/unictype/property-uppercase-tests: New file.
81361         * modules/unictype/property-variation-selector-tests: New file.
81362         * modules/unictype/property-white-space-tests: New file.
81363         * modules/unictype/property-xid-continue-tests: New file.
81364         * modules/unictype/property-xid-start-tests: New file.
81365         * modules/unictype/property-zero-width-tests: New file.
81366         * modules/unictype/scripts-tests: New file.
81367         * modules/unictype/syntax-c-ident-tests: New file.
81368         * modules/unictype/syntax-c-whitespace-tests: New file.
81369         * modules/unictype/syntax-java-ident-tests: New file.
81370         * modules/unictype/syntax-java-whitespace-tests: New file.
81371         * tests/unictype/test-bidi_byname.c: New file.
81372         * tests/unictype/test-bidi_name.c: New file.
81373         * tests/unictype/test-bidi_of.c: New file.
81374         * tests/unictype/test-bidi_test.c: New file.
81375         * tests/unictype/test-block_list.c: New file.
81376         * tests/unictype/test-block_of.c: New file.
81377         * tests/unictype/test-block_test.c: New file.
81378         * tests/unictype/test-categ_and.c: New file.
81379         * tests/unictype/test-categ_and_not.c: New file.
81380         * tests/unictype/test-categ_byname.c: New file.
81381         * tests/unictype/test-categ_name.c: New file.
81382         * tests/unictype/test-categ_none.c: New file.
81383         * tests/unictype/test-categ_of.c: New file.
81384         * tests/unictype/test-categ_or.c: New file.
81385         * tests/unictype/test-categ_test_withtable.c: New file.
81386         * tests/unictype/test-combining.c: New file.
81387         * tests/unictype/test-decdigit.c: New file.
81388         * tests/unictype/test-digit.c: New file.
81389         * tests/unictype/test-mirror.c: New file.
81390         * tests/unictype/test-numeric.c: New file.
81391         * tests/unictype/test-pr_byname.c: New file.
81392         * tests/unictype/test-pr_test.c: New file.
81393         * tests/unictype/test-predicate-part1.h: New file.
81394         * tests/unictype/test-predicate-part2.h: New file.
81395         * tests/unictype/test-scripts.c: New file.
81396         * tests/unictype/test-sy_c_ident.c: New file.
81397         * tests/unictype/test-sy_java_ident.c: New file.
81399         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
81400         for Unicode 5.0.0.
81401         * tests/unictype/test-categ_Cc.c: Likewise.
81402         * tests/unictype/test-categ_Cf.c: Likewise.
81403         * tests/unictype/test-categ_Cn.c: Likewise.
81404         * tests/unictype/test-categ_Co.c: Likewise.
81405         * tests/unictype/test-categ_Cs.c: Likewise.
81406         * tests/unictype/test-categ_L.c: Likewise.
81407         * tests/unictype/test-categ_Ll.c: Likewise.
81408         * tests/unictype/test-categ_Lm.c: Likewise.
81409         * tests/unictype/test-categ_Lo.c: Likewise.
81410         * tests/unictype/test-categ_Lt.c: Likewise.
81411         * tests/unictype/test-categ_Lu.c: Likewise.
81412         * tests/unictype/test-categ_M.c: Likewise.
81413         * tests/unictype/test-categ_Mc.c: Likewise.
81414         * tests/unictype/test-categ_Me.c: Likewise.
81415         * tests/unictype/test-categ_Mn.c: Likewise.
81416         * tests/unictype/test-categ_N.c: Likewise.
81417         * tests/unictype/test-categ_Nd.c: Likewise.
81418         * tests/unictype/test-categ_Nl.c: Likewise.
81419         * tests/unictype/test-categ_No.c: Likewise.
81420         * tests/unictype/test-categ_P.c: Likewise.
81421         * tests/unictype/test-categ_Pc.c: Likewise.
81422         * tests/unictype/test-categ_Pd.c: Likewise.
81423         * tests/unictype/test-categ_Pe.c: Likewise.
81424         * tests/unictype/test-categ_Pf.c: Likewise.
81425         * tests/unictype/test-categ_Pi.c: Likewise.
81426         * tests/unictype/test-categ_Po.c: Likewise.
81427         * tests/unictype/test-categ_Ps.c: Likewise.
81428         * tests/unictype/test-categ_S.c: Likewise.
81429         * tests/unictype/test-categ_Sc.c: Likewise.
81430         * tests/unictype/test-categ_Sk.c: Likewise.
81431         * tests/unictype/test-categ_Sm.c: Likewise.
81432         * tests/unictype/test-categ_So.c: Likewise.
81433         * tests/unictype/test-categ_Z.c: Likewise.
81434         * tests/unictype/test-categ_Zl.c: Likewise.
81435         * tests/unictype/test-categ_Zp.c: Likewise.
81436         * tests/unictype/test-categ_Zs.c: Likewise.
81437         * tests/unictype/test-ctype_alnum.c: Likewise.
81438         * tests/unictype/test-ctype_alpha.c: Likewise.
81439         * tests/unictype/test-ctype_blank.c: Likewise.
81440         * tests/unictype/test-ctype_cntrl.c: Likewise.
81441         * tests/unictype/test-ctype_digit.c: Likewise.
81442         * tests/unictype/test-ctype_graph.c: Likewise.
81443         * tests/unictype/test-ctype_lower.c: Likewise.
81444         * tests/unictype/test-ctype_print.c: Likewise.
81445         * tests/unictype/test-ctype_punct.c: Likewise.
81446         * tests/unictype/test-ctype_space.c: Likewise.
81447         * tests/unictype/test-ctype_upper.c: Likewise.
81448         * tests/unictype/test-ctype_xdigit.c: Likewise.
81449         * tests/unictype/test-decdigit.h: Likewise.
81450         * tests/unictype/test-digit.h: Likewise.
81451         * tests/unictype/test-numeric.h: Likewise.
81452         * tests/unictype/test-pr_alphabetic.c: Likewise.
81453         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
81454         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
81455         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
81456         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
81457         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
81458         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
81459         * tests/unictype/test-pr_bidi_control.c: Likewise.
81460         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
81461         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
81462         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
81463         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
81464         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
81465         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
81466         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
81467         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
81468         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
81469         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
81470         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
81471         * tests/unictype/test-pr_combining.c: Likewise.
81472         * tests/unictype/test-pr_composite.c: Likewise.
81473         * tests/unictype/test-pr_currency_symbol.c: Likewise.
81474         * tests/unictype/test-pr_dash.c: Likewise.
81475         * tests/unictype/test-pr_decimal_digit.c: Likewise.
81476         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
81477         * tests/unictype/test-pr_deprecated.c: Likewise.
81478         * tests/unictype/test-pr_diacritic.c: Likewise.
81479         * tests/unictype/test-pr_extender.c: Likewise.
81480         * tests/unictype/test-pr_format_control.c: Likewise.
81481         * tests/unictype/test-pr_grapheme_base.c: Likewise.
81482         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
81483         * tests/unictype/test-pr_grapheme_link.c: Likewise.
81484         * tests/unictype/test-pr_hex_digit.c: Likewise.
81485         * tests/unictype/test-pr_hyphen.c: Likewise.
81486         * tests/unictype/test-pr_id_continue.c: Likewise.
81487         * tests/unictype/test-pr_id_start.c: Likewise.
81488         * tests/unictype/test-pr_ideographic.c: Likewise.
81489         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
81490         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
81491         * tests/unictype/test-pr_ignorable_control.c: Likewise.
81492         * tests/unictype/test-pr_iso_control.c: Likewise.
81493         * tests/unictype/test-pr_join_control.c: Likewise.
81494         * tests/unictype/test-pr_left_of_pair.c: Likewise.
81495         * tests/unictype/test-pr_line_separator.c: Likewise.
81496         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
81497         * tests/unictype/test-pr_lowercase.c: Likewise.
81498         * tests/unictype/test-pr_math.c: Likewise.
81499         * tests/unictype/test-pr_non_break.c: Likewise.
81500         * tests/unictype/test-pr_not_a_character.c: Likewise.
81501         * tests/unictype/test-pr_numeric.c: Likewise.
81502         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
81503         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
81504         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
81505         * tests/unictype/test-pr_other_id_continue.c: Likewise.
81506         * tests/unictype/test-pr_other_id_start.c: Likewise.
81507         * tests/unictype/test-pr_other_lowercase.c: Likewise.
81508         * tests/unictype/test-pr_other_math.c: Likewise.
81509         * tests/unictype/test-pr_other_uppercase.c: Likewise.
81510         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
81511         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
81512         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
81513         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
81514         * tests/unictype/test-pr_private_use.c: Likewise.
81515         * tests/unictype/test-pr_punctuation.c: Likewise.
81516         * tests/unictype/test-pr_quotation_mark.c: Likewise.
81517         * tests/unictype/test-pr_radical.c: Likewise.
81518         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
81519         * tests/unictype/test-pr_soft_dotted.c: Likewise.
81520         * tests/unictype/test-pr_space.c: Likewise.
81521         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
81522         * tests/unictype/test-pr_titlecase.c: Likewise.
81523         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
81524         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
81525         * tests/unictype/test-pr_uppercase.c: Likewise.
81526         * tests/unictype/test-pr_variation_selector.c: Likewise.
81527         * tests/unictype/test-pr_white_space.c: Likewise.
81528         * tests/unictype/test-pr_xid_continue.c: Likewise.
81529         * tests/unictype/test-pr_xid_start.c: Likewise.
81530         * tests/unictype/test-pr_zero_width.c: Likewise.
81531         * tests/unictype/test-sy_c_whitespace.c: Likewise.
81532         * tests/unictype/test-sy_java_whitespace.c: Likewise.
81534 2007-11-12  Bruno Haible  <bruno@clisp.org>
81536         Unicode character classification functions.
81537         * lib/unictype.h: New file.
81538         * modules/unictype/base: New file.
81539         * modules/unictype/category-L: New file.
81540         * modules/unictype/category-Lu: New file.
81541         * modules/unictype/category-Ll: New file.
81542         * modules/unictype/category-Lt: New file.
81543         * modules/unictype/category-Lm: New file.
81544         * modules/unictype/category-Lo: New file.
81545         * modules/unictype/category-M: New file.
81546         * modules/unictype/category-Mn: New file.
81547         * modules/unictype/category-Mc: New file.
81548         * modules/unictype/category-Me: New file.
81549         * modules/unictype/category-N: New file.
81550         * modules/unictype/category-Nd: New file.
81551         * modules/unictype/category-Nl: New file.
81552         * modules/unictype/category-No: New file.
81553         * modules/unictype/category-P: New file.
81554         * modules/unictype/category-Pc: New file.
81555         * modules/unictype/category-Pd: New file.
81556         * modules/unictype/category-Ps: New file.
81557         * modules/unictype/category-Pe: New file.
81558         * modules/unictype/category-Pi: New file.
81559         * modules/unictype/category-Pf: New file.
81560         * modules/unictype/category-Po: New file.
81561         * modules/unictype/category-S: New file.
81562         * modules/unictype/category-Sm: New file.
81563         * modules/unictype/category-Sc: New file.
81564         * modules/unictype/category-Sk: New file.
81565         * modules/unictype/category-So: New file.
81566         * modules/unictype/category-Z: New file.
81567         * modules/unictype/category-Zs: New file.
81568         * modules/unictype/category-Zl: New file.
81569         * modules/unictype/category-Zp: New file.
81570         * modules/unictype/category-C: New file.
81571         * modules/unictype/category-Cc: New file.
81572         * modules/unictype/category-Cf: New file.
81573         * modules/unictype/category-Cs: New file.
81574         * modules/unictype/category-Co: New file.
81575         * modules/unictype/category-Cn: New file.
81576         * modules/unictype/category-or: New file.
81577         * modules/unictype/category-of: New file.
81578         * modules/unictype/category-test: New file.
81579         * modules/unictype/category-test-withtable: New file.
81580         * modules/unictype/category-byname: New file.
81581         * modules/unictype/category-none: New file.
81582         * modules/unictype/category-and: New file.
81583         * modules/unictype/category-and-not: New file.
81584         * modules/unictype/category-name: New file.
81585         * modules/unictype/combining-class: New file.
81586         * modules/unictype/category-all: New file.
81587         * modules/unictype/bidicategory-all: New file.
81588         * modules/unictype/bidicategory-byname: New file.
81589         * modules/unictype/bidicategory-name: New file.
81590         * modules/unictype/bidicategory-of: New file.
81591         * modules/unictype/bidicategory-test: New file.
81592         * modules/unictype/decimal-digit: New file.
81593         * modules/unictype/digit: New file.
81594         * modules/unictype/numeric: New file.
81595         * modules/unictype/mirror: New file.
81596         * modules/unictype/property-white-space: New file.
81597         * modules/unictype/property-alphabetic: New file.
81598         * modules/unictype/property-other-alphabetic: New file.
81599         * modules/unictype/property-not-a-character: New file.
81600         * modules/unictype/property-default-ignorable-code-point: New file.
81601         * modules/unictype/property-other-default-ignorable-code-point: New
81602         file.
81603         * modules/unictype/property-deprecated: New file.
81604         * modules/unictype/property-logical-order-exception: New file.
81605         * modules/unictype/property-variation-selector: New file.
81606         * modules/unictype/property-private-use: New file.
81607         * modules/unictype/property-unassigned-code-value: New file.
81608         * modules/unictype/property-uppercase: New file.
81609         * modules/unictype/property-other-uppercase: New file.
81610         * modules/unictype/property-lowercase: New file.
81611         * modules/unictype/property-other-lowercase: New file.
81612         * modules/unictype/property-titlecase: New file.
81613         * modules/unictype/property-soft-dotted: New file.
81614         * modules/unictype/property-id-start: New file.
81615         * modules/unictype/property-other-id-start: New file.
81616         * modules/unictype/property-id-continue: New file.
81617         * modules/unictype/property-other-id-continue: New file.
81618         * modules/unictype/property-xid-start: New file.
81619         * modules/unictype/property-xid-continue: New file.
81620         * modules/unictype/property-pattern-white-space: New file.
81621         * modules/unictype/property-pattern-syntax: New file.
81622         * modules/unictype/property-join-control: New file.
81623         * modules/unictype/property-grapheme-base: New file.
81624         * modules/unictype/property-grapheme-extend: New file.
81625         * modules/unictype/property-other-grapheme-extend: New file.
81626         * modules/unictype/property-grapheme-link: New file.
81627         * modules/unictype/property-bidi-control: New file.
81628         * modules/unictype/property-bidi-left-to-right: New file.
81629         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
81630         * modules/unictype/property-bidi-arabic-right-to-left: New file.
81631         * modules/unictype/property-bidi-european-digit: New file.
81632         * modules/unictype/property-bidi-eur-num-separator: New file.
81633         * modules/unictype/property-bidi-eur-num-terminator: New file.
81634         * modules/unictype/property-bidi-arabic-digit: New file.
81635         * modules/unictype/property-bidi-common-separator: New file.
81636         * modules/unictype/property-bidi-block-separator: New file.
81637         * modules/unictype/property-bidi-segment-separator: New file.
81638         * modules/unictype/property-bidi-whitespace: New file.
81639         * modules/unictype/property-bidi-non-spacing-mark: New file.
81640         * modules/unictype/property-bidi-boundary-neutral: New file.
81641         * modules/unictype/property-bidi-pdf: New file.
81642         * modules/unictype/property-bidi-embedding-or-override: New file.
81643         * modules/unictype/property-bidi-other-neutral: New file.
81644         * modules/unictype/property-hex-digit: New file.
81645         * modules/unictype/property-ascii-hex-digit: New file.
81646         * modules/unictype/property-ideographic: New file.
81647         * modules/unictype/property-unified-ideograph: New file.
81648         * modules/unictype/property-radical: New file.
81649         * modules/unictype/property-ids-binary-operator: New file.
81650         * modules/unictype/property-ids-trinary-operator: New file.
81651         * modules/unictype/property-zero-width: New file.
81652         * modules/unictype/property-space: New file.
81653         * modules/unictype/property-non-break: New file.
81654         * modules/unictype/property-iso-control: New file.
81655         * modules/unictype/property-format-control: New file.
81656         * modules/unictype/property-dash: New file.
81657         * modules/unictype/property-hyphen: New file.
81658         * modules/unictype/property-punctuation: New file.
81659         * modules/unictype/property-line-separator: New file.
81660         * modules/unictype/property-paragraph-separator: New file.
81661         * modules/unictype/property-quotation-mark: New file.
81662         * modules/unictype/property-sentence-terminal: New file.
81663         * modules/unictype/property-terminal-punctuation: New file.
81664         * modules/unictype/property-currency-symbol: New file.
81665         * modules/unictype/property-math: New file.
81666         * modules/unictype/property-other-math: New file.
81667         * modules/unictype/property-paired-punctuation: New file.
81668         * modules/unictype/property-left-of-pair: New file.
81669         * modules/unictype/property-combining: New file.
81670         * modules/unictype/property-composite: New file.
81671         * modules/unictype/property-decimal-digit: New file.
81672         * modules/unictype/property-numeric: New file.
81673         * modules/unictype/property-diacritic: New file.
81674         * modules/unictype/property-extender: New file.
81675         * modules/unictype/property-ignorable-control: New file.
81676         * modules/unictype/property-test: New file.
81677         * modules/unictype/property-byname: New file.
81678         * modules/unictype/property-all: New file.
81679         * modules/unictype/scripts: New file.
81680         * modules/unictype/scripts-all: New file.
81681         * modules/unictype/block-of: New file.
81682         * modules/unictype/block-test: New file.
81683         * modules/unictype/block-list: New file.
81684         * modules/unictype/block-all: New file.
81685         * modules/unictype/syntax-c-whitespace: New file.
81686         * modules/unictype/syntax-java-whitespace: New file.
81687         * modules/unictype/syntax-c-ident: New file.
81688         * modules/unictype/syntax-java-ident: New file.
81689         * modules/unictype/ctype-alnum: New file.
81690         * modules/unictype/ctype-alpha: New file.
81691         * modules/unictype/ctype-cntrl: New file.
81692         * modules/unictype/ctype-digit: New file.
81693         * modules/unictype/ctype-graph: New file.
81694         * modules/unictype/ctype-lower: New file.
81695         * modules/unictype/ctype-print: New file.
81696         * modules/unictype/ctype-punct: New file.
81697         * modules/unictype/ctype-space: New file.
81698         * modules/unictype/ctype-upper: New file.
81699         * modules/unictype/ctype-xdigit: New file.
81700         * modules/unictype/ctype-blank: New file.
81701         * lib/unictype/bidi_byname.c: New file.
81702         * lib/unictype/bidi_name.c: New file.
81703         * lib/unictype/bidi_of.c: New file.
81704         * lib/unictype/bidi_test.c: New file.
81705         * lib/unictype/bitmap.h: New file.
81706         * lib/unictype/block_test.c: New file.
81707         * lib/unictype/blocks.c: New file.
81708         * lib/unictype/categ_C.c: New file.
81709         * lib/unictype/categ_Cc.c: New file.
81710         * lib/unictype/categ_Cf.c: New file.
81711         * lib/unictype/categ_Cn.c: New file.
81712         * lib/unictype/categ_Co.c: New file.
81713         * lib/unictype/categ_Cs.c: New file.
81714         * lib/unictype/categ_L.c: New file.
81715         * lib/unictype/categ_Ll.c: New file.
81716         * lib/unictype/categ_Lm.c: New file.
81717         * lib/unictype/categ_Lo.c: New file.
81718         * lib/unictype/categ_Lt.c: New file.
81719         * lib/unictype/categ_Lu.c: New file.
81720         * lib/unictype/categ_M.c: New file.
81721         * lib/unictype/categ_Mc.c: New file.
81722         * lib/unictype/categ_Me.c: New file.
81723         * lib/unictype/categ_Mn.c: New file.
81724         * lib/unictype/categ_N.c: New file.
81725         * lib/unictype/categ_Nd.c: New file.
81726         * lib/unictype/categ_Nl.c: New file.
81727         * lib/unictype/categ_No.c: New file.
81728         * lib/unictype/categ_P.c: New file.
81729         * lib/unictype/categ_Pc.c: New file.
81730         * lib/unictype/categ_Pd.c: New file.
81731         * lib/unictype/categ_Pe.c: New file.
81732         * lib/unictype/categ_Pf.c: New file.
81733         * lib/unictype/categ_Pi.c: New file.
81734         * lib/unictype/categ_Po.c: New file.
81735         * lib/unictype/categ_Ps.c: New file.
81736         * lib/unictype/categ_S.c: New file.
81737         * lib/unictype/categ_Sc.c: New file.
81738         * lib/unictype/categ_Sk.c: New file.
81739         * lib/unictype/categ_Sm.c: New file.
81740         * lib/unictype/categ_So.c: New file.
81741         * lib/unictype/categ_Z.c: New file.
81742         * lib/unictype/categ_Zl.c: New file.
81743         * lib/unictype/categ_Zp.c: New file.
81744         * lib/unictype/categ_Zs.c: New file.
81745         * lib/unictype/categ_and.c: New file.
81746         * lib/unictype/categ_and_not.c: New file.
81747         * lib/unictype/categ_byname.c: New file.
81748         * lib/unictype/categ_name.c: New file.
81749         * lib/unictype/categ_none.c: New file.
81750         * lib/unictype/categ_of.c: New file.
81751         * lib/unictype/categ_or.c: New file.
81752         * lib/unictype/categ_test.c: New file.
81753         * lib/unictype/combining.c: New file.
81754         * lib/unictype/ctype_alnum.c: New file.
81755         * lib/unictype/ctype_alpha.c: New file.
81756         * lib/unictype/ctype_blank.c: New file.
81757         * lib/unictype/ctype_cntrl.c: New file.
81758         * lib/unictype/ctype_digit.c: New file.
81759         * lib/unictype/ctype_graph.c: New file.
81760         * lib/unictype/ctype_lower.c: New file.
81761         * lib/unictype/ctype_print.c: New file.
81762         * lib/unictype/ctype_punct.c: New file.
81763         * lib/unictype/ctype_space.c: New file.
81764         * lib/unictype/ctype_upper.c: New file.
81765         * lib/unictype/ctype_xdigit.c: New file.
81766         * lib/unictype/decdigit.c: New file.
81767         * lib/unictype/digit.c: New file.
81768         * lib/unictype/identsyntaxmap.h: New file.
81769         * lib/unictype/mirror.c: New file.
81770         * lib/unictype/numeric.c: New file.
81771         * lib/unictype/pr_alphabetic.c: New file.
81772         * lib/unictype/pr_ascii_hex_digit.c: New file.
81773         * lib/unictype/pr_bidi_arabic_digit.c: New file.
81774         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
81775         * lib/unictype/pr_bidi_block_separator.c: New file.
81776         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
81777         * lib/unictype/pr_bidi_common_separator.c: New file.
81778         * lib/unictype/pr_bidi_control.c: New file.
81779         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
81780         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
81781         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
81782         * lib/unictype/pr_bidi_european_digit.c: New file.
81783         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
81784         * lib/unictype/pr_bidi_left_to_right.c: New file.
81785         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
81786         * lib/unictype/pr_bidi_other_neutral.c: New file.
81787         * lib/unictype/pr_bidi_pdf.c: New file.
81788         * lib/unictype/pr_bidi_segment_separator.c: New file.
81789         * lib/unictype/pr_bidi_whitespace.c: New file.
81790         * lib/unictype/pr_byname.c: New file.
81791         * lib/unictype/pr_byname.gperf: New file.
81792         * lib/unictype/pr_combining.c: New file.
81793         * lib/unictype/pr_composite.c: New file.
81794         * lib/unictype/pr_currency_symbol.c: New file.
81795         * lib/unictype/pr_dash.c: New file.
81796         * lib/unictype/pr_decimal_digit.c: New file.
81797         * lib/unictype/pr_default_ignorable_code_point.c: New file.
81798         * lib/unictype/pr_deprecated.c: New file.
81799         * lib/unictype/pr_diacritic.c: New file.
81800         * lib/unictype/pr_extender.c: New file.
81801         * lib/unictype/pr_format_control.c: New file.
81802         * lib/unictype/pr_grapheme_base.c: New file.
81803         * lib/unictype/pr_grapheme_extend.c: New file.
81804         * lib/unictype/pr_grapheme_link.c: New file.
81805         * lib/unictype/pr_hex_digit.c: New file.
81806         * lib/unictype/pr_hyphen.c: New file.
81807         * lib/unictype/pr_id_continue.c: New file.
81808         * lib/unictype/pr_id_start.c: New file.
81809         * lib/unictype/pr_ideographic.c: New file.
81810         * lib/unictype/pr_ids_binary_operator.c: New file.
81811         * lib/unictype/pr_ids_trinary_operator.c: New file.
81812         * lib/unictype/pr_ignorable_control.c: New file.
81813         * lib/unictype/pr_iso_control.c: New file.
81814         * lib/unictype/pr_join_control.c: New file.
81815         * lib/unictype/pr_left_of_pair.c: New file.
81816         * lib/unictype/pr_line_separator.c: New file.
81817         * lib/unictype/pr_logical_order_exception.c: New file.
81818         * lib/unictype/pr_lowercase.c: New file.
81819         * lib/unictype/pr_math.c: New file.
81820         * lib/unictype/pr_non_break.c: New file.
81821         * lib/unictype/pr_not_a_character.c: New file.
81822         * lib/unictype/pr_numeric.c: New file.
81823         * lib/unictype/pr_other_alphabetic.c: New file.
81824         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
81825         * lib/unictype/pr_other_grapheme_extend.c: New file.
81826         * lib/unictype/pr_other_id_continue.c: New file.
81827         * lib/unictype/pr_other_id_start.c: New file.
81828         * lib/unictype/pr_other_lowercase.c: New file.
81829         * lib/unictype/pr_other_math.c: New file.
81830         * lib/unictype/pr_other_uppercase.c: New file.
81831         * lib/unictype/pr_paired_punctuation.c: New file.
81832         * lib/unictype/pr_paragraph_separator.c: New file.
81833         * lib/unictype/pr_pattern_syntax.c: New file.
81834         * lib/unictype/pr_pattern_white_space.c: New file.
81835         * lib/unictype/pr_private_use.c: New file.
81836         * lib/unictype/pr_punctuation.c: New file.
81837         * lib/unictype/pr_quotation_mark.c: New file.
81838         * lib/unictype/pr_radical.c: New file.
81839         * lib/unictype/pr_sentence_terminal.c: New file.
81840         * lib/unictype/pr_soft_dotted.c: New file.
81841         * lib/unictype/pr_space.c: New file.
81842         * lib/unictype/pr_terminal_punctuation.c: New file.
81843         * lib/unictype/pr_test.c: New file.
81844         * lib/unictype/pr_titlecase.c: New file.
81845         * lib/unictype/pr_unassigned_code_value.c: New file.
81846         * lib/unictype/pr_unified_ideograph.c: New file.
81847         * lib/unictype/pr_uppercase.c: New file.
81848         * lib/unictype/pr_variation_selector.c: New file.
81849         * lib/unictype/pr_white_space.c: New file.
81850         * lib/unictype/pr_xid_continue.c: New file.
81851         * lib/unictype/pr_xid_start.c: New file.
81852         * lib/unictype/pr_zero_width.c: New file.
81853         * lib/unictype/scripts.c: New file.
81854         * lib/unictype/sy_c_ident.c: New file.
81855         * lib/unictype/sy_c_whitespace.c: New file.
81856         * lib/unictype/sy_java_ident.c: New file.
81857         * lib/unictype/sy_java_whitespace.c: New file.
81859         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
81860         Unicode 5.0.0.
81861         * lib/unictype/blocks.h: Likewise.
81862         * lib/unictype/categ_C.h: Likewise.
81863         * lib/unictype/categ_Cc.h: Likewise.
81864         * lib/unictype/categ_Cf.h: Likewise.
81865         * lib/unictype/categ_Cn.h: Likewise.
81866         * lib/unictype/categ_Co.h: Likewise.
81867         * lib/unictype/categ_Cs.h: Likewise.
81868         * lib/unictype/categ_L.h: Likewise.
81869         * lib/unictype/categ_Ll.h: Likewise.
81870         * lib/unictype/categ_Lm.h: Likewise.
81871         * lib/unictype/categ_Lo.h: Likewise.
81872         * lib/unictype/categ_Lt.h: Likewise.
81873         * lib/unictype/categ_Lu.h: Likewise.
81874         * lib/unictype/categ_M.h: Likewise.
81875         * lib/unictype/categ_Mc.h: Likewise.
81876         * lib/unictype/categ_Me.h: Likewise.
81877         * lib/unictype/categ_Mn.h: Likewise.
81878         * lib/unictype/categ_N.h: Likewise.
81879         * lib/unictype/categ_Nd.h: Likewise.
81880         * lib/unictype/categ_Nl.h: Likewise.
81881         * lib/unictype/categ_No.h: Likewise.
81882         * lib/unictype/categ_P.h: Likewise.
81883         * lib/unictype/categ_Pc.h: Likewise.
81884         * lib/unictype/categ_Pd.h: Likewise.
81885         * lib/unictype/categ_Pe.h: Likewise.
81886         * lib/unictype/categ_Pf.h: Likewise.
81887         * lib/unictype/categ_Pi.h: Likewise.
81888         * lib/unictype/categ_Po.h: Likewise.
81889         * lib/unictype/categ_Ps.h: Likewise.
81890         * lib/unictype/categ_S.h: Likewise.
81891         * lib/unictype/categ_Sc.h: Likewise.
81892         * lib/unictype/categ_Sk.h: Likewise.
81893         * lib/unictype/categ_Sm.h: Likewise.
81894         * lib/unictype/categ_So.h: Likewise.
81895         * lib/unictype/categ_Z.h: Likewise.
81896         * lib/unictype/categ_Zl.h: Likewise.
81897         * lib/unictype/categ_Zp.h: Likewise.
81898         * lib/unictype/categ_Zs.h: Likewise.
81899         * lib/unictype/categ_of.h: Likewise.
81900         * lib/unictype/combining.h: Likewise.
81901         * lib/unictype/ctype_alnum.h: Likewise.
81902         * lib/unictype/ctype_alpha.h: Likewise.
81903         * lib/unictype/ctype_blank.h: Likewise.
81904         * lib/unictype/ctype_cntrl.h: Likewise.
81905         * lib/unictype/ctype_digit.h: Likewise.
81906         * lib/unictype/ctype_graph.h: Likewise.
81907         * lib/unictype/ctype_lower.h: Likewise.
81908         * lib/unictype/ctype_print.h: Likewise.
81909         * lib/unictype/ctype_punct.h: Likewise.
81910         * lib/unictype/ctype_space.h: Likewise.
81911         * lib/unictype/ctype_upper.h: Likewise.
81912         * lib/unictype/ctype_xdigit.h: Likewise.
81913         * lib/unictype/decdigit.h: Likewise.
81914         * lib/unictype/digit.h: Likewise.
81915         * lib/unictype/mirror.h: Likewise.
81916         * lib/unictype/numeric.h: Likewise.
81917         * lib/unictype/pr_alphabetic.h: Likewise.
81918         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
81919         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
81920         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
81921         * lib/unictype/pr_bidi_block_separator.h: Likewise.
81922         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
81923         * lib/unictype/pr_bidi_common_separator.h: Likewise.
81924         * lib/unictype/pr_bidi_control.h: Likewise.
81925         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
81926         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
81927         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
81928         * lib/unictype/pr_bidi_european_digit.h: Likewise.
81929         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
81930         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
81931         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
81932         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
81933         * lib/unictype/pr_bidi_pdf.h: Likewise.
81934         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
81935         * lib/unictype/pr_bidi_whitespace.h: Likewise.
81936         * lib/unictype/pr_combining.h: Likewise.
81937         * lib/unictype/pr_composite.h: Likewise.
81938         * lib/unictype/pr_currency_symbol.h: Likewise.
81939         * lib/unictype/pr_dash.h: Likewise.
81940         * lib/unictype/pr_decimal_digit.h: Likewise.
81941         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
81942         * lib/unictype/pr_deprecated.h: Likewise.
81943         * lib/unictype/pr_diacritic.h: Likewise.
81944         * lib/unictype/pr_extender.h: Likewise.
81945         * lib/unictype/pr_format_control.h: Likewise.
81946         * lib/unictype/pr_grapheme_base.h: Likewise.
81947         * lib/unictype/pr_grapheme_extend.h: Likewise.
81948         * lib/unictype/pr_grapheme_link.h: Likewise.
81949         * lib/unictype/pr_hex_digit.h: Likewise.
81950         * lib/unictype/pr_hyphen.h: Likewise.
81951         * lib/unictype/pr_id_continue.h: Likewise.
81952         * lib/unictype/pr_id_start.h: Likewise.
81953         * lib/unictype/pr_ideographic.h: Likewise.
81954         * lib/unictype/pr_ids_binary_operator.h: Likewise.
81955         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
81956         * lib/unictype/pr_ignorable_control.h: Likewise.
81957         * lib/unictype/pr_iso_control.h: Likewise.
81958         * lib/unictype/pr_join_control.h: Likewise.
81959         * lib/unictype/pr_left_of_pair.h: Likewise.
81960         * lib/unictype/pr_line_separator.h: Likewise.
81961         * lib/unictype/pr_logical_order_exception.h: Likewise.
81962         * lib/unictype/pr_lowercase.h: Likewise.
81963         * lib/unictype/pr_math.h: Likewise.
81964         * lib/unictype/pr_non_break.h: Likewise.
81965         * lib/unictype/pr_not_a_character.h: Likewise.
81966         * lib/unictype/pr_numeric.h: Likewise.
81967         * lib/unictype/pr_other_alphabetic.h: Likewise.
81968         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
81969         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
81970         * lib/unictype/pr_other_id_continue.h: Likewise.
81971         * lib/unictype/pr_other_id_start.h: Likewise.
81972         * lib/unictype/pr_other_lowercase.h: Likewise.
81973         * lib/unictype/pr_other_math.h: Likewise.
81974         * lib/unictype/pr_other_uppercase.h: Likewise.
81975         * lib/unictype/pr_paired_punctuation.h: Likewise.
81976         * lib/unictype/pr_paragraph_separator.h: Likewise.
81977         * lib/unictype/pr_pattern_syntax.h: Likewise.
81978         * lib/unictype/pr_pattern_white_space.h: Likewise.
81979         * lib/unictype/pr_private_use.h: Likewise.
81980         * lib/unictype/pr_punctuation.h: Likewise.
81981         * lib/unictype/pr_quotation_mark.h: Likewise.
81982         * lib/unictype/pr_radical.h: Likewise.
81983         * lib/unictype/pr_sentence_terminal.h: Likewise.
81984         * lib/unictype/pr_soft_dotted.h: Likewise.
81985         * lib/unictype/pr_space.h: Likewise.
81986         * lib/unictype/pr_terminal_punctuation.h: Likewise.
81987         * lib/unictype/pr_titlecase.h: Likewise.
81988         * lib/unictype/pr_unassigned_code_value.h: Likewise.
81989         * lib/unictype/pr_unified_ideograph.h: Likewise.
81990         * lib/unictype/pr_uppercase.h: Likewise.
81991         * lib/unictype/pr_variation_selector.h: Likewise.
81992         * lib/unictype/pr_white_space.h: Likewise.
81993         * lib/unictype/pr_xid_continue.h: Likewise.
81994         * lib/unictype/pr_xid_start.h: Likewise.
81995         * lib/unictype/pr_zero_width.h: Likewise.
81996         * lib/unictype/scripts.h: Likewise.
81997         * lib/unictype/scripts_byname.gperf: Likewise.
81998         * lib/unictype/sy_c_ident.h: Likewise.
81999         * lib/unictype/sy_c_whitespace.h: Likewise.
82000         * lib/unictype/sy_java_ident.h: Likewise.
82001         * lib/unictype/sy_java_whitespace.h: Likewise.
82003         * lib/unictype/Makefile: New file.
82004         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
82005         glibc.
82006         * lib/unictype/3level.h: New file, copied from glibc.
82007         * lib/unictype/3levelbit.h: New file.
82009 2007-11-11  Bruno Haible  <bruno@clisp.org>
82011         * modules/gperf: New file.
82012         * modules/iconv_open (Depends-on): Add it.
82013         (Makefile.am): Remove the GPERF definition.
82015 2007-11-11  Bruno Haible  <bruno@clisp.org>
82017         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
82018         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
82020 2007-11-11  Bruno Haible  <bruno@clisp.org>
82022         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
82023         (usage): Remove function.
82025 2007-11-11  Bruno Haible  <bruno@clisp.org>
82027         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
82028         gl_FUNC_CEILF_LIBS.
82029         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
82030         gl_FUNC_CEIL_LIBS.
82031         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
82032         gl_FUNC_CEILL_LIBS.
82033         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
82034         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
82035         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
82037 2007-11-11  Bruno Haible  <bruno@clisp.org>
82039         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
82040         roundf were declared but do not exist on functions.
82041         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
82042         roundl were declared but do not exist on functions.
82043         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
82044         HAVE_FLOORL_AND_CEILL, respectively.
82045         Needed for Sun C on Solaris 10.
82047 2007-11-11  Bruno Haible  <bruno@clisp.org>
82049         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
82050         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
82051         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
82052         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
82053         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
82054         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
82055         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
82056         HAVE_DECL_ROUNDF.
82057         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
82058         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
82059         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
82060         of HAVE_DECL_ROUND*.
82061         * modules/math (Makefile.am): Update.
82063 2007-11-10  Bruno Haible  <bruno@clisp.org>
82065         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
82066         ptrdiff_t as m4/intl.m4.
82068 2007-11-10  Jim Meyering  <meyering@redhat.com>
82070         Avoid link failure for the argmatch test.
82071         * tests/test-argmatch.c (usage): Define function to avoid a link
82072         failure: argmatch_die requires a usage function.
82074 2007-11-09  Bruno Haible  <bruno@clisp.org>
82076         * doc/functions/snprintf.texi: Mention BeOS deficiency.
82077         * doc/functions/vsnprintf.texi: Likewise.
82078         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
82079         with a size argument < 2.
82081 2007-11-09  Bruno Haible  <bruno@clisp.org>
82083         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
82084         buffer. Fixes an inefficiency introduced on 2007-11-03.
82086 2007-11-09  Bruno Haible  <bruno@clisp.org>
82088         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
82089         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
82091 2007-11-08  Jim Meyering  <meyering@redhat.com>
82093         Change cache variable name prefix "jm_" to "gl_" everywhere.
82094         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
82095         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
82096         * m4/uptime.m4: s/gl_/jm_/
82098 2007-11-07  Bruno Haible  <bruno@clisp.org>
82100         Update to GNU gettext 0.17.
82101         * m4/intl.m4: Update to GNU gettext 0.17.
82102         * m4/po.m4: Likewise.
82103         * modules/gettext (Files): Remove m4/ulonglong.m4.
82104         (configure.ac): Require gettext infrastructure from version 0.17.
82106 2007-11-06  Bruno Haible  <bruno@clisp.org>
82108         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
82109         symbolic values are not defined in a public header.
82110         * lib/freadable.c (freadable) [QNX]: Likewise.
82111         * lib/freadahead.c (freadahead) [QNX]: Likewise.
82112         * lib/freading.c (freading) [QNX]: Likewise.
82113         * lib/fseterr.c (fseterr) [QNX]: Likewise.
82114         * lib/fwritable.c (fwritable) [QNX]: Likewise.
82115         * lib/fwriting.c (fwriting) [QNX]: Likewise.
82116         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
82117         Reported by Alain Magloire.
82119         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
82121 2007-11-05  Bruno Haible  <bruno@clisp.org>
82123         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
82124         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
82125         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
82126         Reported by Eric Blake.
82128 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82129             Bruno Haible  <bruno@clisp.org>
82131         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
82132         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
82133         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
82134         (malloc): Undefine also before including <stdlib.h>.
82135         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
82136         Needed on OSF/1 4.0.
82138 2007-11-05  Jim Meyering  <meyering@redhat.com>
82140         git-version-gen: sync from coreutils.
82141         * build-aux/git-version-gen: Add comments.
82142         Change the first '-' to '.' in the snapshot version string,
82143         e.g., 6.9-377-08144 -> 6.9.377-08144
82144         Remove first parameter.
82145         Don't declare a version "-dirty" merely because a time
82146         stamp has changed.
82148 2007-11-04  Bruno Haible  <bruno@clisp.org>
82150         * lib/lock.h: Protect all macro definitions containing an 'if'
82151         statement through a "do { ... } while (0)".
82152         * lib/tls.h: Likewise.
82154 2007-11-04  Bruno Haible  <bruno@clisp.org>
82156         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
82158 2007-11-04  Bruno Haible  <bruno@clisp.org>
82160         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
82161         * modules/fprintf-posix (Depends-on): Add nocrash.
82162         * modules/snprintf-posix (Depends-on): Likewise.
82163         * modules/sprintf-posix (Depends-on): Likewise.
82164         * modules/vasnprintf-posix (Depends-on): Likewise.
82165         * modules/vasprintf-posix (Depends-on): Likewise.
82166         * modules/vfprintf-posix (Depends-on): Likewise.
82167         * modules/vsnprintf-posix (Depends-on): Likewise.
82168         * modules/vsprintf-posix (Depends-on): Likewise.
82169         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
82170         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
82171         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
82172         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
82173         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
82174         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
82175         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
82177 2007-11-04  Bruno Haible  <bruno@clisp.org>
82179         * modules/nocrash: New file.
82180         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
82181         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
82183 2007-11-04  Bruno Haible  <bruno@clisp.org>
82185         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
82186         precision handling.
82187         * tests/test-vasprintf-posix.c (test_function): Likewise.
82188         * tests/test-snprintf-posix.h (test_function): Likewise.
82189         * tests/test-sprintf-posix.h (test_function): Likewise.
82191         Fix *printf behaviour for large precisions on mingw and BeOS.
82192         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
82193         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
82194         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
82195         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
82196         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
82197         gl_PRINTF_PRECISION and test its result. Invoke
82198         gl_PREREQ_VASNPRINTF_PRECISION.
82199         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
82200         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
82201         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
82202         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
82203         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
82204         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
82205         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
82206         * doc/functions/fprintf.texi: Update.
82207         * doc/functions/printf.texi: Update.
82208         * doc/functions/snprintf.texi: Update.
82209         * doc/functions/sprintf.texi: Update.
82210         * doc/functions/vfprintf.texi: Update.
82211         * doc/functions/vprintf.texi: Update.
82212         * doc/functions/vsnprintf.texi: Update.
82213         * doc/functions/vsprintf.texi: Update.
82215 2007-11-04  Bruno Haible  <bruno@clisp.org>
82217         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
82219 2007-11-04  Bruno Haible  <bruno@clisp.org>
82221         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
82222         Reported by Sylvain Beucler <beuc@gnu.org>.
82224 2007-11-03  Bruno Haible  <bruno@clisp.org>
82226         * tests/test-fprintf-posix2.sh: New file.
82227         * tests/test-fprintf-posix2.c: New file.
82228         * modules/fprintf-posix-tests (Files): Add them.
82229         (TESTS): Add test-fprintf-posix2.sh.
82230         (configure.ac): Check for getrlimit and setrlimit.
82231         (check_PROGRAMS): Add test-fprintf-posix2.
82233         * tests/test-printf-posix2.sh: New file.
82234         * tests/test-printf-posix2.c: New file.
82235         * modules/printf-posix-tests (Files): Add them.
82236         (TESTS): Add test-printf-posix2.sh.
82237         (configure.ac): Check for getrlimit and setrlimit.
82238         (check_PROGRAMS): Add test-printf-posix2.
82240         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
82241         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
82242         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
82243         (decode_double): New function, copied from decode_long_double.
82244         (scale10_round_decimal_decoded): New function, extracted from
82245         scale10_round_decimal_long_double.
82246         (scale10_round_decimal_long_double): Use it.
82247         (scale10_round_decimal_double): New function.
82248         (floorlog10): New function.
82249         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
82250         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
82251         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
82252         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
82253         gl_PRINTF_ENOMEM and test its result. Invoke
82254         gl_PREREQ_VASNPRINTF_ENOMEM.
82255         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
82256         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
82257         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
82258         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
82259         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
82260         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
82261         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
82262         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
82263         * modules/snprintf-posix (Depends-on): Likewise.
82264         * modules/sprintf-posix (Depends-on): Likewise.
82265         * modules/vasnprintf-posix (Depends-on): Likewise.
82266         * modules/vasprintf-posix (Depends-on): Likewise.
82267         * modules/vfprintf-posix (Depends-on): Likewise.
82268         * modules/vsnprintf-posix (Depends-on): Likewise.
82269         * modules/vsprintf-posix (Depends-on): Likewise.
82270         * doc/functions/fprintf.texi: Update.
82271         * doc/functions/printf.texi: Update.
82272         * doc/functions/snprintf.texi: Update.
82273         * doc/functions/sprintf.texi: Update.
82274         * doc/functions/vfprintf.texi: Update.
82275         * doc/functions/vprintf.texi: Update.
82276         * doc/functions/vsnprintf.texi: Update.
82277         * doc/functions/vsprintf.texi: Update.
82279 2007-11-03  Bruno Haible  <bruno@clisp.org>
82281         * modules/frexp-nolibm-tests: New file.
82283         * modules/frexp-nolibm: New file.
82284         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
82286 2007-11-03  Bruno Haible  <bruno@clisp.org>
82288         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
82289         value is C99 compliant.
82290         Needed for OSF/1 5.1.
82292 2007-11-03  Bruno Haible  <bruno@clisp.org>
82294         Fix out-of-memory handling of vasnprintf.
82295         * lib/printf-parse.c: Include <errno.h>.
82296         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
82297         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
82298         is already set.
82300 2007-11-02  Eric Blake  <ebb9@byu.net>
82302         Fix tests on cygwin.
82303         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
82305 2007-11-01  Bruno Haible  <bruno@clisp.org>
82307         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
82308         warning.
82309         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
82310         needed for POSIX compatibility.
82312 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
82314         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
82315         for compatibility with GNU.
82317 2007-11-01  Bruno Haible  <bruno@clisp.org>
82319         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
82320         (putenv): Renamed from rpl_putenv. Change argument type from
82321         'const char *' to 'char *'.
82322         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
82323         of defining putenv in config.h, just set REPLACE_PUTENV.
82324         * modules/putenv (Depends-on): Add stdlib.
82325         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
82326         (Include): Use <stdlib.h>.
82327         * lib/stdlib.in.h (putenv): New declaration.
82328         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
82329         REPLACE_PUTENV.
82330         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
82331         REPLACE_PUTENV.
82332         Needed for MacOS X 10.5.0.
82333         Reported by Peter O'Gorman <peter@pogma.com>.
82335 2007-11-01  Jim Meyering  <meyering@redhat.com>
82337         Treat an empty date string exactly like "0".
82338         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
82339         if the remaining date string (to be parsed) is empty, use "0".
82340         Reported by Mischa Molhoek and discussed in this thread:
82341         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
82343 2007-10-31  Bruno Haible  <bruno@clisp.org>
82345         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
82346         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
82347         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
82348         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
82349         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
82350         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
82352 2007-10-31  Bruno Haible  <bruno@clisp.org>
82354         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
82355         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
82356         (AC_TYPE_LONG_LONG_INT): Use it.
82357         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
82358         it as well.
82359         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
82360         to m4/longlong.m4.
82361         * modules/stdint (Files): Remove m4/ulonglong.m4.
82362         * modules/strtoull (Files): Use m4/longlong.m4 instead of
82363         m4/ulonglong.m4.
82364         * modules/strtoumax (Files): Likewise.
82366 2007-10-30  Bruno Haible  <bruno@clisp.org>
82368         * modules/xvasprintf-posix: New file.
82369         Suggested by Eric Blake.
82371 2007-10-30  Bruno Haible  <bruno@clisp.org>
82373         * modules/xprintf-posix-tests: New file.
82374         * tests/test-xprintf-posix.sh: New file.
82375         * tests/test-xprintf-posix.c: New file.
82376         * tests/test-xfprintf-posix.c: New file.
82378         * modules/xprintf-posix: New file.
82380 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82382         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
82383         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
82384         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
82386 2007-10-29  Bruno Haible  <bruno@clisp.org>
82388         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
82389         contain the special marker '_cv_'.
82390         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
82391         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
82392         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
82393         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
82394         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
82395         Reported by Ralf Wildenhues.
82397 2007-10-29  Bruno Haible  <bruno@clisp.org>
82399         * gnulib-tool (func_import): When --lgpl is not specified, set
82400         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
82401         GPLv3.
82402         Reported by Simon Josefsson.
82404 2007-10-28  Bruno Haible  <bruno@clisp.org>
82406         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
82407         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
82408         HAVE_DECL_ISFINITE.
82409         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
82410         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
82411         HAVE_DECL_ISFINITE.
82413 2007-10-28  Bruno Haible  <bruno@clisp.org>
82415         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
82416         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
82418 2007-10-28  Bruno Haible  <bruno@clisp.org>
82420         Fix link errors with Sun C 5.0 on Solaris 10.
82421         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
82422         function is declared but not present in the compiler's libm.
82423         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
82424         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
82425         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
82426         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
82427         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
82428         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
82429         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
82430         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
82431         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
82432         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
82433         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
82434         HAVE_DECL_FLOORL.
82436 2007-10-28  Bruno Haible  <bruno@clisp.org>
82438         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
82439         gl_FUNC_FLOORL. Cache the result.
82440         (gl_FUNC_FLOORL): Use it.
82441         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
82442         gl_FUNC_CEILL. Cache the result.
82443         (gl_FUNC_CEILL): Use it.
82445         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
82446         gl_FUNC_FLOOR. Cache the result.
82447         (gl_FUNC_FLOOR): Use it.
82448         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
82449         gl_FUNC_CEIL. Cache the result.
82450         (gl_FUNC_CEIL): Use it.
82452         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
82453         gl_FUNC_FLOORF. Cache the result.
82454         (gl_FUNC_FLOORF): Use it.
82455         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
82456         gl_FUNC_CEILF. Cache the result.
82457         (gl_FUNC_CEILF): Use it.
82459 2007-10-28  Bruno Haible  <bruno@clisp.org>
82461         * gnulib-tool: Allow specifying the LGPL version number through
82462         --lgpl=2 or --lgpl=3.
82463         (func_usage): Document --lgpl with argument.
82464         Handle --lgpl=... arguments.
82465         (func_import): Recognize also gl_LGPL calls with an argument. When
82466         --lgpl=2 is used and the module's license is just LGPL, report an
82467         error. Set sed_transform_lib_file according to the lgpl variable. In
82468         the generated files, use --lgpl or gl_LGPL invocations with argument,
82469         if necessary.
82470         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
82471         an LGPv2+ license.
82472         * doc/gnulib-tool.texi (Modified imports): Update explanation of
82473         gl_LGPL macro.
82475 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82476             Bruno Haible  <bruno@clisp.org>
82478         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
82479         (u16_uctomb_aux): Likewise.
82480         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
82481         !HAVE_INLINE.
82482         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
82484 2007-10-28  Bruno Haible  <bruno@clisp.org>
82486         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
82487         Invoke AM_GETTEXT_OPTION if it exists.
82488         * modules/vasprintf: Likewise.
82489         * modules/verror: Likewise.
82490         * modules/xprintf: Likewise.
82491         * modules/xvasprintf: Likewise.
82493 2007-10-27  Ben Pfaff  <blp@gnu.org>
82495         * lib/math.in.h: Define isfinite macro and prototypes for
82496         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
82497         implementations.
82498         * m4/math_h.m4: New substitutions for isfinite module.
82499         * lib/isfinite.c: New file.
82500         * m4/isfinite.m4: New file.
82501         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
82502         * modules/isfinite: New file.
82503         * modules/isfinite-tests: New file.
82504         * tests/tests-isfinite.c: New file.
82505         * doc/functions/isfinite.texi: Mention isfinite module.
82506         * MODULES.html.sh: Mention new module.
82508 2007-10-27  Ben Pfaff  <blp@gnu.org>
82510         Ralf Wildenhues reported that Tru64 4.0D declares the round
82511         functions but does not have definitions.
82512         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
82513         cannot be found in any library, set the output variable to
82514         "missing" instead of "".
82515         * m4/round.m4: Also use our substitute if we cannot find round in
82516         any library, even if it is declared.
82517         * m4/roundf.m4: Likewise for roundf.
82518         * m4/roundl.m4: Likewise for roundl.
82519         * lib/math.in.h: Undefine roundf, round, roundl before defining
82520         their replacements, to allow for hypothetical systems where these
82521         may be defined as macros but not available in libraries.
82523 2007-10-27  Bruno Haible  <bruno@clisp.org>
82525         * doc/gnulib.texi: Invoke @firstparagraphindent.
82526         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
82527         changes in gnulib.
82528         (Source changes): New section.
82530 2007-10-26  Bruno Haible  <bruno@clisp.org>
82532         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
82533         borrowed from autoconf.
82535 2007-10-26  Bruno Haible  <bruno@clisp.org>
82537         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
82538         strerror returned the empty string. Needed on HP-UX 11.00.
82540 2007-10-24  Micah Cowan  <micah@cowan.name>
82542         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
82543         * build-aux/bootstrap: Remove support for now-unnecessary option,
82544         --cvs-user, and envvars CVS_USER, CVS_RSH.
82546 2007-10-24  Jim Meyering  <meyering@redhat.com>
82548         Avoid diagnostics from sha1sum when there is no cached checksum.
82549         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
82550         if the po.s1 file hasn't been created yet.
82552         * build-aux/bootstrap: Sync from coreutils:
82553         2007-10-24  Jim Meyering  <meyering@redhat.com>
82554         Get gnulib from the git repository, not from an obsolete cvs one.
82555         * build-aux/bootstrap: Suggestion from Micah Cowan.
82556         2007-10-04  Jim Meyering  <jim@meyering.net>
82557         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
82558         (update_po_files): Work also when there are no .po files in po/.
82560 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
82562         * README: Append ".git" to git and cg examples.
82563         Problem reported by Benoit Sigoure.
82565 2007-10-23  Micah Cowan  <micah@cowan.name>
82567         * users.txt: Add wget.
82569 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82571         Fix linking of some unistdio tests on FreeBSD.
82572         * modules/unistdio/u16-vsnprintf-tests
82573         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
82574         * modules/unistdio/u16-vsprintf-tests
82575         (test_u16_vsnprintf1_LDADD): Likewise.
82576         * modules/unistdio/u32-vsnprintf-tests
82577         (test_u32_vsnprintf1_LDADD): Likewise.
82578         * modules/unistdio/u32-vsprintf-tests
82579         (test_u32_vsprintf1_LDADD): Likewise.
82580         * modules/unistdio/u8-vsnprintf-tests
82581         (test_u8_vsnprintf1_LDADD): Likewise.
82582         * modules/unistdio/u8-vsprintf-tests
82583         (test_u8_vsprintf1_LDADD): Likewise.
82584         * modules/unistdio/ulc-vsnprintf-tests
82585         (test_ulc_vsnprintf1_LDADD): Likewise.
82586         * modules/unistdio/ulc-vsprintf-tests
82587         (test_ulc_vsprintf1_LDADD): Likewise.
82589         Fix linking of some uniconv tests on FreeBSD.
82590         * modules/uniconv/u16-conv-from-enc-tests
82591         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
82592         * modules/uniconv/u16-conv-to-enc-tests
82593         (test_u16_conv_to_enc_LDADD): Likewise.
82594         * modules/uniconv/u16-strconv-from-enc-tests
82595         (test_u16_strconv_from_enc_LDADD): Likewise.
82596         * modules/uniconv/u16-strconv-to-enc-tests
82597         (test_u16_strconv_to_enc_LDADD): Likewise.
82598         * modules/uniconv/u32-conv-from-enc-tests
82599         (test_u32_conv_from_enc_LDADD): Likewise.
82600         * modules/uniconv/u32-conv-to-enc-tests
82601         (test_u32_conv_to_enc_LDADD): Likewise.
82602         * modules/uniconv/u32-strconv-from-enc-tests
82603         (test_u32_strconv_from_enc_LDADD): Likewise.
82604         * modules/uniconv/u32-strconv-to-enc-tests
82605         (test_u32_strconv_to_enc_LDADD): Likewise.
82606         * modules/uniconv/u8-conv-from-enc-tests
82607         (test_u8_conv_from_enc_LDADD): Likewise.
82608         * modules/uniconv/u8-conv-to-enc-tests
82609         (test_u8_conv_to_enc_LDADD): Likewise.
82610         * modules/uniconv/u8-strconv-from-enc-tests
82611         (test_u8_strconv_from_enc_LDADD): Likewise.
82612         * modules/uniconv/u8-strconv-to-enc-tests
82613         (test_u8_strconv_to_enc_LDADD): Likewise.
82615 2007-10-22  Bruno Haible  <bruno@clisp.org>
82617         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
82618         size.
82620 2007-10-22  Eric Blake  <ebb9@byu.net>
82622         Tweak x*printf documentation.
82623         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
82624         variable name and comments.
82625         Suggested by Bruno Haible.
82627 2007-10-22  Bruno Haible  <bruno@clisp.org>
82629         * lib/acl.c (copy_acl): Fix file name in comment.
82631 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
82633         Fix Tru64 problem with stdbool.h.
82634         * lib/stdbool.in.h (false, true):
82635         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
82636         Don't declare as an enum in this situation; it runs afoul of Tru64.
82637         Problem reported by Steven M. Schweda in
82638         <http://lists.gnu.org/r/bug-autoconf/2007-10/msg00019.html>.
82640 2007-10-22  Eric Blake  <ebb9@byu.net>
82642         Also wrap vf?printf.
82643         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
82644         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
82645         (xvprintf, xvfprintf): New functions.
82647 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82649         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
82650         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
82652         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
82653         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
82655 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
82657         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
82658         by Bruno Haible.
82660 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82662         * lib/getloadavg.c
82663         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
82664         Undef `sys' after including sys/table.h, for Tru64 4.0D.
82666         * tests/test-i-ring.c: Work for C89.
82668 2007-10-22  Bruno Haible  <bruno@clisp.org>
82670         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
82671         -1u, in preprocessor expression, so that we don't test for the bug
82672         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
82673         <http://lists.gnu.org/r/bug-gnulib/2007-10/msg00329.html>.
82675 2007-10-22  Eric Blake  <ebb9@byu.net>
82677         * tests/test-yesno.sh: Silence stderr during test.
82679 2007-10-22  Simon Josefsson  <simon@josefsson.org>
82681         * modules/crypto/gc-camellia: New file.
82683         * m4/gc-camellia.m4: New file.
82685         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
82687         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
82689 2007-10-22  Simon Josefsson  <simon@josefsson.org>
82691         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
82692         --help to stdout.  Reported by sms@antinode.org (Steven
82693         M. Schweda).
82695 2007-10-22  Simon Josefsson  <simon@josefsson.org>
82697         * users.txt: Fix link to libksba.
82699 2007-10-21  Ben Pfaff  <blp@gnu.org>
82701         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
82702         round.c roundf implementation that depends on floorf and ceilf to
82703         be tested unconditionally.
82705 2007-10-21  Ben Pfaff  <blp@gnu.org>
82707         * m4/check-libm-func.m4: Removed.
82708         * m4/check-math-lib.m4: New file.
82709         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
82710         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
82711         definition and lack of AC_LIBOBJ([roundf]).
82712         * m4/roundl.m4: Ditto, and similarly for roundl.
82713         * modules/round: Reference new m4 file.
82714         * modules/roundf: Ditto.
82715         * modules/roundl: Ditto.
82716         * tests/test-round2.c (main): Use ROUND instead of round.
82717         Bug report from Bruno Haible.
82719 2007-10-21  Bruno Haible  <bruno@clisp.org>
82721         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
82722         context.
82724 2007-10-21  Bruno Haible  <bruno@clisp.org>
82726         * tests/test-wcwidth.c (main): Allow negative result for some control
82727         characters.
82729         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
82730         Needed on OSF/1 5.1.
82732 2007-10-21  Bruno Haible  <bruno@clisp.org>
82734         * tests/test-floorf1.c: Include isnanf.h.
82735         (main): Use isnanf() instead of isnan().
82736         * tests/test-ceilf1.c: Include isnanf.h.
82737         (main): Use isnanf() instead of isnan().
82738         * tests/test-truncf1.c: Include isnanf.h.
82739         (main): Use isnanf() instead of isnan().
82740         * tests/test-roundf1.c: Include isnanf.h.
82741         (main): Use isnanf() instead of isnan().
82743 2007-10-21  Eric Blake  <ebb9@byu.net>
82745         * users.txt: Update URL for m4.
82747 2007-10-21  Bruno Haible  <bruno@clisp.org>
82749         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
82751 2007-10-21  Bruno Haible  <bruno@clisp.org>
82753         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
82754         Git's management files if the CVS files are not present.
82756 2007-10-20  Bruno Haible  <bruno@clisp.org>
82758         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
82759         gcc-3.4.x.
82761 2007-10-20  Ben Pfaff  <blp@gnu.org>
82763         * lib/math.in.h: Declare round, roundf, roundl if we are providing
82764         implementations.
82765         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
82766         * lib/round.c: New file.
82767         * lib/roundf.c: New file.
82768         * lib/roundl.c: New file.
82769         * m4/round.m4: New file.
82770         * m4/roundf.m4: New file.
82771         * m4/roundl.m4: New file.
82772         * m4/check-libm-func-m4: New file.
82773         * modules/math: Replace round, roundf, roundl related @VARS@ in
82774         math.in.h.
82775         * modules/round: New file.
82776         * modules/round-tests: New file.
82777         * modules/roundf: New file.
82778         * modules/roundf-tests: New file.
82779         * modules/roundl: New file.
82780         * modules/roundl-tests: New file.
82781         * tests/test-round1.c: New file.
82782         * tests/test-round2.c: New file.
82783         * tests/test-roundf1.c: New file.
82784         * tests/test-roundf2.c: New file.
82785         * tests/test-roundl.c: New file.
82786         * doc/functions/round.texi: Mention round module.
82787         * doc/functions/roundf.texi: Mention roundf module.
82788         * doc/functions/roundl.texi: Mention roundl module.
82789         * MODULES.html.sh: Mention new modules.
82790         Thanks to Bruno Haible for suggestions.
82792 2007-10-20  Jim Meyering  <meyering@redhat.com>
82794         * lib/xprintf.c: Include <config.h> unconditionally.
82796         Change xprintf's license to GPL.
82797         * modules/xprintf (License): s/LGPL/GPL/, since this module
82798         depends on modules (exit and exitfail) which are GPL.
82799         Suggestion from Bruno Haible.
82801         xprintf fixes.
82802         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
82803         Use a clearer diagnostic.
82804         Patch from Bruno Haible.
82806 2007-10-20  Bruno Haible  <bruno@clisp.org>
82808         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
82809         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
82810         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82812 2007-10-20  Bruno Haible  <bruno@clisp.org>
82814         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
82815         precision in the comparison result > x - 1 or similar.
82816         * tests/test-ceilf2.c (correct_result_p): Likewise.
82817         * tests/test-truncf2.c (correct_result_p): Likewise.
82818         * tests/test-trunc2.c (correct_result_p): Likewise.
82819         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82821 2007-10-20  Bruno Haible  <bruno@clisp.org>
82823         * modules/ceil: New file.
82824         * m4/ceil.m4: New file.
82825         * doc/functions/ceil.texi: Mention the 'ceil' module.
82827 2007-10-20  Bruno Haible  <bruno@clisp.org>
82829         * modules/floor: New file.
82830         * m4/floor.m4: New file.
82831         * doc/functions/floor.texi: Mention the 'floor' module.
82833 2007-10-20  Bruno Haible  <bruno@clisp.org>
82835         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
82836         of %a.
82837         * modules/floorf-tests (Depends-on): Likewise.
82838         * modules/truncf-tests (Depends-on): Likewise.
82839         * modules/trunc-tests (Depends-on): Likewise.
82840         Reported by Ben Pfaff.
82842 2007-10-19  Jim Meyering  <meyering@redhat.com>
82844         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
82845         Don't bother testing specific errno values.  Just test ferror.
82847         New module: xprintf
82848         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
82850 2007-10-19  Bruno Haible  <bruno@clisp.org>
82852         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
82853         syntax.
82854         * modules/javaexec (Makefile.am): Likewise.
82855         * modules/relocatable-prog (Makefile.am): Likewise.
82856         Suggested by Jim Meyering.
82858 2007-10-18  Bruno Haible  <bruno@clisp.org>
82860         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
82861         Reported by Jim Meyering.
82863 2007-10-18  Eric Blake  <ebb9@byu.net>
82865         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
82867 2007-10-18  Bruno Haible  <bruno@clisp.org>
82869         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
82870         the format string into writable memory. Needed in Fortify conditions.
82872 2007-10-18  Colin Watson  <cjwatson@debian.org>  (tiny change)
82873             Bruno Haible  <bruno@clisp.org>
82875         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
82876         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
82877         * modules/trim (Depends-on): Add mbchar.
82878         (configure.ac): Add gl_FUNC_MBRTOWC.
82879         (Makefile.am): Augment lib_SOURCES.
82881 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
82883         Modify glob.c to use fstatat and dirfd, to simplify it.
82884         Suggested by Eric Blake.
82885         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
82886         Don't include <stdbool.h>; not used.
82887         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
82888         (link_exists_p): Simplify implementation, since we can now assume
82889         dirfd and fstatat.
82890         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
82892 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82894         * gnulib-tool (func_get_dependencies): Fix sed script to
82895         match only tests.
82897 2007-10-17  Bruno Haible  <bruno@clisp.org>
82899         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
82900         allow locale names without encoding suffix.
82901         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
82902         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
82904 2007-10-16  Bruno Haible  <bruno@clisp.org>
82906         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
82907         * lib/getgroups.c (getgroups): Likewise.
82908         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
82910 2007-10-16  Bruno Haible  <bruno@clisp.org>
82912         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
82913         * modules/malloc-posix (License): Likewise.
82914         * modules/realloc-posix (License): Likewise.
82915         * modules/calloc-posix (License): Likewise.
82916         * modules/intprops (License): Change from GPL to LGPL, with
82917         Paul Eggert's approval.
82919 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
82921         Merge glibc changes into lib/glob.c.
82923         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
82924         2007-10-15 04:59:03 UTC.  Here are the changes:
82926         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
82928         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
82930         * lib/glob.c: Add some branch prediction throughout.
82932         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
82934         [BZ #5103]
82935         * lib/glob.c (glob): Recognize patterns starting \/.
82937         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
82939         [BZ #3996]
82940         * lib/glob.c (attribute_hidden): Define if not defined.
82941         (glob): Unescape dirname, filename or username when needed and not
82942         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
82943         is NULL.  Handle unescaped [ in pattern without closing ].
82944         Don't pass GLOB_CHECK down to recursive glob for directories.
82945         (__glob_pattern_type): New function.
82946         (__glob_pattern_p): Implement using __glob_pattern_type.
82947         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
82948         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
82949         Remove unreachable code.
82951         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
82953         * lib/glob.c (glob_in_dir): Add some comments and asserts to
82954         explain why there are no leaks.
82956         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
82958         [BZ #3253]
82959         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
82960         time, rather allocate increasingly bigger arrays of pointers, if
82961         possible with alloca, if too large with malloc.
82963 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
82965         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
82966         Problem reported by H.Merijn Brand in
82967         <http://lists.gnu.org/r/bug-tar/2007-10/msg00018.html>.
82968         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
82969         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
82971 2007-10-15  Bruno Haible  <bruno@clisp.org>
82973         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
82974         with explicit rpl_ prefix.
82975         * lib/fopen.c (fopen): Likewise.
82976         * lib/freopen.c (freopen): Likewise.
82977         * lib/iconv.c (iconv): Likewise.
82978         * lib/iconv_close.c (iconv_close): Likewise.
82980 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82982         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
82984 2007-10-15  Bruno Haible  <bruno@clisp.org>
82986         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
82987         <stddef.h> instead of <stdlib.h> since we only need NULL.
82988         Reported by Ben Pfaff <blp@cs.stanford.edu>.
82990 2007-10-15  Bruno Haible  <bruno@clisp.org>
82992         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
82993         Replace paragraph talking about LIBOBJS.
82994         Reported by Colin Watson <cjwatson@debian.org>.
82996 2007-10-15  Bruno Haible  <bruno@clisp.org>
82998         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
82999         <stdlib.h> before using NULL.
83001 2007-10-15  Simon Josefsson  <simon@josefsson.org>
83003         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
83004         Reported by Albert Chin <china@thewrittenword.com>.
83006 2007-10-14  Bruno Haible  <bruno@clisp.org>
83008         * modules/iconv_open-utf-tests: New file.
83009         * tests/test-iconv-utf.c: New file.
83011         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
83012         * modules/iconv_open-utf: New file.
83013         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
83014         (iconv, iconv_close): New declarations.
83015         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
83016         be defined.
83017         (iconv_open): Add special handling of conversion between UTF-8 and
83018         UTF-{16,32}{BE,LE}.
83019         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
83020         * lib/iconv_close.c: New file.
83021         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
83022         gl_FUNC_ICONV_OPEN.
83023         (gl_FUNC_ICONV_OPEN): Use it.
83024         (gl_FUNC_ICONV_OPEN_UTF): New macro.
83025         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
83026         and REPLACE_ICONV_UTF.
83027         * modules/iconv_open (Depends-on): Add c-strcase.
83028         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
83029         ICONV_CONST.
83030         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
83032 2007-10-13  Albert Chin  <china@thewrittenword.com>
83033             Bruno Haible  <bruno@clisp.org>
83035         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
83036         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
83038 2007-10-13  Bruno Haible  <bruno@clisp.org>
83040         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
83041         defined, use the ISO C99 inline semantics.
83042         * lib/argp.h (ARGP_EI): Likewise.
83044 2007-10-13  Bruno Haible  <bruno@clisp.org>
83046         Handle 'inline' change in gcc 4.3.0.
83047         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
83048         argp_fmtstream_write, argp_fmtstream_set_lmargin,
83049         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
83050         argp_fmtstream_point): Disable 'extern' declaration if the function
83051         definition is going to be provided inline.
83052         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
83053         semantics, not the ISO C99 inline semantics.
83054         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
83055         'extern' declaration if the function definition is going to be provided
83056         inline.
83057         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
83058         the GNU C inline semantics, not the ISO C99 inline semantics. With
83059         GCC 4.2, avoid a warning.
83061 2007-10-13  Bruno Haible  <bruno@clisp.org>
83063         * lib/freading.h (freading): Enable the use of __freading for
83064         glibc >= 2.7.
83065         * lib/freading.c (freading): Likewise.
83067 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
83069         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
83070         "warning: C99 inline functions are not supported; using GNU89".
83072 2007-10-12  Bruno Haible  <bruno@clisp.org>
83074         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
83075         of 2.
83076         * tests/test-ceilf2.c: New file.
83077         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
83079         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
83080         * modules/ceilf-tests: Update.
83082 2007-10-12  Bruno Haible  <bruno@clisp.org>
83084         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
83085         of 2.
83086         * tests/test-floorf2.c: New file.
83087         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
83089         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
83090         * modules/floorf-tests: Update.
83092 2007-10-12  Bruno Haible  <bruno@clisp.org>
83094         * tests/test-trunc2.c: New file.
83095         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
83097         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
83098         * modules/trunc-tests: Update.
83100 2007-10-12  Bruno Haible  <bruno@clisp.org>
83102         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
83103         of 2.
83104         * tests/test-truncf2.c: New file.
83105         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
83107         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
83108         * modules/truncf-tests: Update.
83110 2007-10-11  Eric Blake  <ebb9@byu.net>
83112         Don't claim strerror is broken on Interix.
83113         * doc/functions/strerror.texi (strerror): Known broken systems are
83114         now Solaris 8, and not Interix.
83115         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
83116         Interix on cross-compile.
83117         Reported by Martin Koeppe in
83118         http://lists.gnu.org/r/bug-gnulib/2007-10/msg00005.html.
83120 2007-10-11  Bruno Haible  <bruno@clisp.org>
83122         * modules/i-ring-tests: New file.
83123         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
83124         instead of assert.
83126 2007-10-11  Bruno Haible  <bruno@clisp.org>
83128         * modules/filenamecat-tests: New file.
83129         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
83130         * lib/filenamecat.c: Remove test code.
83132 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
83134         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
83136         * lib/strerror.c: Include <string.h> always, to test interface,
83137         and to remove the need for the dummy.
83138         Include intprops.h to compute width instead of doing it ourselves
83139         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
83140         (strerror): Define it to return NULL if there's no system strerror.
83141         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
83142         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
83143         ancient pre-strerror Unix systems well any more.  Saying "unknown
83144         system error" is enough.
83145         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
83146         simpler strerror.c implementation.
83147         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
83148         Simplify the tests to reflect the simpler strerror implementation.
83149         * modules/strerror (Depends-on): Add intprops.
83151 2007-10-09  Eric Blake  <ebb9@byu.net>
83153         Silence test-fpending.
83154         * modules/fpending-tests (Files): Add wrapper script.
83155         * tests/test-fpending.sh: New file.
83157 2007-10-09  Bruno Haible  <bruno@clisp.org>
83159         * MODULES.html.sh (func_module): Don't create a hyperlink for
83160         function names like 'printf_frexp'.
83161         (Misc): Add crc, memxor.
83162         (Characteristics of floating types): New section.
83163         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
83164         isnanf-nolibm, signbit, trunc, truncf, truncl.
83165         (Enhancements for ISO C 99 functions): New subsection Input/output.
83166         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
83167         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
83168         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
83169         (Compatibility checks for POSIX:2001 functions): Add clock-time.
83170         (Enhancements for POSIX:2001 functions): Add chdir-long.
83171         (File system functions): Add areadlink, chdir-safer, read-file.
83172         Remove cycle-check.
83173         (File system as inode set): New section.
83174         (Date and time): Add gethrxtime.
83175         (Multithreading): Add openmp.
83176         (Internationalization functions): Add localename.
83177         (Unicode string functions): Add unistr/u*-mbsnlen.
83178         (Support for maintaining and releasing projects): Add git-version-gen.
83179         (Lone files): Remove directories.
83181 2007-10-08  Ben Pfaff  <blp@gnu.org>
83183         * lib/xmalloca.h: Fix typo in comment.
83185 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
83187         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
83188         when avoiding problems with integer overflow.  Use a portable test
83189         instead.
83191 2007-10-08  Simon Josefsson  <simon@josefsson.org>
83193         * modules/dummy (License): Change to LGPLv2+.
83194         * modules/float (License): Likewise
83195         * modules/realloc (License): Likewise
83196         * modules/stdlib (License): Likewise
83198 2007-10-07  Bruno Haible  <bruno@clisp.org>
83200         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
83201         * floor.c (TWO_MANT_DIG): Likewise.
83202         * ceil.c (TWO_MANT_DIG): Likewise.
83203         Reported by Ben Pfaff.
83205 2007-10-07  Bruno Haible  <bruno@clisp.org>
83207         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
83208         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
83209         * lib/frexp.c (FUNC): Likewise.
83210         * lib/printf-frexp.h (printf_frexp): Likewise.
83211         * lib/printf-frexpl.h (printf_frexpl): Likewise.
83212         * lib/printf-frexp.c (FUNC): Likewise.
83213         Suggested by Jim Meyering.
83215 2007-10-07  Jim Meyering  <meyering@redhat.com>
83217         Make xnanosleep's integer overflow test more robust.
83218         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
83219         so that gcc-4.3.0 doesn't optimize away this test for overflow.
83221 2007-10-07  Bruno Haible  <bruno@clisp.org>
83223         * NEWS: Mention the license change.
83225         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
83226         abbreviations in the modules files.
83228         Change copyright notice from GPLv2+ to GPLv3+.
83229         * README: Change copyright notice.
83230         * MODULES.html.sh: Likewise.
83231         * build-aux/bootstrap.conf: Likewise.
83232         * build-aux/config.libpath: Likewise.
83233         * build-aux/csharpcomp.sh.in: Likewise.
83234         * build-aux/csharpexec.sh.in: Likewise.
83235         * build-aux/install-reloc: Likewise.
83236         * build-aux/javacomp.sh.in: Likewise.
83237         * build-aux/javaexec.sh.in: Likewise.
83238         * build-aux/ldd.sh.in: Likewise.
83239         * build-aux/reloc-ldflags: Likewise.
83240         * build-aux/relocatable.sh.in: Likewise.
83241         * build-aux/x-to-1.in: Likewise.
83242         * check-module: Likewise.
83243         * config/srclistvars.sh: Likewise.
83244         * gnulib-tool: Likewise.
83245         * lib/acl-internal.h: Likewise.
83246         * lib/acl.c: Likewise.
83247         * lib/acl.h: Likewise.
83248         * lib/acl_entries.c: Likewise.
83249         * lib/areadlink-with-size.c: Likewise.
83250         * lib/areadlink.c: Likewise.
83251         * lib/areadlink.h: Likewise.
83252         * lib/argmatch.c: Likewise.
83253         * lib/argmatch.h: Likewise.
83254         * lib/argp-ba.c: Likewise.
83255         * lib/argp-eexst.c: Likewise.
83256         * lib/argp-fmtstream.c: Likewise.
83257         * lib/argp-fmtstream.h: Likewise.
83258         * lib/argp-fs-xinl.c: Likewise.
83259         * lib/argp-help.c: Likewise.
83260         * lib/argp-namefrob.h: Likewise.
83261         * lib/argp-parse.c: Likewise.
83262         * lib/argp-pin.c: Likewise.
83263         * lib/argp-pv.c: Likewise.
83264         * lib/argp-pvh.c: Likewise.
83265         * lib/argp-xinl.c: Likewise.
83266         * lib/argp.h: Likewise.
83267         * lib/at-func.c: Likewise.
83268         * lib/atanl.c: Likewise.
83269         * lib/backupfile.c: Likewise.
83270         * lib/backupfile.h: Likewise.
83271         * lib/basename.c: Likewise.
83272         * lib/binary-io.h: Likewise.
83273         * lib/byteswap.in.h: Likewise.
83274         * lib/c-stack.c: Likewise.
83275         * lib/c-stack.h: Likewise.
83276         * lib/c-strcasestr.c: Likewise.
83277         * lib/c-strcasestr.h: Likewise.
83278         * lib/c-strstr.c: Likewise.
83279         * lib/c-strstr.h: Likewise.
83280         * lib/c-strtod.c: Likewise.
83281         * lib/calloc.c: Likewise.
83282         * lib/canon-host.c: Likewise.
83283         * lib/canon-host.h: Likewise.
83284         * lib/canonicalize-lgpl.c: Likewise.
83285         * lib/canonicalize.c: Likewise.
83286         * lib/canonicalize.h: Likewise.
83287         * lib/ceil.c: Likewise.
83288         * lib/ceilf.c: Likewise.
83289         * lib/ceill.c: Likewise.
83290         * lib/chdir-long.c: Likewise.
83291         * lib/chdir-long.h: Likewise.
83292         * lib/chdir-safer.c: Likewise.
83293         * lib/chdir-safer.h: Likewise.
83294         * lib/chown.c: Likewise.
83295         * lib/classpath.c: Likewise.
83296         * lib/classpath.h: Likewise.
83297         * lib/clean-temp.c: Likewise.
83298         * lib/clean-temp.h: Likewise.
83299         * lib/cloexec.c: Likewise.
83300         * lib/close-stream.c: Likewise.
83301         * lib/closein.c: Likewise.
83302         * lib/closein.h: Likewise.
83303         * lib/closeout.c: Likewise.
83304         * lib/closeout.h: Likewise.
83305         * lib/concat-filename.c: Likewise.
83306         * lib/copy-file.c: Likewise.
83307         * lib/copy-file.h: Likewise.
83308         * lib/count-one-bits.h: Likewise.
83309         * lib/crc.c: Likewise.
83310         * lib/crc.h: Likewise.
83311         * lib/creat-safer.c: Likewise.
83312         * lib/csharpcomp.c: Likewise.
83313         * lib/csharpcomp.h: Likewise.
83314         * lib/csharpexec.c: Likewise.
83315         * lib/csharpexec.h: Likewise.
83316         * lib/cycle-check.c: Likewise.
83317         * lib/cycle-check.h: Likewise.
83318         * lib/diacrit.c: Likewise.
83319         * lib/diacrit.h: Likewise.
83320         * lib/diffseq.h: Likewise.
83321         * lib/dirchownmod.c: Likewise.
83322         * lib/dirent.in.h: Likewise.
83323         * lib/dirfd.c: Likewise.
83324         * lib/dirfd.h: Likewise.
83325         * lib/dirname.c: Likewise.
83326         * lib/dirname.h: Likewise.
83327         * lib/dummy.c: Likewise.
83328         * lib/dup-safer.c: Likewise.
83329         * lib/dup2.c: Likewise.
83330         * lib/eealloc.h: Likewise.
83331         * lib/error.c: Likewise.
83332         * lib/error.h: Likewise.
83333         * lib/euidaccess.c: Likewise.
83334         * lib/exclude.c: Likewise.
83335         * lib/exclude.h: Likewise.
83336         * lib/execute.c: Likewise.
83337         * lib/execute.h: Likewise.
83338         * lib/exitfail.c: Likewise.
83339         * lib/exitfail.h: Likewise.
83340         * lib/expl.c: Likewise.
83341         * lib/fatal-signal.c: Likewise.
83342         * lib/fatal-signal.h: Likewise.
83343         * lib/fbufmode.c: Likewise.
83344         * lib/fbufmode.h: Likewise.
83345         * lib/fchdir.c: Likewise.
83346         * lib/fchmodat.c: Likewise.
83347         * lib/fchownat.c: Likewise.
83348         * lib/fcntl--.h: Likewise.
83349         * lib/fcntl-safer.h: Likewise.
83350         * lib/fcntl.in.h: Likewise.
83351         * lib/fd-safer.c: Likewise.
83352         * lib/fflush.c: Likewise.
83353         * lib/file-has-acl.c: Likewise.
83354         * lib/file-set.c: Likewise.
83355         * lib/file-type.c: Likewise.
83356         * lib/file-type.h: Likewise.
83357         * lib/fileblocks.c: Likewise.
83358         * lib/filemode.c: Likewise.
83359         * lib/filemode.h: Likewise.
83360         * lib/filename.h: Likewise.
83361         * lib/filenamecat.c: Likewise.
83362         * lib/filenamecat.h: Likewise.
83363         * lib/findprog.c: Likewise.
83364         * lib/findprog.h: Likewise.
83365         * lib/float.in.h: Likewise.
83366         * lib/floor.c: Likewise.
83367         * lib/floorf.c: Likewise.
83368         * lib/floorl.c: Likewise.
83369         * lib/fopen-safer.c: Likewise.
83370         * lib/fopen.c: Likewise.
83371         * lib/fpending.c: Likewise.
83372         * lib/fpending.h: Likewise.
83373         * lib/fprintf.c: Likewise.
83374         * lib/fprintftime.h: Likewise.
83375         * lib/fpucw.h: Likewise.
83376         * lib/fpurge.c: Likewise.
83377         * lib/fpurge.h: Likewise.
83378         * lib/freadable.c: Likewise.
83379         * lib/freadable.h: Likewise.
83380         * lib/freadahead.c: Likewise.
83381         * lib/freadahead.h: Likewise.
83382         * lib/freading.c: Likewise.
83383         * lib/freading.h: Likewise.
83384         * lib/free.c: Likewise.
83385         * lib/freopen.c: Likewise.
83386         * lib/frexp.c: Likewise.
83387         * lib/frexpl.c: Likewise.
83388         * lib/fseek.c: Likewise.
83389         * lib/fseterr.c: Likewise.
83390         * lib/fseterr.h: Likewise.
83391         * lib/fstatat.c: Likewise.
83392         * lib/fstrcmp.c: Likewise.
83393         * lib/fstrcmp.h: Likewise.
83394         * lib/fsusage.c: Likewise.
83395         * lib/fsusage.h: Likewise.
83396         * lib/ftell.c: Likewise.
83397         * lib/ftello.c: Likewise.
83398         * lib/fts-cycle.c: Likewise.
83399         * lib/fts.c: Likewise.
83400         * lib/fts_.h: Likewise.
83401         * lib/full-read.c: Likewise.
83402         * lib/full-read.h: Likewise.
83403         * lib/full-write.c: Likewise.
83404         * lib/full-write.h: Likewise.
83405         * lib/fwritable.c: Likewise.
83406         * lib/fwritable.h: Likewise.
83407         * lib/fwriteerror.c: Likewise.
83408         * lib/fwriteerror.h: Likewise.
83409         * lib/fwriting.c: Likewise.
83410         * lib/fwriting.h: Likewise.
83411         * lib/gcd.c: Likewise.
83412         * lib/gcd.h: Likewise.
83413         * lib/getcwd.c: Likewise.
83414         * lib/getdate.h: Likewise.
83415         * lib/getdate.y: Likewise.
83416         * lib/getdomainname.c: Likewise.
83417         * lib/getdomainname.h: Likewise.
83418         * lib/getgroups.c: Likewise.
83419         * lib/gethostname.c: Likewise.
83420         * lib/gethrxtime.c: Likewise.
83421         * lib/gethrxtime.h: Likewise.
83422         * lib/getloadavg.c: Likewise.
83423         * lib/getndelim2.c: Likewise.
83424         * lib/getndelim2.h: Likewise.
83425         * lib/getnline.c: Likewise.
83426         * lib/getnline.h: Likewise.
83427         * lib/getopt.c: Likewise.
83428         * lib/getopt.in.h: Likewise.
83429         * lib/getopt1.c: Likewise.
83430         * lib/getopt_int.h: Likewise.
83431         * lib/getpagesize.h: Likewise.
83432         * lib/getsubopt.c: Likewise.
83433         * lib/gettime.c: Likewise.
83434         * lib/getugroups.c: Likewise.
83435         * lib/getugroups.h: Likewise.
83436         * lib/getusershell.c: Likewise.
83437         * lib/gl_anyavltree_list1.h: Likewise.
83438         * lib/gl_anyavltree_list2.h: Likewise.
83439         * lib/gl_anyhash_list1.h: Likewise.
83440         * lib/gl_anyhash_list2.h: Likewise.
83441         * lib/gl_anylinked_list1.h: Likewise.
83442         * lib/gl_anylinked_list2.h: Likewise.
83443         * lib/gl_anyrbtree_list1.h: Likewise.
83444         * lib/gl_anyrbtree_list2.h: Likewise.
83445         * lib/gl_anytree_list1.h: Likewise.
83446         * lib/gl_anytree_list2.h: Likewise.
83447         * lib/gl_anytree_oset.h: Likewise.
83448         * lib/gl_anytreehash_list1.h: Likewise.
83449         * lib/gl_anytreehash_list2.h: Likewise.
83450         * lib/gl_array_list.c: Likewise.
83451         * lib/gl_array_list.h: Likewise.
83452         * lib/gl_array_oset.c: Likewise.
83453         * lib/gl_array_oset.h: Likewise.
83454         * lib/gl_avltree_list.c: Likewise.
83455         * lib/gl_avltree_list.h: Likewise.
83456         * lib/gl_avltree_oset.c: Likewise.
83457         * lib/gl_avltree_oset.h: Likewise.
83458         * lib/gl_avltreehash_list.c: Likewise.
83459         * lib/gl_avltreehash_list.h: Likewise.
83460         * lib/gl_carray_list.c: Likewise.
83461         * lib/gl_carray_list.h: Likewise.
83462         * lib/gl_linked_list.c: Likewise.
83463         * lib/gl_linked_list.h: Likewise.
83464         * lib/gl_linkedhash_list.c: Likewise.
83465         * lib/gl_linkedhash_list.h: Likewise.
83466         * lib/gl_list.c: Likewise.
83467         * lib/gl_list.h: Likewise.
83468         * lib/gl_oset.c: Likewise.
83469         * lib/gl_oset.h: Likewise.
83470         * lib/gl_rbtree_list.c: Likewise.
83471         * lib/gl_rbtree_list.h: Likewise.
83472         * lib/gl_rbtree_oset.c: Likewise.
83473         * lib/gl_rbtree_oset.h: Likewise.
83474         * lib/gl_rbtreehash_list.c: Likewise.
83475         * lib/gl_rbtreehash_list.h: Likewise.
83476         * lib/gl_sublist.c: Likewise.
83477         * lib/gl_sublist.h: Likewise.
83478         * lib/group-member.c: Likewise.
83479         * lib/group-member.h: Likewise.
83480         * lib/hard-locale.c: Likewise.
83481         * lib/hard-locale.h: Likewise.
83482         * lib/hash-pjw.c: Likewise.
83483         * lib/hash-pjw.h: Likewise.
83484         * lib/hash-triple.c: Likewise.
83485         * lib/hash.c: Likewise.
83486         * lib/hash.h: Likewise.
83487         * lib/human.c: Likewise.
83488         * lib/human.h: Likewise.
83489         * lib/i-ring.c: Likewise.
83490         * lib/i-ring.h: Likewise.
83491         * lib/idcache.c: Likewise.
83492         * lib/imaxabs.c: Likewise.
83493         * lib/imaxdiv.c: Likewise.
83494         * lib/inet_pton.c: Likewise.
83495         * lib/inet_pton.h: Likewise.
83496         * lib/intprops.h: Likewise.
83497         * lib/inttostr.c: Likewise.
83498         * lib/inttostr.h: Likewise.
83499         * lib/inttypes.in.h: Likewise.
83500         * lib/isapipe.c: Likewise.
83501         * lib/isdir.c: Likewise.
83502         * lib/isnan.c: Likewise.
83503         * lib/isnan.h: Likewise.
83504         * lib/isnanf.c: Likewise.
83505         * lib/isnanf.h: Likewise.
83506         * lib/isnanl-nolibm.h: Likewise.
83507         * lib/isnanl.c: Likewise.
83508         * lib/isnanl.h: Likewise.
83509         * lib/javacomp.c: Likewise.
83510         * lib/javacomp.h: Likewise.
83511         * lib/javaexec.c: Likewise.
83512         * lib/javaexec.h: Likewise.
83513         * lib/javaversion.c: Likewise.
83514         * lib/javaversion.h: Likewise.
83515         * lib/javaversion.java: Likewise.
83516         * lib/lbrkprop.h: Likewise.
83517         * lib/lchmod.h: Likewise.
83518         * lib/lchown.c: Likewise.
83519         * lib/ldexpl.c: Likewise.
83520         * lib/linebreak.c: Likewise.
83521         * lib/linebreak.h: Likewise.
83522         * lib/linebuffer.c: Likewise.
83523         * lib/linebuffer.h: Likewise.
83524         * lib/locale.in.h: Likewise.
83525         * lib/logl.c: Likewise.
83526         * lib/long-options.c: Likewise.
83527         * lib/long-options.h: Likewise.
83528         * lib/lstat.c: Likewise.
83529         * lib/lstat.h: Likewise.
83530         * lib/math.in.h: Likewise.
83531         * lib/mbchar.c: Likewise.
83532         * lib/mbchar.h: Likewise.
83533         * lib/mbfile.h: Likewise.
83534         * lib/mbiter.h: Likewise.
83535         * lib/mbscasecmp.c: Likewise.
83536         * lib/mbscasestr.c: Likewise.
83537         * lib/mbschr.c: Likewise.
83538         * lib/mbscspn.c: Likewise.
83539         * lib/mbslen.c: Likewise.
83540         * lib/mbsncasecmp.c: Likewise.
83541         * lib/mbsnlen.c: Likewise.
83542         * lib/mbspbrk.c: Likewise.
83543         * lib/mbspcasecmp.c: Likewise.
83544         * lib/mbsrchr.c: Likewise.
83545         * lib/mbssep.c: Likewise.
83546         * lib/mbsspn.c: Likewise.
83547         * lib/mbsstr.c: Likewise.
83548         * lib/mbstok_r.c: Likewise.
83549         * lib/mbswidth.c: Likewise.
83550         * lib/mbswidth.h: Likewise.
83551         * lib/mbuiter.h: Likewise.
83552         * lib/memcasecmp.c: Likewise.
83553         * lib/memcasecmp.h: Likewise.
83554         * lib/memchr.c: Likewise.
83555         * lib/memcmp.c: Likewise.
83556         * lib/memcoll.c: Likewise.
83557         * lib/memcoll.h: Likewise.
83558         * lib/memcpy.c: Likewise.
83559         * lib/memrchr.c: Likewise.
83560         * lib/mkancesdirs.c: Likewise.
83561         * lib/mkdir-p.c: Likewise.
83562         * lib/mkdir-p.h: Likewise.
83563         * lib/mkdir.c: Likewise.
83564         * lib/mkdirat.c: Likewise.
83565         * lib/mkdtemp.c: Likewise.
83566         * lib/mkstemp-safer.c: Likewise.
83567         * lib/mkstemp.c: Likewise.
83568         * lib/modechange.c: Likewise.
83569         * lib/modechange.h: Likewise.
83570         * lib/mountlist.c: Likewise.
83571         * lib/mountlist.h: Likewise.
83572         * lib/mpsort.c: Likewise.
83573         * lib/nanosleep.c: Likewise.
83574         * lib/obstack.c: Likewise.
83575         * lib/obstack.h: Likewise.
83576         * lib/open-safer.c: Likewise.
83577         * lib/open.c: Likewise.
83578         * lib/openat-die.c: Likewise.
83579         * lib/openat-priv.h: Likewise.
83580         * lib/openat-proc.c: Likewise.
83581         * lib/openat.c: Likewise.
83582         * lib/openat.h: Likewise.
83583         * lib/pagealign_alloc.c: Likewise.
83584         * lib/pagealign_alloc.h: Likewise.
83585         * lib/physmem.c: Likewise.
83586         * lib/physmem.h: Likewise.
83587         * lib/pipe-safer.c: Likewise.
83588         * lib/pipe.c: Likewise.
83589         * lib/pipe.h: Likewise.
83590         * lib/posixtm.c: Likewise.
83591         * lib/posixtm.h: Likewise.
83592         * lib/posixver.c: Likewise.
83593         * lib/printf-frexp.c: Likewise.
83594         * lib/printf-frexp.h: Likewise.
83595         * lib/printf-frexpl.c: Likewise.
83596         * lib/printf-frexpl.h: Likewise.
83597         * lib/printf.c: Likewise.
83598         * lib/progname.c: Likewise.
83599         * lib/progname.h: Likewise.
83600         * lib/progreloc.c: Likewise.
83601         * lib/putenv.c: Likewise.
83602         * lib/quote.c: Likewise.
83603         * lib/quote.h: Likewise.
83604         * lib/quotearg.c: Likewise.
83605         * lib/quotearg.h: Likewise.
83606         * lib/raise.c: Likewise.
83607         * lib/readline.c: Likewise.
83608         * lib/readline.h: Likewise.
83609         * lib/readlink.c: Likewise.
83610         * lib/readtokens.c: Likewise.
83611         * lib/readtokens.h: Likewise.
83612         * lib/readtokens0.c: Likewise.
83613         * lib/readtokens0.h: Likewise.
83614         * lib/readutmp.c: Likewise.
83615         * lib/readutmp.h: Likewise.
83616         * lib/realloc.c: Likewise.
83617         * lib/relocwrapper.c: Likewise.
83618         * lib/rename-dest-slash.c: Likewise.
83619         * lib/rename.c: Likewise.
83620         * lib/rmdir.c: Likewise.
83621         * lib/rpmatch.c: Likewise.
83622         * lib/safe-read.c: Likewise.
83623         * lib/safe-read.h: Likewise.
83624         * lib/safe-write.c: Likewise.
83625         * lib/safe-write.h: Likewise.
83626         * lib/same-inode.h: Likewise.
83627         * lib/same.c: Likewise.
83628         * lib/same.h: Likewise.
83629         * lib/save-cwd.c: Likewise.
83630         * lib/save-cwd.h: Likewise.
83631         * lib/savedir.c: Likewise.
83632         * lib/savedir.h: Likewise.
83633         * lib/savewd.c: Likewise.
83634         * lib/savewd.h: Likewise.
83635         * lib/search.in.h: Likewise.
83636         * lib/setenv.c: Likewise.
83637         * lib/setenv.h: Likewise.
83638         * lib/settime.c: Likewise.
83639         * lib/sh-quote.c: Likewise.
83640         * lib/sh-quote.h: Likewise.
83641         * lib/sig2str.c: Likewise.
83642         * lib/sig2str.h: Likewise.
83643         * lib/signal.in.h: Likewise.
83644         * lib/signbitd.c: Likewise.
83645         * lib/signbitf.c: Likewise.
83646         * lib/signbitl.c: Likewise.
83647         * lib/sigprocmask.c: Likewise.
83648         * lib/sincosl.c: Likewise.
83649         * lib/sleep.c: Likewise.
83650         * lib/sprintf.c: Likewise.
83651         * lib/sqrtl.c: Likewise.
83652         * lib/stat-time.h: Likewise.
83653         * lib/stdio--.h: Likewise.
83654         * lib/stdio-safer.h: Likewise.
83655         * lib/stdlib--.h: Likewise.
83656         * lib/stdlib-safer.h: Likewise.
83657         * lib/stdlib.in.h: Likewise.
83658         * lib/stpcpy.c: Likewise.
83659         * lib/stpncpy.c: Likewise.
83660         * lib/strchrnul.c: Likewise.
83661         * lib/strcspn.c: Likewise.
83662         * lib/strerror.c: Likewise.
83663         * lib/strftime.c: Likewise.
83664         * lib/strftime.h: Likewise.
83665         * lib/striconveh.c: Likewise.
83666         * lib/striconveh.h: Likewise.
83667         * lib/striconveha.c: Likewise.
83668         * lib/striconveha.h: Likewise.
83669         * lib/stripslash.c: Likewise.
83670         * lib/strnlen1.c: Likewise.
83671         * lib/strnlen1.h: Likewise.
83672         * lib/strtod.c: Likewise.
83673         * lib/strtoimax.c: Likewise.
83674         * lib/strtok_r.c: Likewise.
83675         * lib/strtol.c: Likewise.
83676         * lib/strtoll.c: Likewise.
83677         * lib/strtoul.c: Likewise.
83678         * lib/strtoull.c: Likewise.
83679         * lib/sysexits.in.h: Likewise.
83680         * lib/tempname.c: Likewise.
83681         * lib/tempname.h: Likewise.
83682         * lib/timespec.h: Likewise.
83683         * lib/tls.c: Likewise.
83684         * lib/tls.h: Likewise.
83685         * lib/tmpdir.c: Likewise.
83686         * lib/tmpdir.h: Likewise.
83687         * lib/tmpfile-safer.c: Likewise.
83688         * lib/tmpfile.c: Likewise.
83689         * lib/trigl.c: Likewise.
83690         * lib/trigl.h: Likewise.
83691         * lib/trim.c: Likewise.
83692         * lib/trim.h: Likewise.
83693         * lib/trunc.c: Likewise.
83694         * lib/truncf.c: Likewise.
83695         * lib/truncl.c: Likewise.
83696         * lib/tsearch.c: Likewise.
83697         * lib/unicodeio.c: Likewise.
83698         * lib/unicodeio.h: Likewise.
83699         * lib/unistd--.h: Likewise.
83700         * lib/unistd-safer.h: Likewise.
83701         * lib/unistdio/ulc-fprintf.c: Likewise.
83702         * lib/unistdio/ulc-vfprintf.c: Likewise.
83703         * lib/unlinkdir.c: Likewise.
83704         * lib/unlinkdir.h: Likewise.
83705         * lib/unlocked-io.h: Likewise.
83706         * lib/unsetenv.c: Likewise.
83707         * lib/userspec.c: Likewise.
83708         * lib/utime.c: Likewise.
83709         * lib/utimecmp.c: Likewise.
83710         * lib/utimecmp.h: Likewise.
83711         * lib/utimens.c: Likewise.
83712         * lib/verify.h: Likewise.
83713         * lib/verror.c: Likewise.
83714         * lib/verror.h: Likewise.
83715         * lib/version-etc-fsf.c: Likewise.
83716         * lib/version-etc.c: Likewise.
83717         * lib/version-etc.h: Likewise.
83718         * lib/vfprintf.c: Likewise.
83719         * lib/vprintf.c: Likewise.
83720         * lib/vsprintf.c: Likewise.
83721         * lib/w32spawn.h: Likewise.
83722         * lib/wait-process.c: Likewise.
83723         * lib/wait-process.h: Likewise.
83724         * lib/wcwidth.c: Likewise.
83725         * lib/write-any-file.c: Likewise.
83726         * lib/xalloc-die.c: Likewise.
83727         * lib/xalloc.h: Likewise.
83728         * lib/xasprintf.c: Likewise.
83729         * lib/xgetcwd.c: Likewise.
83730         * lib/xgetcwd.h: Likewise.
83731         * lib/xgetdomainname.c: Likewise.
83732         * lib/xgetdomainname.h: Likewise.
83733         * lib/xgethostname.c: Likewise.
83734         * lib/xmalloc.c: Likewise.
83735         * lib/xmalloca.c: Likewise.
83736         * lib/xmalloca.h: Likewise.
83737         * lib/xmemcoll.c: Likewise.
83738         * lib/xnanosleep.c: Likewise.
83739         * lib/xreadlink.c: Likewise.
83740         * lib/xreadlink.h: Likewise.
83741         * lib/xsetenv.c: Likewise.
83742         * lib/xsetenv.h: Likewise.
83743         * lib/xstriconv.c: Likewise.
83744         * lib/xstriconv.h: Likewise.
83745         * lib/xstrndup.c: Likewise.
83746         * lib/xstrndup.h: Likewise.
83747         * lib/xstrtod.c: Likewise.
83748         * lib/xstrtod.h: Likewise.
83749         * lib/xstrtol-error.c: Likewise.
83750         * lib/xstrtol.c: Likewise.
83751         * lib/xstrtol.h: Likewise.
83752         * lib/xtime.h: Likewise.
83753         * lib/xvasprintf.c: Likewise.
83754         * lib/xvasprintf.h: Likewise.
83755         * lib/yesno.c: Likewise.
83756         * lib/yesno.h: Likewise.
83757         * posix-modules: Likewise.
83758         * tests/test-alloca-opt.c: Likewise.
83759         * tests/test-arcfour.c: Likewise.
83760         * tests/test-arctwo.c: Likewise.
83761         * tests/test-argmatch.c: Likewise.
83762         * tests/test-argp-2.sh: Likewise.
83763         * tests/test-argp.c: Likewise.
83764         * tests/test-arpa_inet.c: Likewise.
83765         * tests/test-array_list.c: Likewise.
83766         * tests/test-array_oset.c: Likewise.
83767         * tests/test-atexit.c: Likewise.
83768         * tests/test-avltree_list.c: Likewise.
83769         * tests/test-avltree_oset.c: Likewise.
83770         * tests/test-avltreehash_list.c: Likewise.
83771         * tests/test-base64.c: Likewise.
83772         * tests/test-binary-io.c: Likewise.
83773         * tests/test-byteswap.c: Likewise.
83774         * tests/test-c-ctype.c: Likewise.
83775         * tests/test-c-strcasecmp.c: Likewise.
83776         * tests/test-c-strcasestr.c: Likewise.
83777         * tests/test-c-strncasecmp.c: Likewise.
83778         * tests/test-c-strstr.c: Likewise.
83779         * tests/test-canonicalize-lgpl.c: Likewise.
83780         * tests/test-canonicalize.c: Likewise.
83781         * tests/test-carray_list.c: Likewise.
83782         * tests/test-ceilf.c: Likewise.
83783         * tests/test-ceill.c: Likewise.
83784         * tests/test-count-one-bits.c: Likewise.
83785         * tests/test-crc.c: Likewise.
83786         * tests/test-dirname.c: Likewise.
83787         * tests/test-fbufmode.c: Likewise.
83788         * tests/test-fcntl.c: Likewise.
83789         * tests/test-fflush.c: Likewise.
83790         * tests/test-floorf.c: Likewise.
83791         * tests/test-floorl.c: Likewise.
83792         * tests/test-fopen.c: Likewise.
83793         * tests/test-fprintf-posix.c: Likewise.
83794         * tests/test-fprintf-posix.h: Likewise.
83795         * tests/test-fpurge.c: Likewise.
83796         * tests/test-freadable.c: Likewise.
83797         * tests/test-freadahead.c: Likewise.
83798         * tests/test-freading.c: Likewise.
83799         * tests/test-freopen.c: Likewise.
83800         * tests/test-frexp.c: Likewise.
83801         * tests/test-frexpl.c: Likewise.
83802         * tests/test-fseek.c: Likewise.
83803         * tests/test-fseeko.c: Likewise.
83804         * tests/test-fseterr.c: Likewise.
83805         * tests/test-fstrcmp.c: Likewise.
83806         * tests/test-ftell.c: Likewise.
83807         * tests/test-ftello.c: Likewise.
83808         * tests/test-fwritable.c: Likewise.
83809         * tests/test-fwriting.c: Likewise.
83810         * tests/test-getaddrinfo.c: Likewise.
83811         * tests/test-getpass.c: Likewise.
83812         * tests/test-gettimeofday.c: Likewise.
83813         * tests/test-hmac-md5.c: Likewise.
83814         * tests/test-hmac-sha1.c: Likewise.
83815         * tests/test-iconv.c: Likewise.
83816         * tests/test-iconvme.c: Likewise.
83817         * tests/test-inttypes.c: Likewise.
83818         * tests/test-isnan.c: Likewise.
83819         * tests/test-isnanf.c: Likewise.
83820         * tests/test-isnanl-nolibm.c: Likewise.
83821         * tests/test-isnanl.c: Likewise.
83822         * tests/test-isnanl.h: Likewise.
83823         * tests/test-ldexpl.c: Likewise.
83824         * tests/test-linked_list.c: Likewise.
83825         * tests/test-linkedhash_list.c: Likewise.
83826         * tests/test-locale.c: Likewise.
83827         * tests/test-localename.c: Likewise.
83828         * tests/test-lock.c: Likewise.
83829         * tests/test-lseek.c: Likewise.
83830         * tests/test-malloca.c: Likewise.
83831         * tests/test-math.c: Likewise.
83832         * tests/test-mbscasecmp.c: Likewise.
83833         * tests/test-mbscasestr1.c: Likewise.
83834         * tests/test-mbscasestr2.c: Likewise.
83835         * tests/test-mbscasestr3.c: Likewise.
83836         * tests/test-mbscasestr4.c: Likewise.
83837         * tests/test-mbschr.c: Likewise.
83838         * tests/test-mbscspn.c: Likewise.
83839         * tests/test-mbsncasecmp.c: Likewise.
83840         * tests/test-mbspbrk.c: Likewise.
83841         * tests/test-mbspcasecmp.c: Likewise.
83842         * tests/test-mbsrchr.c: Likewise.
83843         * tests/test-mbsspn.c: Likewise.
83844         * tests/test-mbsstr1.c: Likewise.
83845         * tests/test-mbsstr2.c: Likewise.
83846         * tests/test-mbsstr3.c: Likewise.
83847         * tests/test-md5.c: Likewise.
83848         * tests/test-memmem.c: Likewise.
83849         * tests/test-netinet_in.c: Likewise.
83850         * tests/test-open.c: Likewise.
83851         * tests/test-printf-frexp.c: Likewise.
83852         * tests/test-printf-frexpl.c: Likewise.
83853         * tests/test-printf-posix.c: Likewise.
83854         * tests/test-printf-posix.h: Likewise.
83855         * tests/test-rbtree_list.c: Likewise.
83856         * tests/test-rbtree_oset.c: Likewise.
83857         * tests/test-rbtreehash_list.c: Likewise.
83858         * tests/test-read-file.c: Likewise.
83859         * tests/test-rijndael.c: Likewise.
83860         * tests/test-search.c: Likewise.
83861         * tests/test-signbit.c: Likewise.
83862         * tests/test-sleep.c: Likewise.
83863         * tests/test-snprintf-posix.c: Likewise.
83864         * tests/test-snprintf-posix.h: Likewise.
83865         * tests/test-snprintf.c: Likewise.
83866         * tests/test-sprintf-posix.c: Likewise.
83867         * tests/test-sprintf-posix.h: Likewise.
83868         * tests/test-stat-time.c: Likewise.
83869         * tests/test-stdbool.c: Likewise.
83870         * tests/test-stdint.c: Likewise.
83871         * tests/test-stdio.c: Likewise.
83872         * tests/test-stdlib.c: Likewise.
83873         * tests/test-stpncpy.c: Likewise.
83874         * tests/test-strcasestr.c: Likewise.
83875         * tests/test-striconv.c: Likewise.
83876         * tests/test-striconveh.c: Likewise.
83877         * tests/test-striconveha.c: Likewise.
83878         * tests/test-string.c: Likewise.
83879         * tests/test-sys_select.c: Likewise.
83880         * tests/test-sys_socket.c: Likewise.
83881         * tests/test-sys_stat.c: Likewise.
83882         * tests/test-sys_time.c: Likewise.
83883         * tests/test-sysexits.c: Likewise.
83884         * tests/test-time.c: Likewise.
83885         * tests/test-tls.c: Likewise.
83886         * tests/test-trunc.c: Likewise.
83887         * tests/test-truncf.c: Likewise.
83888         * tests/test-truncl.c: Likewise.
83889         * tests/test-unistd.c: Likewise.
83890         * tests/test-vasnprintf-posix.c: Likewise.
83891         * tests/test-vasnprintf-posix2.c: Likewise.
83892         * tests/test-vasnprintf.c: Likewise.
83893         * tests/test-vasprintf-posix.c: Likewise.
83894         * tests/test-vasprintf.c: Likewise.
83895         * tests/test-verify.c: Likewise.
83896         * tests/test-vfprintf-posix.c: Likewise.
83897         * tests/test-vprintf-posix.c: Likewise.
83898         * tests/test-vsnprintf-posix.c: Likewise.
83899         * tests/test-vsnprintf.c: Likewise.
83900         * tests/test-vsprintf-posix.c: Likewise.
83901         * tests/test-wchar.c: Likewise.
83902         * tests/test-wctype.c: Likewise.
83903         * tests/test-wcwidth.c: Likewise.
83904         * tests/test-xstrtol.c: Likewise.
83905         * tests/test-xvasprintf.c: Likewise.
83906         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
83907         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
83908         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
83909         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
83910         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
83911         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
83912         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
83913         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
83914         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
83915         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
83916         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
83917         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
83918         * tests/uniname/test-uninames.c: Likewise.
83919         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
83920         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
83921         * tests/unistdio/test-u16-printf1.h: Likewise.
83922         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
83923         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
83924         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
83925         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
83926         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
83927         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
83928         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
83929         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
83930         * tests/unistdio/test-u32-printf1.h: Likewise.
83931         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
83932         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
83933         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
83934         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
83935         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
83936         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
83937         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
83938         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
83939         * tests/unistdio/test-u8-printf1.h: Likewise.
83940         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
83941         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
83942         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
83943         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
83944         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
83945         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
83946         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
83947         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
83948         * tests/unistdio/test-ulc-printf1.h: Likewise.
83949         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
83950         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
83951         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
83952         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
83953         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
83954         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
83955         * tests/uniwidth/test-u16-strwidth.c: Likewise.
83956         * tests/uniwidth/test-u16-width.c: Likewise.
83957         * tests/uniwidth/test-u32-strwidth.c: Likewise.
83958         * tests/uniwidth/test-u32-width.c: Likewise.
83959         * tests/uniwidth/test-u8-strwidth.c: Likewise.
83960         * tests/uniwidth/test-u8-width.c: Likewise.
83961         * tests/uniwidth/test-uc_width.c: Likewise.
83962         * config/srclist-update: Likewise.
83963         (fixlicense): Update to GPLv3+.
83965         Change copyright notice from LGPLv2.1+ to LGPLv3+.
83966         * tests/test-tsearch.c: Change copyright notice.
83968         Change copyright notice from LGPLv2.0+ to LGPLv3+.
83969         * lib/c-strcaseeq.h: Change copyright notice.
83970         * lib/streq.h: Likewise.
83971         * lib/uniconv.h: Likewise.
83972         * lib/uniconv/u-conv-from-enc.h: Likewise.
83973         * lib/uniconv/u-conv-to-enc.h: Likewise.
83974         * lib/uniconv/u-strconv-from-enc.h: Likewise.
83975         * lib/uniconv/u-strconv-to-enc.h: Likewise.
83976         * lib/uniconv/u16-conv-from-enc.c: Likewise.
83977         * lib/uniconv/u16-conv-to-enc.c: Likewise.
83978         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
83979         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
83980         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
83981         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
83982         * lib/uniconv/u32-conv-from-enc.c: Likewise.
83983         * lib/uniconv/u32-conv-to-enc.c: Likewise.
83984         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
83985         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
83986         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
83987         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
83988         * lib/uniconv/u8-conv-from-enc.c: Likewise.
83989         * lib/uniconv/u8-conv-to-enc.c: Likewise.
83990         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
83991         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
83992         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
83993         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
83994         * lib/uniname.h: Likewise.
83995         * lib/uniname/uniname.c: Likewise.
83996         * lib/unistdio.h: Likewise.
83997         * lib/unistdio/u-asnprintf.h: Likewise.
83998         * lib/unistdio/u-asprintf.h: Likewise.
83999         * lib/unistdio/u-printf-args.c: Likewise.
84000         * lib/unistdio/u-printf-args.h: Likewise.
84001         * lib/unistdio/u-printf-parse.h: Likewise.
84002         * lib/unistdio/u-snprintf.h: Likewise.
84003         * lib/unistdio/u-sprintf.h: Likewise.
84004         * lib/unistdio/u-vasprintf.h: Likewise.
84005         * lib/unistdio/u-vsnprintf.h: Likewise.
84006         * lib/unistdio/u-vsprintf.h: Likewise.
84007         * lib/unistdio/u16-asnprintf.c: Likewise.
84008         * lib/unistdio/u16-asprintf.c: Likewise.
84009         * lib/unistdio/u16-printf-parse.c: Likewise.
84010         * lib/unistdio/u16-snprintf.c: Likewise.
84011         * lib/unistdio/u16-sprintf.c: Likewise.
84012         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
84013         * lib/unistdio/u16-u16-asprintf.c: Likewise.
84014         * lib/unistdio/u16-u16-snprintf.c: Likewise.
84015         * lib/unistdio/u16-u16-sprintf.c: Likewise.
84016         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
84017         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
84018         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
84019         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
84020         * lib/unistdio/u16-vasnprintf.c: Likewise.
84021         * lib/unistdio/u16-vasprintf.c: Likewise.
84022         * lib/unistdio/u16-vsnprintf.c: Likewise.
84023         * lib/unistdio/u16-vsprintf.c: Likewise.
84024         * lib/unistdio/u32-asnprintf.c: Likewise.
84025         * lib/unistdio/u32-asprintf.c: Likewise.
84026         * lib/unistdio/u32-printf-parse.c: Likewise.
84027         * lib/unistdio/u32-snprintf.c: Likewise.
84028         * lib/unistdio/u32-sprintf.c: Likewise.
84029         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
84030         * lib/unistdio/u32-u32-asprintf.c: Likewise.
84031         * lib/unistdio/u32-u32-snprintf.c: Likewise.
84032         * lib/unistdio/u32-u32-sprintf.c: Likewise.
84033         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
84034         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
84035         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
84036         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
84037         * lib/unistdio/u32-vasnprintf.c: Likewise.
84038         * lib/unistdio/u32-vasprintf.c: Likewise.
84039         * lib/unistdio/u32-vsnprintf.c: Likewise.
84040         * lib/unistdio/u32-vsprintf.c: Likewise.
84041         * lib/unistdio/u8-asnprintf.c: Likewise.
84042         * lib/unistdio/u8-asprintf.c: Likewise.
84043         * lib/unistdio/u8-printf-parse.c: Likewise.
84044         * lib/unistdio/u8-snprintf.c: Likewise.
84045         * lib/unistdio/u8-sprintf.c: Likewise.
84046         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
84047         * lib/unistdio/u8-u8-asprintf.c: Likewise.
84048         * lib/unistdio/u8-u8-snprintf.c: Likewise.
84049         * lib/unistdio/u8-u8-sprintf.c: Likewise.
84050         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
84051         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
84052         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
84053         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
84054         * lib/unistdio/u8-vasnprintf.c: Likewise.
84055         * lib/unistdio/u8-vasprintf.c: Likewise.
84056         * lib/unistdio/u8-vsnprintf.c: Likewise.
84057         * lib/unistdio/u8-vsprintf.c: Likewise.
84058         * lib/unistdio/ulc-asnprintf.c: Likewise.
84059         * lib/unistdio/ulc-asprintf.c: Likewise.
84060         * lib/unistdio/ulc-printf-parse.c: Likewise.
84061         * lib/unistdio/ulc-snprintf.c: Likewise.
84062         * lib/unistdio/ulc-sprintf.c: Likewise.
84063         * lib/unistdio/ulc-vasnprintf.c: Likewise.
84064         * lib/unistdio/ulc-vasprintf.c: Likewise.
84065         * lib/unistdio/ulc-vsnprintf.c: Likewise.
84066         * lib/unistdio/ulc-vsprintf.c: Likewise.
84067         * lib/unistr.h: Likewise.
84068         * lib/unistr/u-cpy-alloc.h: Likewise.
84069         * lib/unistr/u-cpy.h: Likewise.
84070         * lib/unistr/u-endswith.h: Likewise.
84071         * lib/unistr/u-move.h: Likewise.
84072         * lib/unistr/u-set.h: Likewise.
84073         * lib/unistr/u-startswith.h: Likewise.
84074         * lib/unistr/u-stpcpy.h: Likewise.
84075         * lib/unistr/u-stpncpy.h: Likewise.
84076         * lib/unistr/u-strcat.h: Likewise.
84077         * lib/unistr/u-strcpy.h: Likewise.
84078         * lib/unistr/u-strcspn.h: Likewise.
84079         * lib/unistr/u-strdup.h: Likewise.
84080         * lib/unistr/u-strlen.h: Likewise.
84081         * lib/unistr/u-strncat.h: Likewise.
84082         * lib/unistr/u-strncpy.h: Likewise.
84083         * lib/unistr/u-strnlen.h: Likewise.
84084         * lib/unistr/u-strpbrk.h: Likewise.
84085         * lib/unistr/u-strspn.h: Likewise.
84086         * lib/unistr/u-strstr.h: Likewise.
84087         * lib/unistr/u-strtok.h: Likewise.
84088         * lib/unistr/u16-check.c: Likewise.
84089         * lib/unistr/u16-chr.c: Likewise.
84090         * lib/unistr/u16-cmp.c: Likewise.
84091         * lib/unistr/u16-cpy-alloc.c: Likewise.
84092         * lib/unistr/u16-cpy.c: Likewise.
84093         * lib/unistr/u16-endswith.c: Likewise.
84094         * lib/unistr/u16-mblen.c: Likewise.
84095         * lib/unistr/u16-mbsnlen.c: Likewise.
84096         * lib/unistr/u16-mbtouc-aux.c: Likewise.
84097         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
84098         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
84099         * lib/unistr/u16-mbtouc.c: Likewise.
84100         * lib/unistr/u16-mbtoucr.c: Likewise.
84101         * lib/unistr/u16-move.c: Likewise.
84102         * lib/unistr/u16-next.c: Likewise.
84103         * lib/unistr/u16-prev.c: Likewise.
84104         * lib/unistr/u16-set.c: Likewise.
84105         * lib/unistr/u16-startswith.c: Likewise.
84106         * lib/unistr/u16-stpcpy.c: Likewise.
84107         * lib/unistr/u16-stpncpy.c: Likewise.
84108         * lib/unistr/u16-strcat.c: Likewise.
84109         * lib/unistr/u16-strchr.c: Likewise.
84110         * lib/unistr/u16-strcmp.c: Likewise.
84111         * lib/unistr/u16-strcpy.c: Likewise.
84112         * lib/unistr/u16-strcspn.c: Likewise.
84113         * lib/unistr/u16-strdup.c: Likewise.
84114         * lib/unistr/u16-strlen.c: Likewise.
84115         * lib/unistr/u16-strmblen.c: Likewise.
84116         * lib/unistr/u16-strmbtouc.c: Likewise.
84117         * lib/unistr/u16-strncat.c: Likewise.
84118         * lib/unistr/u16-strncmp.c: Likewise.
84119         * lib/unistr/u16-strncpy.c: Likewise.
84120         * lib/unistr/u16-strnlen.c: Likewise.
84121         * lib/unistr/u16-strpbrk.c: Likewise.
84122         * lib/unistr/u16-strrchr.c: Likewise.
84123         * lib/unistr/u16-strspn.c: Likewise.
84124         * lib/unistr/u16-strstr.c: Likewise.
84125         * lib/unistr/u16-strtok.c: Likewise.
84126         * lib/unistr/u16-to-u32.c: Likewise.
84127         * lib/unistr/u16-to-u8.c: Likewise.
84128         * lib/unistr/u16-uctomb-aux.c: Likewise.
84129         * lib/unistr/u16-uctomb.c: Likewise.
84130         * lib/unistr/u32-check.c: Likewise.
84131         * lib/unistr/u32-chr.c: Likewise.
84132         * lib/unistr/u32-cmp.c: Likewise.
84133         * lib/unistr/u32-cpy-alloc.c: Likewise.
84134         * lib/unistr/u32-cpy.c: Likewise.
84135         * lib/unistr/u32-endswith.c: Likewise.
84136         * lib/unistr/u32-mblen.c: Likewise.
84137         * lib/unistr/u32-mbsnlen.c: Likewise.
84138         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
84139         * lib/unistr/u32-mbtouc.c: Likewise.
84140         * lib/unistr/u32-mbtoucr.c: Likewise.
84141         * lib/unistr/u32-move.c: Likewise.
84142         * lib/unistr/u32-next.c: Likewise.
84143         * lib/unistr/u32-prev.c: Likewise.
84144         * lib/unistr/u32-set.c: Likewise.
84145         * lib/unistr/u32-startswith.c: Likewise.
84146         * lib/unistr/u32-stpcpy.c: Likewise.
84147         * lib/unistr/u32-stpncpy.c: Likewise.
84148         * lib/unistr/u32-strcat.c: Likewise.
84149         * lib/unistr/u32-strchr.c: Likewise.
84150         * lib/unistr/u32-strcmp.c: Likewise.
84151         * lib/unistr/u32-strcpy.c: Likewise.
84152         * lib/unistr/u32-strcspn.c: Likewise.
84153         * lib/unistr/u32-strdup.c: Likewise.
84154         * lib/unistr/u32-strlen.c: Likewise.
84155         * lib/unistr/u32-strmblen.c: Likewise.
84156         * lib/unistr/u32-strmbtouc.c: Likewise.
84157         * lib/unistr/u32-strncat.c: Likewise.
84158         * lib/unistr/u32-strncmp.c: Likewise.
84159         * lib/unistr/u32-strncpy.c: Likewise.
84160         * lib/unistr/u32-strnlen.c: Likewise.
84161         * lib/unistr/u32-strpbrk.c: Likewise.
84162         * lib/unistr/u32-strrchr.c: Likewise.
84163         * lib/unistr/u32-strspn.c: Likewise.
84164         * lib/unistr/u32-strstr.c: Likewise.
84165         * lib/unistr/u32-strtok.c: Likewise.
84166         * lib/unistr/u32-to-u16.c: Likewise.
84167         * lib/unistr/u32-to-u8.c: Likewise.
84168         * lib/unistr/u32-uctomb.c: Likewise.
84169         * lib/unistr/u8-check.c: Likewise.
84170         * lib/unistr/u8-chr.c: Likewise.
84171         * lib/unistr/u8-cmp.c: Likewise.
84172         * lib/unistr/u8-cpy-alloc.c: Likewise.
84173         * lib/unistr/u8-cpy.c: Likewise.
84174         * lib/unistr/u8-endswith.c: Likewise.
84175         * lib/unistr/u8-mblen.c: Likewise.
84176         * lib/unistr/u8-mbsnlen.c: Likewise.
84177         * lib/unistr/u8-mbtouc-aux.c: Likewise.
84178         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
84179         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
84180         * lib/unistr/u8-mbtouc.c: Likewise.
84181         * lib/unistr/u8-mbtoucr.c: Likewise.
84182         * lib/unistr/u8-move.c: Likewise.
84183         * lib/unistr/u8-next.c: Likewise.
84184         * lib/unistr/u8-prev.c: Likewise.
84185         * lib/unistr/u8-set.c: Likewise.
84186         * lib/unistr/u8-startswith.c: Likewise.
84187         * lib/unistr/u8-stpcpy.c: Likewise.
84188         * lib/unistr/u8-stpncpy.c: Likewise.
84189         * lib/unistr/u8-strcat.c: Likewise.
84190         * lib/unistr/u8-strchr.c: Likewise.
84191         * lib/unistr/u8-strcmp.c: Likewise.
84192         * lib/unistr/u8-strcpy.c: Likewise.
84193         * lib/unistr/u8-strcspn.c: Likewise.
84194         * lib/unistr/u8-strdup.c: Likewise.
84195         * lib/unistr/u8-strlen.c: Likewise.
84196         * lib/unistr/u8-strmblen.c: Likewise.
84197         * lib/unistr/u8-strmbtouc.c: Likewise.
84198         * lib/unistr/u8-strncat.c: Likewise.
84199         * lib/unistr/u8-strncmp.c: Likewise.
84200         * lib/unistr/u8-strncpy.c: Likewise.
84201         * lib/unistr/u8-strnlen.c: Likewise.
84202         * lib/unistr/u8-strpbrk.c: Likewise.
84203         * lib/unistr/u8-strrchr.c: Likewise.
84204         * lib/unistr/u8-strspn.c: Likewise.
84205         * lib/unistr/u8-strstr.c: Likewise.
84206         * lib/unistr/u8-strtok.c: Likewise.
84207         * lib/unistr/u8-to-u16.c: Likewise.
84208         * lib/unistr/u8-to-u32.c: Likewise.
84209         * lib/unistr/u8-uctomb-aux.c: Likewise.
84210         * lib/unistr/u8-uctomb.c: Likewise.
84211         * lib/unitypes.h: Likewise.
84212         * lib/uniwidth.h: Likewise.
84213         * lib/uniwidth/cjk.h: Likewise.
84214         * lib/uniwidth/u16-strwidth.c: Likewise.
84215         * lib/uniwidth/u16-width.c: Likewise.
84216         * lib/uniwidth/u32-strwidth.c: Likewise.
84217         * lib/uniwidth/u32-width.c: Likewise.
84218         * lib/uniwidth/u8-strwidth.c: Likewise.
84219         * lib/uniwidth/u8-width.c: Likewise.
84220         * lib/uniwidth/width.c: Likewise.
84222 2007-10-07  Bruno Haible  <bruno@clisp.org>
84224         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
84225         The file is still under LGPL (see modules/inttypes).
84227 2007-10-06  Bruno Haible  <bruno@clisp.org>
84229         * modules/trunc (Dependencies): Add 'extensions'.
84230         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
84231         Reported by Ben Pfaff <blp@gnu.org>.
84233 2007-10-06  Bruno Haible  <bruno@clisp.org>
84235         * modules/freopen-tests: New file.
84236         * tests/test-freopen.c: New file.
84238         * modules/fopen-tests: New file.
84239         * tests/test-fopen.c: New file.
84241         * modules/fopen: New file.
84242         * lib/fopen.c: New file.
84243         * m4/fopen.m4: New file.
84244         * modules/freopen: New file.
84245         * lib/freopen.c: New file.
84246         * m4/freopen.m4: New file.
84247         * lib/stdio.in.h (fopen, freopen): New declarations.
84248         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
84249         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
84250         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
84251         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
84252         * doc/functions/fopen.texi: Mention the 'fopen' module.
84253         * doc/functions/freopen.texi: Mention the 'freopen' module.
84255 2007-10-06  Bruno Haible  <bruno@clisp.org>
84257         * modules/open-tests: New file.
84258         * tests/test-open.c: New file.
84260         * modules/open: New file.
84261         * lib/open.c: New file.
84262         * m4/open.m4: New file.
84263         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
84264         lib/open.c does.
84265         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
84266         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
84267         macros.
84268         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
84269         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
84270         REPLACE_OPEN.
84271         * doc/functions/open.texi: Mention the 'open' module.
84273 2007-10-04  Bruno Haible  <bruno@clisp.org>
84275         * modules/ceill-tests: New file.
84276         * tests/test-ceill.c: New file.
84278         * modules/ceill: New file.
84279         * lib/ceill.c: Replace entire file.
84280         * m4/ceill.m4: New file.
84281         * lib/math.in.h (ceill): Replace declaration.
84282         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
84283         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
84284         * doc/functions/ceill.texi: Mention the 'ceill' module.
84285         * modules/mathl (Files): Remove lib/ceill.c.
84286         (Depends-on): Add ceill.
84288 2007-10-04  Bruno Haible  <bruno@clisp.org>
84290         * modules/ceilf-tests: New file.
84291         * tests/test-ceilf.c: New file.
84293         * modules/ceilf: New file.
84294         * lib/ceil.c: New file.
84295         * lib/ceilf.c: New file.
84296         * m4/ceilf.m4: New file.
84297         * lib/math.in.h (ceilf): New declaration.
84298         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
84299         HAVE_DECL_CEILF.
84300         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
84301         HAVE_DECL_CEILF.
84302         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
84304 2007-10-04  Bruno Haible  <bruno@clisp.org>
84306         * modules/floorl-tests: New file.
84307         * tests/test-floorl.c: New file.
84309         * modules/floorl: New file.
84310         * lib/floorl.c: Replace entire file.
84311         * m4/floorl.m4: New file.
84312         * lib/math.in.h (floorl): Replace declaration.
84313         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
84314         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
84315         * doc/functions/floorl.texi: Mention the 'floorl' module.
84316         * modules/mathl (Files): Remove lib/floorl.c.
84317         (Depends-on): Add floorl.
84319 2007-10-04  Bruno Haible  <bruno@clisp.org>
84321         * modules/floorf-tests: New file.
84322         * tests/test-floorf.c: New file.
84324         * modules/floorf: New file.
84325         * lib/floor.c: New file.
84326         * lib/floorf.c: New file.
84327         * m4/floorf.m4: New file.
84328         * lib/math.in.h (floorf): New declaration.
84329         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
84330         HAVE_DECL_FLOORF.
84331         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
84332         HAVE_DECL_FLOORF.
84333         * doc/functions/floorf.texi: Mention the 'floorf' module.
84335 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
84336             Bruno Haible  <bruno@clisp.org>
84338         Advertise for the Git server instead of the CVS server.
84339         * doc/gnulib-intro.texi (Steady Development): Mention the Git
84340         repository instead of the CVS one.
84341         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
84342         about all VCS systems generically.
84343         * doc/gnulib.texi (Introduction): Capitalize `Git'.
84345 2007-10-04  Bruno Haible  <bruno@clisp.org>
84347         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
84348         means.
84349         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
84351 2007-10-04  Bruno Haible  <bruno@clisp.org>
84353         * modules/truncl-tests: New file.
84354         * tests/test-truncl.c: New file.
84356         * modules/truncl: New file.
84357         * lib/truncl.c: New file.
84358         * m4/truncl.m4: New file.
84359         * lib/math.in.h (truncl): New declaration.
84360         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
84361         HAVE_DECL_TRUNCL.
84362         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
84363         HAVE_DECL_TRUNCL.
84364         * doc/functions/truncl.texi: Mention the 'truncl' module.
84366 2007-10-04  Bruno Haible  <bruno@clisp.org>
84368         * modules/truncf-tests: New file.
84369         * tests/test-truncf.c: New file.
84371         * modules/truncf: New file.
84372         * lib/trunc.c: Make paramerizable through USE_* macros.
84373         * lib/truncf.c: New file.
84374         * m4/truncf.m4: New file.
84375         * lib/math.in.h (truncf): New declaration.
84376         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
84377         HAVE_DECL_TRUNCF.
84378         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
84379         HAVE_DECL_TRUNCF.
84380         * doc/functions/truncf.texi: Mention the 'truncf' module.
84382 2007-10-03  Bruno Haible  <bruno@clisp.org>
84384         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
84385         augmentation also for tests modules.
84386         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
84387         * modules/atexit-tests (Makefile.am): Likewise.
84388         * modules/binary-io-tests (Makefile.am): Likewise.
84389         * modules/c-strcase-tests (Makefile.am): Likewise.
84390         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
84391         * modules/canonicalize-tests (Makefile.am): Likewise.
84392         * modules/closein-tests (Makefile.am): Likewise.
84393         * modules/fprintf-posix-tests (Makefile.am): Likewise.
84394         * modules/freadahead-tests (Makefile.am): Likewise.
84395         * modules/fseek-tests (Makefile.am): Likewise.
84396         * modules/fseeko-tests (Makefile.am): Likewise.
84397         * modules/ftell-tests (Makefile.am): Likewise.
84398         * modules/ftello-tests (Makefile.am): Likewise.
84399         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
84400         * modules/isnanl-tests (Makefile.am): Likewise.
84401         * modules/lseek-tests (Makefile.am): Likewise.
84402         * modules/mbscasecmp-tests (Makefile.am): Likewise.
84403         * modules/mbscasestr-tests (Makefile.am): Likewise.
84404         * modules/mbschr-tests (Makefile.am): Likewise.
84405         * modules/mbscspn-tests (Makefile.am): Likewise.
84406         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
84407         * modules/mbspbrk-tests (Makefile.am): Likewise.
84408         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
84409         * modules/mbsrchr-tests (Makefile.am): Likewise.
84410         * modules/mbsspn-tests (Makefile.am): Likewise.
84411         * modules/mbsstr-tests (Makefile.am): Likewise.
84412         * modules/printf-posix-tests (Makefile.am): Likewise.
84413         * modules/snprintf-posix-tests (Makefile.am): Likewise.
84414         * modules/sprintf-posix-tests (Makefile.am): Likewise.
84415         * modules/tsearch-tests (Makefile.am): Likewise.
84416         * modules/uniname/uniname-tests (Makefile.am): Likewise.
84417         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
84418         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
84419         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
84420         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
84421         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
84422         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
84423         * modules/vprintf-posix-tests (Makefile.am): Likewise.
84424         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
84425         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
84426         * modules/xstrtoimax-tests (Makefile.am): Likewise.
84427         * modules/xstrtol-tests (Makefile.am): Likewise.
84428         * modules/xstrtoumax-tests (Makefile.am): Likewise.
84429         * modules/yesno-tests (Makefile.am): Likewise.
84431 2007-10-03  Bruno Haible  <bruno@clisp.org>
84433         * modules/trunc-tests: New file.
84434         * tests/test-trunc.c: New file.
84436         * modules/trunc: New file.
84437         * lib/trunc.c: New file.
84438         * m4/trunc.m4: New file.
84439         * lib/math.in.h (trunc): New declaration.
84440         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
84441         HAVE_DECL_TRUNC.
84442         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
84443         HAVE_DECL_TRUNC.
84444         * doc/functions/trunc.texi: Mention the 'trunc' module.
84446 2007-10-03  Bruno Haible  <bruno@clisp.org>
84448         * tests/test-fpending.c: New file, mostly copied
84449         from coreutils/lib/t-fpending.c.
84450         * modules/fpending-tests: New file.
84452 2007-10-03  Bruno Haible  <bruno@clisp.org>
84454         Port the stdio extensions to QNX (untested).
84455         * lib/fseterr.c (fseterr): Add support for QNX.
84456         * lib/fbufmode.c (fbufmode): Likewise.
84457         * lib/freadable.c (freadable): Likewise.
84458         * lib/fwritable.c (fwritable): Likewise.
84459         * lib/freading.c (freading): Likewise.
84460         * lib/fwriting.c (fwriting): Likewise.
84461         * lib/freadahead.c (freadahed): Likewise.
84462         * lib/fpurge.c (fpurge): Likewise.
84463         * lib/fseeko.c (rpl_fseeko): Likewise.
84465 2007-10-03  Bruno Haible  <bruno@clisp.org>
84466             Jim Meyering  <jim@meyering.net>
84467             Eric Blake  <ebb9@byu.net>
84469         * doc/relocatable.texi: Use @command instead of @program.
84471 2007-10-02  Jim Meyering  <jim@meyering.net>
84473         Perform one more "_.h" -> ".in.h" substitution.
84474         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
84475         instead of unistd_.h here, too.
84477 2007-10-01  Bruno Haible  <bruno@clisp.org>
84479         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
84480         Needed for the alloca-opt module.
84482 2007-09-30  Bruno Haible  <bruno@clisp.org>
84484         * lib/alloca.in.h: Renamed from lib/alloca_.h.
84485         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
84486         alloca_.h.
84487         * lib/argz.in.h: Renamed from lib/argz_.h.
84488         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
84489         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
84490         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
84491         byteswap_.h.
84492         * lib/dirent.in.h: Renamed from lib/dirent_.h.
84493         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
84494         dirent_.h.
84495         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
84496         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
84497         fcntl_.h.
84498         * lib/float.in.h: Renamed from lib/float_.h.
84499         * modules/float (Files, Makefile.am): Use float.in.h instead of
84500         float_.h.
84501         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
84502         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
84503         fnmatch_.h.
84504         * lib/getopt.in.h: Renamed from lib/getopt_.h.
84505         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
84506         getopt_.h.
84507         * lib/glob.in.h: Renamed from lib/glob_.h.
84508         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
84509         * lib/iconv.in.h: Renamed from lib/iconv_.h.
84510         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
84511         iconv_.h.
84512         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
84513         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
84514         inttypes_.h.
84515         * lib/locale.in.h: Renamed from lib/locale_.h.
84516         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
84517         locale_.h.
84518         * lib/math.in.h: Renamed from lib/math_.h.
84519         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
84520         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
84521         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
84522         of netinet_in_.h. Add dependency.
84523         * lib/poll.in.h: Renamed from lib/poll_.h.
84524         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
84525         * lib/search.in.h: Renamed from lib/search_.h.
84526         * modules/search (Files, Makefile.am): Use search.in.h instead of
84527         search_.h.
84528         * lib/signal.in.h: Renamed from lib/signal_.h.
84529         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
84530         _signal.h.
84531         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
84532         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
84533         stdbool_.h.
84534         * lib/stdint.in.h: Renamed from lib/stdint_.h.
84535         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
84536         stdint_.h.
84537         * lib/stdio.in.h: Renamed from lib/stdio_.h.
84538         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
84539         stdio_.h.
84540         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
84541         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
84542         stdlib_.h.
84543         * lib/string.in.h: Renamed from lib/string_.h.
84544         * modules/string (Files, Makefile.am): Use string.in.h instead of
84545         string_.h.
84546         * doc/gnulib-tool.texi (Initial import): Update.
84547         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
84548         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
84549         of sys_select_.h. Add dependency.
84550         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
84551         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
84552         of sys_socket_.h.
84553         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
84554         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
84555         sys_stat_.h.
84556         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
84557         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
84558         sys_time_.h.
84559         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
84560         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
84561         sysexits_.h.
84562         * lib/time.in.h: Renamed from lib/time_.h.
84563         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
84564         * lib/unistd.in.h: Renamed from lib/unistd_.h.
84565         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
84566         unistd_.h.
84567         * lib/wchar.in.h: Renamed from lib/wchar_.h.
84568         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
84569         wchar_.h.
84570         * lib/wctype.in.h: Renamed from lib/wctype_.h.
84571         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
84572         wctype_.h.
84573         * build-aux/bootstrap (slurp): Update.
84574         * lib/.cppi-disable: Update.
84576 2007-09-30  Bruno Haible  <bruno@clisp.org>
84578         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
84579         Needed on BeOS.
84581 2007-09-30  Bruno Haible  <bruno@clisp.org>
84583         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
84585 2007-09-29  Bruno Haible  <bruno@clisp.org>
84587         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
84589 2007-09-29  Bruno Haible  <bruno@clisp.org>
84591         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
84592         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
84593         * build-aux/install-reloc: Compile also areadlink.c.
84594         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
84596 2007-09-29  Bruno Haible  <bruno@clisp.org>
84598         * gnulib-tool (func_emit_initmacro_done): Indentation.
84600 2007-09-29  Bruno Haible  <bruno@clisp.org>
84602         * README: Add CVS checkout update instructions.
84603         Info from Bob Proulx <bob@proulx.com>.
84605 2007-09-28  Eric Blake  <ebb9@byu.net>
84607         Provide move-if-change.
84608         * build-aux/move-if-change: New file, based on best practice
84609         rather than any canonical upstream location.
84611 2007-09-28  Jim Meyering  <jim@meyering.net>
84613         Fix canonicalize loop-detection corner case.
84614         Do not attempt to stat the symlink values stored via seen_triple.
84615         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
84616         on linux-2.6.18, (but not 2.6.22).
84617         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
84618         triple_compare.  The former compares dev,ino,filename, while the latter
84619         would actually stat dirname(filename) when dev and ino were equal.
84620         * lib/hash-triple.c: Install <string.h>.
84621         (STREQ): Define.
84622         (triple_compare_ino_str): New function.
84623         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
84625 2007-09-28  Eric Blake  <ebb9@byu.net>
84627         Enforce that AC_REPLACE_FUNCS files exist.
84628         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
84629         override check for typos.
84631         Fix test-closein on Solaris 10.
84632         * tests/test-closein.c (main): Don't assume stdin can be inherited
84633         closed on all systems.
84634         * tests/test-closein.sh: Likewise.
84635         Reported by Piotr Tarnowski.
84637 2007-09-28  Jim Meyering  <jim@meyering.net>
84639         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
84641 2007-09-27  Jim Meyering  <jim@meyering.net>
84643         canonicalize: Avoid a false-positive cycle failure.
84644         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
84645         Sort.  Remove cycle-check.
84646         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
84647         not cycle-check.h.
84648         (seen_triple): New function.
84649         (canonicalize_filename_mode): Use it instead of cycle-check.
84650         * tests/test-canonicalize.c: Add a test for this bug.
84651         * tests/test-canonicalize.sh: Set up and run the test.
84653         New module, file-set, from coreutils.
84654         * modules/file-set: Define it.
84655         * lib/file-set.c, lib/file-set.h: Implement.
84657         New module, hash-triple, from coreutils.
84658         * modules/hash-triple: Define it.
84659         * lib/hash-triple.c, lib/hash-triple.h: Implement.
84661 2007-09-25  Eric Blake  <ebb9@byu.net>
84663         Fix strerror on Interix.
84664         * lib/string_.h (strerror): Declare replacement.
84665         * doc/functions/strerror.texi (strerror): Document the Interix
84666         shortcoming.
84667         * modules/string (Makefile.am): Support new hooks.
84668         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
84669         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
84670         gl_FUNC_STRERROR_SEPARATE.
84671         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
84672         * lib/strerror.c (rpl_strerror): Provide replacement.
84673         * modules/strerror (Depends-on): Add string.
84674         (configure.ac): Detect use of module.
84675         * tests/test-strerror.c: New file.
84676         * modules/strerror-tests: New test module.
84677         * modules/argp (Depends-on): Add strerror.
84678         * modules/error (Depends-on): Likewise.
84679         Reported by Martin Koeppe.
84681 2007-09-24  Bruno Haible  <bruno@clisp.org>
84683         * README: Update git instructions.
84685 2007-09-24  Eric Blake  <ebb9@byu.net>
84687         Revert fpending breakage from 2007-09-08.
84688         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
84689         __fpending.c.
84691 2007-09-24  Jim Meyering  <jim@meyering.net>
84693         filenamecat.c: Add a test.
84694         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
84695         showing how the function works when DIR is the empty string.
84697 2007-09-21  Simon Josefsson  <simon@josefsson.org>
84699         * tests/test-canonicalize.sh: Turn on executable bit.
84701 2007-09-19  Eric Blake  <ebb9@byu.net>
84703         * README: Update CVS instructions.
84705 2007-09-18  Bruno Haible  <bruno@clisp.org>
84707         * modules/areadlink: New file.
84708         * lib/areadlink.h (areadlink): New declaration.
84709         * lib/areadlink.c: New file, based on lib/xreadlink.c.
84711 2007-09-17  Jim Meyering  <jim@meyering.net>
84713         * lib/savewd.c (ESTALE) [!defined]: Define.
84714         Reported to be required on Interix by Martin Koeppe.
84716 2007-09-17  Bruno Haible  <bruno@clisp.org>
84718         * gnulib-tool (func_version): Use $version.
84720 2007-09-16  Bruno Haible  <bruno@clisp.org>
84722         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
84723         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
84724         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
84725         Reported by Greg Schafer <gschafer@zip.com.au>.
84727 2007-09-15  Bruno Haible  <bruno@clisp.org>
84729         * gnulib-tool (sed): Try a little harder to make bash understand the
84730         alias.
84731         Reported by Bruce Korb <bruce.korb@gmail.com>.
84733 2007-09-13  Eric Blake  <ebb9@byu.net>
84735         * ChangeLog: Remove conflict markers.
84737 2007-09-13  Simon Josefsson  <simon@josefsson.org>
84739         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
84740         Reported by Bruno Haible <bruno@clisp.org>.
84742 2007-09-12  Bruno Haible  <bruno@clisp.org>
84744         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
84745         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
84746         is not defined.
84748 2007-09-12  Eric Blake  <ebb9@byu.net>
84750         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
84751         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
84752         Autoconf definition.
84753         * modules/euidaccess (Depends-on): Add extensions, for
84754         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
84755         * modules/fnmatch (Depends-on): Likewise.
84756         * modules/getaddrinfo (Depends-on): Likewise.
84757         * modules/getdelim (Depends-on): Likewise.
84758         * modules/getline (Depends-on): Likewise.
84759         * modules/getsubopt (Depends-on): Likewise.
84760         * modules/gettext (Depends-on): Likewise.
84761         * modules/group-member (Depends-on): Likewise.
84762         * modules/mbchar (Depends-on): Likewise.
84763         * modules/memmem (Depends-on): Likewise.
84764         * modules/mempcpy (Depends-on): Likewise.
84765         * modules/memrchr (Depends-on): Likewise.
84766         * modules/pagealign_alloc (Depends-on): Likewise.
84767         * modules/readutmp (Depends-on): Likewise.
84768         * modules/stpcpy (Depends-on): Likewise.
84769         * modules/stpncpy (Depends-on): Likewise.
84770         * modules/strchrnul (Depends-on): Likewise.
84771         * modules/strndup (Depends-on): Likewise.
84772         * modules/strsep (Depends-on): Likewise.
84773         * modules/strverscmp (Depends-on): Likewise.
84774         * modules/vasprintf (Depends-on): Likewise.
84775         * modules/wcwidth (Depends-on): Likewise.
84776         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
84777         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
84778         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
84779         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
84780         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
84781         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
84782         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
84783         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
84784         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
84785         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
84786         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
84787         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
84788         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
84789         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
84790         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
84791         * m4/readutmp.m4 (gl_READUTMP): Likewise.
84792         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
84793         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
84794         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
84795         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
84796         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
84797         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
84798         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
84799         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
84800         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
84801         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
84802         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
84803         so that lock.m4 can be used in gettext without extensions module.
84805 2007-09-11  Bruno Haible  <bruno@clisp.org>
84807         * m4/isc-posix.m4: Remove file.
84808         Suggested by Eric Blake.
84810 2007-09-11  Eric Blake  <ebb9@byu.net>
84812         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
84814 2007-09-10  Bruno Haible  <bruno@clisp.org>
84816         * posix-modules: Fix typo in error message.
84817         Reported by Matt <mkraai@beckman.com>.
84819 2007-09-09  Bruno Haible  <bruno@clisp.org>
84821         * doc/functions/getdelim.texi: Update list of platforms lacking the
84822         function.
84823         * doc/functions/getline.texi: Likewise.
84825 2007-09-09  Jim Meyering  <jim@meyering.net>
84827         * lib/hash.c (hash_initialize): Detect calloc failure.
84828         Reported by Bruno Haible.
84830 2007-09-09  Bruno Haible  <bruno@clisp.org>
84832         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
84833         malloc or realloc fails.
84835 2007-09-09  Bruno Haible  <bruno@clisp.org>
84837         * modules/getcwd (Depends-on): Add malloc-posix.
84838         * modules/glob (Depends-on): Likewise.
84839         * modules/putenv (Depends-on): Likewise.
84840         * modules/strdup (Depends-on): Likewise.
84841         * modules/getdelim (Depends-on): Add realloc-posix.
84842         * modules/read-file (Depends-on): Likewise.
84844 2007-09-09  Bruno Haible  <bruno@clisp.org>
84846         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
84847         (gl_FUNC_MALLOC_POSIX): Require it.
84848         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
84849         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
84850         * modules/realloc (Files): Add m4/malloc.m4.
84851         * modules/calloc (Files): Likewise.
84853 2007-09-09  Bruno Haible  <bruno@clisp.org>
84855         * modules/malloc-posix: New file.
84856         * modules/malloc (Depends-on): Add malloc-posix.
84857         * lib/malloc.c: Include errno.h.
84858         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
84859         and a POSIX-compatible malloc into a single function. Set ENOMEM
84860         when returning NULL.
84861         * m4/malloc.m4: New file.
84862         * doc/functions/malloc.texi: Mention the malloc-posix module.
84863         * lib/stdlib_.h (malloc): New declaration.
84864         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
84865         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
84866         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
84867         and HAVE_MALLOC_POSIX.
84869 2007-09-09  Bruno Haible  <bruno@clisp.org>
84871         * modules/realloc-posix: New file.
84872         * modules/realloc (Depends-on): Add realloc-posix.
84873         * lib/realloc.c: Include errno.h.
84874         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
84875         and a POSIX-compatible realloc into a single function. Set ENOMEM
84876         when returning NULL.
84877         * m4/realloc.m4: New file.
84878         * doc/functions/realloc.texi: Mention the realloc-posix module.
84879         * lib/stdlib_.h (realloc): New declaration.
84880         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
84881         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
84882         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
84883         and HAVE_REALLOC_POSIX.
84885 2007-09-09  Bruno Haible  <bruno@clisp.org>
84887         * modules/calloc-posix: New file.
84888         * modules/calloc (Depends-on): Add calloc-posix.
84889         * lib/calloc.c: Include errno.h.
84890         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
84891         and a POSIX-compatible calloc into a single function. Set ENOMEM
84892         when returning NULL.
84893         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
84894         * doc/functions/calloc.texi: Mention the calloc-posix module.
84895         * lib/stdlib_.h (calloc): New declaration.
84896         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
84897         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
84898         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
84899         and HAVE_CALLOC_POSIX.
84901 2007-09-09  Bruno Haible  <bruno@clisp.org>
84903         Allow for modules to show an arbitrary notice.
84904         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
84905         * gnulib-tool: New option --extract-notice.
84906         (func_usage): Document it.
84907         (sed_extract_prog): Update.
84908         (func_get_notice): New function.
84909         (func_modules_notice): New function.
84910         (func_import, func_create_testdir): Invoke it.
84911         Suggested by Jim Meyering.
84913 2007-09-09  Bruno Haible  <bruno@clisp.org>
84915         * gnulib-tool: New options --verbose, --quiet.
84916         (func_usage): Document them.
84917         (verbose): New variable.
84918         (func_execute_command): New function.
84919         (func_import): Don't show the module list and the file list if
84920         $verbose < 0.
84921         (func_create_testdir): Likewise. Use func_execute_command.
84922         (func_create_megatestdir): Use func_execute_command.
84924 2007-09-08  Bruno Haible  <bruno@clisp.org>
84926         * gnulib-tool (func_import): Prefer rsync over wget when available,
84927         for fetching the PO files.
84929 2007-09-08  Bruno Haible  <bruno@clisp.org>
84931         * posix-modules: New file. Portions copied from gnulib-tool.
84932         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
84934 2007-09-08  Jim Meyering  <jim@meyering.net>
84936         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
84937         * lib/fpending.h: Rename from __fpending.h.
84938         * lib/fpending.c: Rename from __fpending.c.
84939         Include "fpending.h", not "__fpending.h".
84940         * lib/__fpending.h, lib/__fpending.c: Remove files.
84941         * modules/fpending (Files): Reflect new file names.
84942         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
84944 2007-09-08  Bruno Haible  <bruno@clisp.org>
84946         * m4/inttypes-h.m4: Remove stub file.
84948 2007-09-07  Simon Josefsson  <simon@josefsson.org>
84950         * doc/headers/stdint.texi: Discuss #include_next issue.
84952 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
84954         * build-aux/bootstrap: Remove obsolete comment about wget --help.
84956 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84958         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
84959         in variable name.
84961 2007-09-03  Jim Meyering  <jim@meyering.net>
84963         New module: git-version-gen.
84964         * modules/git-version-gen: New file.
84966         Import changes from coreutils for bootstrap script.
84968         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
84970         bootstrap: uses rsync to download the .po files
84971         * build-aux/bootstrap (po_download_command_format): New global.
84972         (download_po_files): Use rsync.
84973         (update_po_files): Don't remove .po files after download,
84974         so future rsync runs can take advantage of the copies.
84976         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
84978         Solve the unnecessary-.po-file-regeneration problem once and for all.
84979         * build-aux/bootstrap (download_po_files): New function, renamed from
84980         get_translations.  Now, downloads, but doesn't update LINGUAS.
84981         (update_po_files): New function.
84983         bootstrap: Ignore more.
84984         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
84985         uniwidth to e.g., lib/.gitignore.
84986         (slurp): Handle the sys_stat_.h -> sys mapping, too.
84988         * build-aux/bootstrap: New setting: vc_ignore.
84989         (insert_sorted_if_absent): Create $file if absent.
84990         Adapt to new, possibly empty, list: $vc_ignore.
84992         bootstrap: generate more ignorable names
84993         * build-aux/bootstrap (slurp): When generating ignorable names,
84994         also map .sin to .sed, .gperf to .c, and .y to .c.
84996 2007-09-03  Jim Meyering  <jim@meyering.net>
84998         * build-aux/git-version-gen: New file, from coreutils.  For details, see
84999         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
85001 2007-09-02  Bruno Haible  <bruno@clisp.org>
85003         Fix mis-recognition of 'mcs' on QNX 6.
85004         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
85005         output contains the string "Mono".
85006         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
85007         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
85009 2007-09-01  Bruno Haible  <bruno@clisp.org>
85011         Fix collision between uniwidth/* and linebreak modules.
85012         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
85013         u32_width): Remove declarations.
85014         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
85015         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
85016         streq3, streq2, streq1, streq0): Remove functions.
85017         (STREQ): Remove macro.
85018         (is_cjk_encoding): Remove function.
85019         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
85020         (uc_width, u8_width, u16_width, u32_width): Remove functions.
85021         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
85022         * NEWS: Document the change.
85024 2007-09-01  Bruno Haible  <bruno@clisp.org>
85026         * lib/streq.h: Add double-inclusion guard.
85028 2007-09-01  Karl Berry  <karl@gnu.org>
85030         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
85032 2007-08-28  Jim Meyering  <jim@meyering.net>
85034         Rename mreadlink_with_size to areadlink_with_size.
85035         * NEWS: Document the change.
85036         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
85037         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
85038         * lib/mreadlink.h: Rename this to...
85039         * lib/areadlink.h: ...this.
85040         * modules/mreadlink-with-size: Rename this to...
85041         * modules/areadlink-with-size: ...this.
85042         * lib/canonicalize.c: Reflect the renaming.
85043         * modules/canonicalize: Likewise.
85045 2007-08-26  Bruno Haible  <bruno@clisp.org>
85047         * gnulib-tool (func_import): When deciding which files to remove,
85048         consider also dangling symbolic links.
85049         Reported by Eric Blake.
85051 2007-08-26  Bruno Haible  <bruno@clisp.org>
85053         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
85055 2007-08-23  Simon Josefsson  <simon@josefsson.org>
85057         * lib/readline.c: Don't include getline.h, the prototype is now
85058         found in stdio.h.
85060 2007-08-23  Jim Meyering  <jim@meyering.net>
85062         Getdelim touchup.
85063         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
85064         around the funlockfile call, since funlockfile never sets errno.
85065         Don't set errno upon failed realloc.
85067 2007-08-22  Eric Blake  <ebb9@byu.net>
85069         Getline touchups.
85070         * lib/getdelim.c (getdelim): Revert regression that required *n to
85071         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
85072         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
85073         getdelim, rather than whether implementation is missing.
85074         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
85075         * lib/stdio_.h (getline): Also declare if replacement is
85076         required.
85077         * doc/functions/getdelim.texi: New file.
85078         * doc/functions/getline.texi: Likewise.
85079         * doc/gnulib.texi (Function Substitutes): Add new files.
85080         Reported by Bruno Haible.
85082 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
85084         * users.txt: Add Guile.
85086 2007-08-22  Eric Blake  <ebb9@byu.net>
85088         * tests/test-getdelim.c (main): Use remove, not unlink.
85089         * tests/test-getline.c (main): Likewise.
85091         Move getline and getdelim into stdio.h, per POSIX 200x.
85092         * modules/getline (Files): Remove getline.h.
85093         (Depends-on): Add stdio.
85094         (configure.ac): Add module indicator.
85095         * modules/getdelim (Files): Remove getdelim.h.
85096         (Depends-on): Add stdio.
85097         (configure.ac): Add module indicator.
85098         * modules/stdio (Makefile.am): Work with new indicators.
85099         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
85100         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
85101         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
85102         * lib/getdelim.h: Delete.
85103         * lib/getline.h: Delete.
85104         * lib/stdio_.h (getdelim, getline): Declare.
85105         * modules/getdelim-tests: New module.
85106         * modules/getline-tests: Likewise.
85107         * tests/test-getdelim.c: New file.
85108         * tests/test-getline.c: Likewise.
85109         * NEWS: Document the change.
85110         * lib/getline.c: Update choice of header.
85111         * lib/csharpcomp.c: Likewise.
85112         * lib/getpass.c: Likewise.
85113         * lib/javacomp.c: Likewise.
85114         * lib/javaversion.c: Likewise.
85115         * lib/yesno.c: Likewise.
85116         * lib/getdelim.c: Likewise.
85117         (getdelim): Set errno on failure, and avoid memory leak.
85119 2007-08-19  Bruno Haible  <bruno@clisp.org>
85121         * modules/closein (Depends-on): Add freadahead.
85122         * lib/closein.c: Include freadahead.h.
85123         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
85124         is zero.
85126 2007-08-19  Bruno Haible  <bruno@clisp.org>
85128         * modules/freadahead-tests: New file.
85129         * tests/test-freadahead.sh: New file.
85130         * tests/test-freadahead.c: New file.
85132         * modules/freadahead: New file.
85133         * lib/freadahead.h: New file.
85134         * lib/freadahead.c: New file.
85135         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
85136         fbufmode, fpurge, freadable, fwritable.
85138 2007-08-19  Eric Blake  <ebb9@byu.net>
85140         Test yesno in combination with closein.
85141         * lib/yesno.c (yesno): Document use of stdin.
85142         * modules/yesno-tests (Files): New module.
85143         * tests/test-yesno.c (main): New file.
85144         * tests/test-yesno.sh: Likewise.
85146 2007-08-19  Bruno Haible  <bruno@clisp.org>
85148         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
85149         * lib/fseeko.c (rpl_fseeko): Likewise.
85150         * lib/fseterr.c (fseterr): Likewise.
85152 2007-08-19  Bruno Haible  <bruno@clisp.org>
85154         * tests/test-lseek.c (main): Disable a test for BeOS.
85155         * doc/functions/lseek.texi: Document the BeOS bug.
85157 2007-08-19  Bruno Haible  <bruno@clisp.org>
85158             Eric Blake  <ebb9@byu.net>
85160         * lib/lseek.c: Include <sys/stat.h>.
85161         (rpl_lseek): Add workaround code also for Unix platforms.
85162         Needed for BeOS.
85163         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
85164         * doc/functions/lseek.texi: Document BeOS definiency.
85166 2007-08-18  Bruno Haible  <bruno@clisp.org>
85168         * modules/fstrcmp-tests: New file.
85169         * tests/test-fstrcmp.c: New file.
85171 2007-08-18  Bruno Haible  <bruno@clisp.org>
85173         * modules/fstrcmp: New file, from GNU gettext with modifications.
85174         * lib/fstrcmp.h: New file, from GNU gettext.
85175         * lib/fstrcmp.c: New file, from GNU gettext.
85176         * MODULES.html.sh (String handling): Add fstrcmp.
85178 2007-08-18  Bruno Haible  <bruno@clisp.org>
85180         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
85181         'bool'.
85182         (diag, compareseq): Remove const from the ctxt argument.
85183         (USE_HEURISTIC): Undefine at the end.
85185 2007-08-18  Jim Meyering  <jim@meyering.net>
85187         New file: lib/idcache.h
85188         * NEWS: Mention the addition.
85189         * modules/idcache (Files): Add lib/idcache.h
85190         * lib/idcache.c: Include "idcache.h".
85191         Don't include <sys/types.h>.
85192         Add a FIXME comment.
85193         Move file-scoped "static" declarations to the top.
85194         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
85196 2007-08-17  Bruno Haible  <bruno@clisp.org>
85197         and Paul Eggert  <eggert@cs.ucla.edu>
85199         * MODULES.html.sh: Add diffseq.
85200         * modules/diffseq: New file.
85201         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
85202         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
85204 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
85206         Import changes from coreutils for bootstrap script.
85208         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
85210         * build-aux/bootstrap (slurp): Work even in environments where
85211         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
85212         current code does not slurp files whose names start with ".", and
85213         this looks like it might be a troublesome area.
85215         2007-07-11  Jim Meyering  <jim@meyering.net>
85217         If there's a GPL vN copyright comment, require that N == 3.
85219         2007-07-08  Jim Meyering  <jim@meyering.net>
85221         Run the coreutils-specific code only if tests/Makefile.am.in exists.
85222         * build-aux/bootstrap (mam_template): Move definition out of loop.
85224         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
85226         * build-aux/bootstrap (symlink_to_dir): Rename function from
85227         symlink_to_gnulib.  Add a directory parameter.  Update all
85228         callers.
85229         (cp_mark_as_generated): Also check for -- and link to -- files in
85230         gl/.
85232         2007-07-08  Jim Meyering  <jim@meyering.net>
85234         Adapt to deeper hierarchy in gnulib.
85235         * build-aux/bootstrap (symlink_to_dir): If the destination
85236         directory doesn't exist, create it. This is required at least for
85237         "lib/uniwidth/cjk.h".
85239         2007-05-15  Jim Meyering  <jim@meyering.net>
85241         * build-aux/bootstrap: Now that generated Makefile.am files
85242         are no longer under version control, they must be created at
85243         bootstrap time.
85245 2007-08-14  Ben Pfaff  <blp@gnu.org>
85247         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
85249 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
85251         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
85252         given the changes below.
85253         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
85254         even on hosts that have padding bits beyond the supported 64.
85256 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
85258         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
85259         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
85260         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
85261         depends on it.
85262         (xstrtol_error): Remove.
85263         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
85264         but with a different signature.
85265         (ATTRIBUTE_NORETURN, __attribute__): New macros.
85266         * lib/xstrtol-error.c: Include exitfail.h.
85267         (xstrtol_fatal): New function, with a different signature from the
85268         old xstrtol_error, so that the caller need not worry about passing
85269         in an exit status, or about storage management of the option argument.
85270         (xstrtol_error): Now a static function.  Redo signature to
85271         implement xstrtol_fatal.  Output the correct number of hyphens in
85272         front of the option so that the caller need not worry about
85273         storage management.
85274         (N_): New macro.
85275         (_): Remove; not used now.
85276         * modules/xstrtol: Depend on getopt.
85277         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
85278         of old STRTOL_FATAL_ERROR macro.
85279         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
85280         of test program.
85281         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
85282         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
85284 2007-08-08  Eric Blake  <ebb9@byu.net>
85286         * lib/xstrtol-error.c: Add missing include.
85288         Move xstrtol messages into gnulib domain, when --pobase is used.
85289         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
85290         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
85291         * modules/xstrtol (Files): Distribute new file.
85292         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
85293         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
85294         * tests/test-xstrtol.c: ...into new file.
85295         * tests/test-xstrtoul.c: Also test xstrtoul.
85296         * tests/test-xstrtoimax.c: Also test xstrtoimax.
85297         * tests/test-xstrtoumax.c: Also test xstrtoumax.
85298         * tests/test-xstrtol.sh: Drive the tests.
85299         * tests/test-xstrtoimax.sh: Likewise.
85300         * tests/test-xstrtoumax.sh: Likewise.
85301         * modules/xstrtol-tests: New module.
85302         * modules/xstrtoimax-tests: Likewise.
85303         * modules/xstrtoumax-tests: Likewise.
85305 2007-08-08  Jim Meyering  <jim@meyering.net>
85307         New function: mfile_name_concat.
85308         * lib/filenamecat.c (mfile_name_concat): New function, just like
85309         file_name_concat, but return NULL upon failure rather than exiting
85310         with a diagnostic.
85311         * lib/filenamecat.h: Declare it.
85313 2007-08-07  Bruno Haible  <bruno@clisp.org>
85315         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
85316         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
85317         warning from gcc.
85318         Reported by Eric Blake.
85320 2007-08-07  Simon Josefsson  <simon@josefsson.org>
85322         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
85323         * modules/crypto/arcfour (License): Likewise.
85324         * modules/crypto/des-tests (License): Likewise.
85325         * modules/crypto/gc-arctwo-tests (License): Likewise.
85326         * modules/crypto/gc-des-tests (License): Likewise.
85327         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
85328         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
85329         * modules/crypto/gc-md2-tests (License): Likewise.
85330         * modules/crypto/gc-md4-tests (License): Likewise.
85331         * modules/crypto/gc-md5-tests (License): Likewise.
85332         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
85333         * modules/crypto/gc-rijndael-tests (License): Likewise.
85334         * modules/crypto/gc-sha1-tests (License): Likewise.
85335         * modules/crypto/gc-tests (License): Likewise.
85336         * modules/crypto/hmac-md5 (License): Likewise.
85337         * modules/crypto/hmac-sha1 (License): Likewise.
85338         * modules/crypto/md2-tests (License): Likewise.
85339         * modules/crypto/md4-tests (License): Likewise.
85340         * modules/crypto/md5 (License): Likewise.
85341         * modules/crypto/rijndael (License): Likewise.
85342         * modules/crypto/sha1 (License): Likewise.
85343         * modules/memxor (License): Likewise.
85345 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
85346         and Bruno Haible  <bruno@clisp.org>
85348         * NEWS: Describe interface changes to human, xstrtol.
85349         * lib/human.h: Include <xstrtol.h>.
85350         (human_options): Return enum strtol_error, not int.  Remove
85351         bool arg; take int * instead.
85352         * lib/human.c: Don't include "gettext.h".
85353         (_): Remove; no longer used.
85354         Don't include <xstrtol.h>, since human.h does it.
85355         (human_options): Adjust to abovementioned interface changes.
85356         Do not report error to stderr; that's now the caller's
85357         responsibility.
85358         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
85359         interface change.
85360         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
85361         Str, Argument_type_string.  All uses changed.  Put " argument"
85362         in diagnostics to make them clearer.  Change wording of suffix
85363         message for clarity.
85364         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
85365         Argument_type_string.
85366         (STRTOL_FATAL_WARN): Remove; no longer used.
85367         * modules/human (Depends-on): Remove gettext-h.
85369 2007-08-06  Simon Josefsson  <simon@josefsson.org>
85371         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
85373 2007-07-31  Bruno Haible  <bruno@clisp.org>
85375         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
85376         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
85377         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
85379 2007-07-31  Bruno Haible  <bruno@clisp.org>
85381         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
85382         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
85384 2007-07-30  Bruno Haible  <bruno@clisp.org>
85386         * modules/base64 (License): Use the synonymous term "LGPLv2+".
85387         * modules/c-ctype (License): Likewise.
85388         * modules/c-strcase (License): Likewise.
85389         * modules/check-version (License): Likewise.
85390         * modules/iconv (License): Likewise.
85391         * modules/iconv_open (License): Likewise.
85392         * modules/read-file (License): Likewise.
85393         * modules/striconv (License): Likewise.
85394         * modules/strverscmp (License): Likewise.
85395         * modules/vasprintf (License): Likewise.
85396         * modules/crypto/des (License): Likewise.
85397         * modules/crypto/gc (License): Likewise.
85398         * modules/crypto/gc-arcfour (License): Likewise.
85399         * modules/crypto/gc-arctwo (License): Likewise.
85400         * modules/crypto/gc-des (License): Likewise.
85401         * modules/crypto/gc-hmac-md5 (License): Likewise.
85402         * modules/crypto/gc-hmac-sha1 (License): Likewise.
85403         * modules/crypto/gc-md2 (License): Likewise.
85404         * modules/crypto/gc-md4 (License): Likewise.
85405         * modules/crypto/gc-md5 (License): Likewise.
85406         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
85407         * modules/crypto/gc-random (License): Likewise.
85408         * modules/crypto/gc-rijndael (License): Likewise.
85409         * modules/crypto/gc-sha1 (License): Likewise.
85410         * modules/crypto/md2 (License): Likewise.
85411         * modules/crypto/md4 (License): Likewise.
85413 2007-07-30  Jim Meyering  <jim@meyering.net>
85415         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
85416         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
85417         it has valid stat data.  This bug would cause du not to count the
85418         sizes of inaccessible directories.
85419         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
85420         in <http://bugzilla.redhat.com/250077>.
85422 2007-07-25  Peter O'Gorman  <peter@pogma.com>
85423             Bruno Haible  <bruno@clisp.org>
85425         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
85426         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
85427         #include_next, gives a diagnostic about it, but reports no error in
85428         the exit code.
85429         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
85431 2007-07-24  Ben Pfaff  <blp@gnu.org>
85433         Improve name: "count-one-bits" is better than "popcount".
85434         * MODULES.html.sh: Update name.
85435         * lib/popcount.h: Renamed lib/count-one-bits.h.
85436         (popcount): Renamed count_one_bits.
85437         (popcountl): Renamed count_one_bits_l.
85438         (popcountll): Renamed count_one_bits_ll.
85439         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
85440         * modules/popcount: Renamed module/count-one-bits.
85441         * modules/popcount-tests: Renamed module/count-one-bits-tests.
85442         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
85444 2007-07-23  Ben Pfaff  <blp@gnu.org>
85446         * lib/popcount.h (popcount32): Reduce size of constants, to allow
85447         better code generation, and add U to large constants to avoid
85448         warnings, in non-GCC case.
85449         Suggested by Bruno Haible.
85451 2007-07-23  Ben Pfaff  <blp@gnu.org>
85453         * lib/popcount.h: Use verify_true instead of if...abort.
85454         * modules/popcount: Depend on verify module.
85455         Suggested by Jim Meyering.
85457 2007-07-23  Bruno Haible  <bruno@clisp.org>
85459         * gnulib-tool (func_import): Create a .cvsignore file also when the
85460         directory is not yet in CVS but the toplevel directory is. When
85461         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
85462         Reported by Karl Berry.
85464 2007-07-22  Ben Pfaff  <blp@gnu.org>
85466         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
85467         case.
85468         Suggested by Eric Blake.
85470 2007-07-22  Ben Pfaff  <blp@gnu.org>
85472         New module: popcount.
85473         * MODULES.html.sh: Add popcount.
85474         * modules/popcount: New file.
85475         * modules/popcount-tests: New file.
85476         * tests/test-popcount.c: New file.
85477         * lib/popcount.h: New file.
85478         * m4/popcount.m4: New file.
85480 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
85482         * build-aux/announce-gen: Update to GPLv3.
85484         * build-aux/config.guess: Update from config.
85486 2007-07-21  Bruno Haible  <bruno@clisp.org>
85488         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
85489         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
85491 2007-07-20  Jim Meyering  <jim@meyering.net>
85493         * check-module: Diagnose a self-dependency.
85495 2007-07-19  Bruno Haible  <bruno@clisp.org>
85497         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
85498         empty.
85499         Reported by Eric Blake.
85501 2007-07-18  Bruno Haible  <bruno@clisp.org>
85503         * gnulib-tool: New options --po-base, --po-domain.
85504         (func_usage): Document them.
85505         (pobase, po_domain): New variables.
85506         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
85507         DEFAULT_TEXT_DOMAIN.
85508         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
85509         (func_import): Consider pobase and po_domain. Create a po/ directory.
85510         (func_create_testdir): Set pobase and po_domain to empty.
85511         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
85512         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
85514 2007-07-18  Bruno Haible  <bruno@clisp.org>
85516         * gnulib-tool (func_get_automake_snippet): Synthesize also an
85517         EXTRA_DIST augmentation for files in build-aux/.
85519 2007-07-16  Bruno Haible  <bruno@clisp.org>
85521         * modules/lseek (License): Use the synonymous term "LGPLv2+".
85522         * modules/getdelim (License): Likewise.
85524 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
85526         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
85527         * modules/d-type (License): Likewise.
85528         * modules/extensions (License): Likewise.
85529         * modules/fnmatch (License): Likewise.
85530         * modules/fseeko (License): Likewise.
85531         * modules/getaddrinfo (License): Likewise.
85532         * modules/getline (License): Likewise.
85533         * modules/getlogin_r (License): Likewise.
85534         * modules/getpass (License): Likewise.
85535         * modules/gettimeofday (License): Likewise.
85536         * modules/glob (License): Likewise.
85537         * modules/inet_ntop (License): Likewise.
85538         * modules/malloc (License): Likewise.
85539         * modules/malloca (License): Likewise.
85540         * modules/memmem (License): Likewise.
85541         * modules/mempcpy (License): Likewise.
85542         * modules/memset (License): Likewise.
85543         * modules/minmax (License): Likewise.
85544         * modules/mktime (License): Likewise.
85545         * modules/netinet_in (License): Likewise.
85546         * modules/pathmax (License): Likewise.
85547         * modules/poll (License): Likewise.
85548         * modules/regex (License): Likewise.
85549         * modules/snprintf (License): Likewise.
85550         * modules/stdbool (License): Likewise.
85551         * modules/stdint (License): Likewise.
85552         * modules/stdio (License): Likewise.
85553         * modules/strcase (License): Likewise.
85554         * modules/strcasestr (License): Likewise.
85555         * modules/strdup (License): Likewise.
85556         * modules/string (License): Likewise.
85557         * modules/strndup (License): Likewise.
85558         * modules/strnlen (License): Likewise.
85559         * modules/strpbrk (License): Likewise.
85560         * modules/strptime (License): Likewise.
85561         * modules/strsep (License): Likewise.
85562         * modules/sys_select (License): Likewise.
85563         * modules/sys_socket (License): Likewise.
85564         * modules/sys_stat (License): Likewise.
85565         * modules/sys_time (License): Likewise.
85566         * modules/time (License): Likewise.
85567         * modules/time_r (License): Likewise.
85568         * modules/timegm (License): Likewise.
85569         * modules/unistd (License): Likewise.
85570         * modules/vsnprintf (License): Likewise.
85571         * modules/wctype (License): Likewise.
85573 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85575         * modules/argz (License): LGPLv2+.
85577 2007-07-15  Karl Berry  <karl@gnu.org>
85579         * doc/gnulib.texi: revise node structure per new fdl.texi.
85581 2007-07-14  Bruno Haible  <bruno@clisp.org>
85583         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
85584         the output file.
85585         * lib/uniname/uninames.h: Regenerated.
85587 2007-07-14  Karl Berry  <karl@gnu.org>
85589         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
85590         omitting sectioning and index commands.
85592 2007-07-13  Bruno Haible  <bruno@clisp.org>
85594         New gnulib-tool option --more-symlinks.
85595         * gnulib-tool (func_usage): Document --more-symlinks.
85596         (do_copyrights): New variable.
85597         Recognize option --more-symlinks.
85598         (func_import): Don't add a copyright notice transform to
85599         sed_transform_lib_file if do_copyrights is empty.
85601 2007-07-13  Bruno Haible  <bruno@clisp.org>
85603         * lib/vasnprintf.c (decimal_point_char): Define also if
85604         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
85605         && !NEED_PRINTF_DIRECTIVE_A.
85606         Reported by Clemens Koller <clemens.koller@anagramm.de> via
85607         Gary V. Vaughan <gary@gnu.org>.
85609 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
85611         * lib/inttypes_.h: Undo previous change, since it was fixed
85612         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
85614 2007-07-13  Bruno Haible  <bruno@clisp.org>
85616         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
85617         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
85619 2007-07-13  Jim Meyering  <jim@meyering.net>
85621         df: Don't fail for Tru64's "file-on-file mount".
85622         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
85623         so we fall through and use statfs instead.  Details here:
85624         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
85625         Reported by Albert Chin.
85627 2007-07-13  Bruno Haible  <bruno@clisp.org>
85629         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
85630         * modules/configmake (License): Likewise.
85631         * modules/gettext (License): Likewise.
85632         * modules/gettext-h (License): Likewise.
85633         * modules/include_next (License): Likewise.
85634         * modules/link-warning (License): Likewise.
85635         * modules/localcharset (License): Likewise.
85636         * modules/localename (License): Likewise.
85637         * modules/lock (License): Likewise.
85638         * modules/relocatable-lib-lgpl (License): Likewise.
85639         * modules/size_max (License): Likewise.
85640         * modules/vasnprintf (License): Likewise.
85641         * modules/wchar (License): Likewise.
85642         * modules/xsize (License): Likewise.
85644 2007-07-13  Bruno Haible  <bruno@clisp.org>
85646         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
85647         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
85649 2007-07-12  Bruno Haible  <bruno@clisp.org>
85651         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
85652         in the modules files.
85654 2007-07-11  Karl Berry  <karl@gnu.org>
85656         * MODULES.html.sh (func_module): use
85657          sed -e '\|^'"${includefile}"'$|d'
85658          instead of /.../d, to avoid errors on $includefile's containing /.
85660 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
85662         * gnulib-tool (func_import): Avoid duplication of --avoid
85663         statements
85664         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
85665         names to `_' in variable names.
85667 2007-07-10  Eric Blake  <ebb9@byu.net>
85669         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
85670         * NEWS: Document this change.
85672 2007-07-08  Bruno Haible  <bruno@clisp.org>
85674         Update to Unicode 5.0.
85675         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
85676         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
85677         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
85678         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
85679         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
85680         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
85681         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
85682         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
85683         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
85684         U+10A3F, U+1D242..U+1D244.
85685         (nonspacing_table_ind): Update.
85686         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
85687         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
85689 2007-07-08  Bruno Haible  <bruno@clisp.org>
85691         Update to Unicode 5.0.
85692         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
85693         code transform. Extend the name index field of unicode_name_to_code and
85694         unicode_code_to_name from 16 to 24 bits.
85695         * lib/uniname/uniname.c (unicode_character_name,
85696         unicode_name_character): Add the range 0x12xxx to the code transform.
85697         * lib/uniname/uninames.h: Regenerated.
85698         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
85700 2007-07-07  Bruno Haible  <bruno@clisp.org>
85702         * modules/wcwidth-tests: New file.
85703         * tests/test-wcwidth.c: New file.
85705         Work around MacOS X wcwidth() bug.
85706         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
85707         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
85708         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
85709         original wcwidth in non-UTF-8 locales.
85710         * modules/wcwidth (Depends-on): Add localcharset, streq,
85711         uniwidth/width.
85712         * doc/functions/wcwidth.texi: Update.
85714 2007-07-07  Bruno Haible  <bruno@clisp.org>
85716         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
85717         (wcwidth): New declaration.
85718         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
85719         macros.
85720         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
85721         here. Prepare for creating <wchar.h> unconditionally.
85722         * modules/wchar (Depends-on): Add link-warning.
85723         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
85724         REPLACE_WCWIDTH, and GL_LINK_WARNING.
85725         * lib/wcwidth.h: Remove file.
85726         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
85727         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
85728         * modules/wcwidth (Files): Remove lib/wcwidth.h.
85729         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
85730         (Include): Replace wcwidth.h with <wchar.h>.
85731         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
85732         * lib/mbchar.h: Don't include wcwidth.h.
85733         * lib/mbswidth.c: Likewise.
85734         * NEWS: Mention the change.
85736 2007-07-07  Bruno Haible  <bruno@clisp.org>
85738         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
85739         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
85740         definition with an external declaration.
85741         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
85742         defined as a function. Remove AC_C_INLINE requirement.
85743         * modules/wcwidth (Files): Add lib/wcwidth.c.
85744         (Makefile.am): Remove redundant statement.
85746 2007-07-07  Bruno Haible  <bruno@clisp.org>
85748         * MODULES.html.sh (Unicode string functions): Add the new modules.
85750         * tests/uniwidth/test-u32-strwidth.c: New file.
85751         * modules/uniwidth/u32-strwidth-tests: New file.
85753         * lib/uniwidth/u32-strwidth.c: New file.
85754         * modules/uniwidth/u32-strwidth: New file.
85756         * tests/uniwidth/test-u16-strwidth.c: New file.
85757         * modules/uniwidth/u16-strwidth-tests: New file.
85759         * lib/uniwidth/u16-strwidth.c: New file.
85760         * modules/uniwidth/u16-strwidth: New file.
85762         * tests/uniwidth/test-u8-strwidth.c: New file.
85763         * modules/uniwidth/u8-strwidth-tests: New file.
85765         * lib/uniwidth/u8-strwidth.c: New file.
85766         * modules/uniwidth/u8-strwidth: New file.
85768         * tests/uniwidth/test-u32-width.c: New file.
85769         * modules/uniwidth/u32-width-tests: New file.
85771         * lib/uniwidth/u32-width.c: New file.
85772         * modules/uniwidth/u32-width: New file.
85774         * tests/uniwidth/test-u16-width.c: New file.
85775         * modules/uniwidth/u16-width-tests: New file.
85777         * lib/uniwidth/u16-width.c: New file.
85778         * modules/uniwidth/u16-width: New file.
85780         * tests/uniwidth/test-u8-width.c: New file.
85781         * modules/uniwidth/u8-width-tests: New file.
85783         * lib/uniwidth/u8-width.c: New file.
85784         * modules/uniwidth/u8-width: New file.
85786         * tests/uniwidth/test-uc_width.c: New file.
85787         * modules/uniwidth/width-tests: New file.
85789         * lib/uniwidth/width.c: New file, from GNU libiconv.
85790         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
85791         * modules/uniwidth/width: New file.
85793         * lib/uniwidth.h: New file, from GNU libiconv.
85794         * modules/uniwidth/base: New file.
85796 2007-07-07  Bruno Haible  <bruno@clisp.org>
85798         * lib/uniname.h: New file, from GNU gettext.
85799         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
85800         * lib/uniname/uninames.h: New file, from GNU gettext.
85801         * lib/uniname/uniname.c: New file, from GNU gettext.
85802         * tests/uniname/test-uninames.sh: New file.
85803         * tests/uniname/test-uninames.c: New file, from GNU gettext.
85804         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
85805         * modules/uniname/base: New file.
85806         * modules/uniname/uniname: New file.
85807         * modules/uniname/uniname-tests: New file.
85808         * MODULES.html.sh (Unicode string functions): Add the new modules.
85810 2007-07-06  Bruno Haible  <bruno@clisp.org>
85812         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
85814 2007-07-06  Bruno Haible  <bruno@clisp.org>
85816         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
85817         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
85818         includes <cygwin/sys_time.h> which includes <sys/select.h> which
85819         include <sys/time.h>.
85820         Reported by Eric Blake.
85822 2007-07-06  Eric Blake  <ebb9@byu.net>
85824         Fix testing canonicalize on cygwin.
85825         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
85826         Revert patch from 2007-06-19.
85827         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
85828         canonicalize module is also in use.
85829         * tests/test-canonicalize.c: New file.
85830         * tests/test-canonicalize.sh: Likewise.
85831         * modules/canonicalize-tests: Likewise.
85833 2007-07-06  Jim Meyering  <jim@meyering.net>
85835         * lib/getugroups.c (getugroups): Detect getgrent failure.
85836         Adjust comment to reflect reality: this function may return -1.
85838 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
85840         * build-aux/bootstrap (TP_URL,get_translations): Update to use
85841         the new TP address.
85842         (usage): Fix typo
85843         (gnulib_mk): New variable.
85845 2007-07-05  Jim Meyering  <jim@meyering.net>
85847         Don't let endgrent clobber errno, no matter how improbable.
85848         * lib/getugroups.c (getugroups): Save and restore errno around
85849         endgrent call.
85851         Close the group DB even when failing with 2^31 or more members.
85852         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
85854 2007-07-04  Jim Meyering  <jim@meyering.net>
85856         * lib/getugroups.h: New file.
85857         * lib/getugroups.c: Include "getugroups.h".
85858         Remove uses of "register" keyword.
85859         Move local variable, "cp", down into scope where used.
85860         Give "username" parameter the "const" attribute.
85861         * modules/getugroups (Files): Add lib/getugroups.h
85863 2007-07-04  Karl Berry  <karl@gnu.org>
85865         * MODULES.html.sh (func_all_modules): Complete rename of
85866         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
85868 2007-07-02  Bruno Haible  <bruno@clisp.org>
85870         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
85871         mode, when inttypes.h comes from gnulib.
85872         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
85874 2007-07-02  Simon Josefsson  <simon@josefsson.org>
85876         * NEWS: Mention lgpl module name change.
85878         * modules/lgpl-2.1: Renamed from lgpl.
85880         * NEWS: Mention gpl module name change.
85882         * modules/gpl-3.0: New file, based on gpl-2.0.
85884         * modules/gpl-2.0: Renamed from gpl.
85886         * modules/gpl: Fix filename, doc/gpl.texi is now found at
85887         doc/gpl-2.0.texi.
85889 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
85891         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
85892         #define __STDC_LIMIT_MACROS temporarily while including
85893         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
85894         Problem reported by Joel E. Denny in
85895         <http://lists.gnu.org/r/bug-gnulib/2007-07/msg00008.html>.
85897 2007-07-01  Bruno Haible  <bruno@clisp.org>
85899         * lib/unistdio.h: New file.
85900         * lib/unistdio/u-asnprintf.h: New file.
85901         * lib/unistdio/u-asprintf.h: New file.
85902         * lib/unistdio/u-printf-args.c: New file.
85903         * lib/unistdio/u-printf-args.h: New file.
85904         * lib/unistdio/u-printf-parse.h: New file.
85905         * lib/unistdio/u-snprintf.h: New file.
85906         * lib/unistdio/u-sprintf.h: New file.
85907         * lib/unistdio/u-vasprintf.h: New file.
85908         * lib/unistdio/u-vsnprintf.h: New file.
85909         * lib/unistdio/u-vsprintf.h: New file.
85910         * lib/unistdio/ulc-asnprintf.c: New file.
85911         * lib/unistdio/ulc-asprintf.c: New file.
85912         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
85913         * lib/unistdio/ulc-printf-parse.c: New file.
85914         * lib/unistdio/ulc-snprintf.c: New file.
85915         * lib/unistdio/ulc-sprintf.c: New file.
85916         * lib/unistdio/ulc-vasnprintf.c: New file.
85917         * lib/unistdio/ulc-vasprintf.c: New file.
85918         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
85919         * lib/unistdio/ulc-vsnprintf.c: New file.
85920         * lib/unistdio/ulc-vsprintf.c: New file.
85921         * lib/unistdio/u8-asnprintf.c: New file.
85922         * lib/unistdio/u8-asprintf.c: New file.
85923         * lib/unistdio/u8-printf-parse.c: New file.
85924         * lib/unistdio/u8-snprintf.c: New file.
85925         * lib/unistdio/u8-sprintf.c: New file.
85926         * lib/unistdio/u8-vasnprintf.c: New file.
85927         * lib/unistdio/u8-vasprintf.c: New file.
85928         * lib/unistdio/u8-vsnprintf.c: New file.
85929         * lib/unistdio/u8-vsprintf.c: New file.
85930         * lib/unistdio/u8-u8-asnprintf.c: New file.
85931         * lib/unistdio/u8-u8-asprintf.c: New file.
85932         * lib/unistdio/u8-u8-snprintf.c: New file.
85933         * lib/unistdio/u8-u8-sprintf.c: New file.
85934         * lib/unistdio/u8-u8-vasnprintf.c: New file.
85935         * lib/unistdio/u8-u8-vasprintf.c: New file.
85936         * lib/unistdio/u8-u8-vsnprintf.c: New file.
85937         * lib/unistdio/u8-u8-vsprintf.c: New file.
85938         * lib/unistdio/u16-asnprintf.c: New file.
85939         * lib/unistdio/u16-asprintf.c: New file.
85940         * lib/unistdio/u16-printf-parse.c: New file.
85941         * lib/unistdio/u16-snprintf.c: New file.
85942         * lib/unistdio/u16-sprintf.c: New file.
85943         * lib/unistdio/u16-vasnprintf.c: New file.
85944         * lib/unistdio/u16-vasprintf.c: New file.
85945         * lib/unistdio/u16-vsnprintf.c: New file.
85946         * lib/unistdio/u16-vsprintf.c: New file.
85947         * lib/unistdio/u16-u16-asnprintf.c: New file.
85948         * lib/unistdio/u16-u16-asprintf.c: New file.
85949         * lib/unistdio/u16-u16-snprintf.c: New file.
85950         * lib/unistdio/u16-u16-sprintf.c: New file.
85951         * lib/unistdio/u16-u16-vasnprintf.c: New file.
85952         * lib/unistdio/u16-u16-vasprintf.c: New file.
85953         * lib/unistdio/u16-u16-vsnprintf.c: New file.
85954         * lib/unistdio/u16-u16-vsprintf.c: New file.
85955         * lib/unistdio/u32-asnprintf.c: New file.
85956         * lib/unistdio/u32-asprintf.c: New file.
85957         * lib/unistdio/u32-printf-parse.c: New file.
85958         * lib/unistdio/u32-snprintf.c: New file.
85959         * lib/unistdio/u32-sprintf.c: New file.
85960         * lib/unistdio/u32-vasnprintf.c: New file.
85961         * lib/unistdio/u32-vasprintf.c: New file.
85962         * lib/unistdio/u32-vsnprintf.c: New file.
85963         * lib/unistdio/u32-vsprintf.c: New file.
85964         * lib/unistdio/u32-u32-asnprintf.c: New file.
85965         * lib/unistdio/u32-u32-asprintf.c: New file.
85966         * lib/unistdio/u32-u32-snprintf.c: New file.
85967         * lib/unistdio/u32-u32-sprintf.c: New file.
85968         * lib/unistdio/u32-u32-vasnprintf.c: New file.
85969         * lib/unistdio/u32-u32-vasprintf.c: New file.
85970         * lib/unistdio/u32-u32-vsnprintf.c: New file.
85971         * lib/unistdio/u32-u32-vsprintf.c: New file.
85972         * tests/unistdio/test-ulc-asnprintf1.c: New file.
85973         * tests/unistdio/test-ulc-asnprintf1.h: New file.
85974         * tests/unistdio/test-ulc-printf1.h: New file.
85975         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
85976         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
85977         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
85978         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
85979         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
85980         * tests/unistdio/test-ulc-vasprintf1.c: New file.
85981         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
85982         * tests/unistdio/test-ulc-vsprintf1.c: New file.
85983         * tests/unistdio/test-u8-asnprintf1.c: New file.
85984         * tests/unistdio/test-u8-asnprintf1.h: New file.
85985         * tests/unistdio/test-u8-printf1.h: New file.
85986         * tests/unistdio/test-u8-vasnprintf1.c: New file.
85987         * tests/unistdio/test-u8-vasnprintf2.c: New file.
85988         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
85989         * tests/unistdio/test-u8-vasnprintf3.c: New file.
85990         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
85991         * tests/unistdio/test-u8-vasprintf1.c: New file.
85992         * tests/unistdio/test-u8-vsnprintf1.c: New file.
85993         * tests/unistdio/test-u8-vsprintf1.c: New file.
85994         * tests/unistdio/test-u16-asnprintf1.c: New file.
85995         * tests/unistdio/test-u16-asnprintf1.h: New file.
85996         * tests/unistdio/test-u16-printf1.h: New file.
85997         * tests/unistdio/test-u16-vasnprintf1.c: New file.
85998         * tests/unistdio/test-u16-vasnprintf2.c: New file.
85999         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
86000         * tests/unistdio/test-u16-vasnprintf3.c: New file.
86001         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
86002         * tests/unistdio/test-u16-vasprintf1.c: New file.
86003         * tests/unistdio/test-u16-vsnprintf1.c: New file.
86004         * tests/unistdio/test-u16-vsprintf1.c: New file.
86005         * tests/unistdio/test-u32-asnprintf1.c: New file.
86006         * tests/unistdio/test-u32-asnprintf1.h: New file.
86007         * tests/unistdio/test-u32-printf1.h: New file.
86008         * tests/unistdio/test-u32-vasnprintf1.c: New file.
86009         * tests/unistdio/test-u32-vasnprintf2.c: New file.
86010         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
86011         * tests/unistdio/test-u32-vasnprintf3.c: New file.
86012         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
86013         * tests/unistdio/test-u32-vasprintf1.c: New file.
86014         * tests/unistdio/test-u32-vsnprintf1.c: New file.
86015         * tests/unistdio/test-u32-vsprintf1.c: New file.
86016         * modules/unistdio/base: New file.
86017         * modules/unistdio/u-printf-args: New file.
86018         * modules/unistdio/ulc-asnprintf: New file.
86019         * modules/unistdio/ulc-asprintf: New file.
86020         * modules/unistdio/ulc-fprintf: New file.
86021         * modules/unistdio/ulc-printf-parse: New file.
86022         * modules/unistdio/ulc-snprintf: New file.
86023         * modules/unistdio/ulc-sprintf: New file.
86024         * modules/unistdio/ulc-vasnprintf: New file.
86025         * modules/unistdio/ulc-vasprintf: New file.
86026         * modules/unistdio/ulc-vfprintf: New file.
86027         * modules/unistdio/ulc-vsnprintf: New file.
86028         * modules/unistdio/ulc-vsprintf: New file.
86029         * modules/unistdio/u8-asnprintf: New file.
86030         * modules/unistdio/u8-asprintf: New file.
86031         * modules/unistdio/u8-printf-parse: New file.
86032         * modules/unistdio/u8-snprintf: New file.
86033         * modules/unistdio/u8-sprintf: New file.
86034         * modules/unistdio/u8-vasnprintf: New file.
86035         * modules/unistdio/u8-vasprintf: New file.
86036         * modules/unistdio/u8-vsnprintf: New file.
86037         * modules/unistdio/u8-vsprintf: New file.
86038         * modules/unistdio/u8-u8-asnprintf: New file.
86039         * modules/unistdio/u8-u8-asprintf: New file.
86040         * modules/unistdio/u8-u8-snprintf: New file.
86041         * modules/unistdio/u8-u8-sprintf: New file.
86042         * modules/unistdio/u8-u8-vasnprintf: New file.
86043         * modules/unistdio/u8-u8-vasprintf: New file.
86044         * modules/unistdio/u8-u8-vsnprintf: New file.
86045         * modules/unistdio/u8-u8-vsprintf: New file.
86046         * modules/unistdio/u16-asnprintf: New file.
86047         * modules/unistdio/u16-asprintf: New file.
86048         * modules/unistdio/u16-printf-parse: New file.
86049         * modules/unistdio/u16-snprintf: New file.
86050         * modules/unistdio/u16-sprintf: New file.
86051         * modules/unistdio/u16-vasnprintf: New file.
86052         * modules/unistdio/u16-vasprintf: New file.
86053         * modules/unistdio/u16-vsnprintf: New file.
86054         * modules/unistdio/u16-vsprintf: New file.
86055         * modules/unistdio/u16-u16-asnprintf: New file.
86056         * modules/unistdio/u16-u16-asprintf: New file.
86057         * modules/unistdio/u16-u16-snprintf: New file.
86058         * modules/unistdio/u16-u16-sprintf: New file.
86059         * modules/unistdio/u16-u16-vasnprintf: New file.
86060         * modules/unistdio/u16-u16-vasprintf: New file.
86061         * modules/unistdio/u16-u16-vsnprintf: New file.
86062         * modules/unistdio/u16-u16-vsprintf: New file.
86063         * modules/unistdio/u32-asnprintf: New file.
86064         * modules/unistdio/u32-asprintf: New file.
86065         * modules/unistdio/u32-printf-parse: New file.
86066         * modules/unistdio/u32-snprintf: New file.
86067         * modules/unistdio/u32-sprintf: New file.
86068         * modules/unistdio/u32-vasnprintf: New file.
86069         * modules/unistdio/u32-vasprintf: New file.
86070         * modules/unistdio/u32-vsnprintf: New file.
86071         * modules/unistdio/u32-vsprintf: New file.
86072         * modules/unistdio/u32-u32-asnprintf: New file.
86073         * modules/unistdio/u32-u32-asprintf: New file.
86074         * modules/unistdio/u32-u32-snprintf: New file.
86075         * modules/unistdio/u32-u32-sprintf: New file.
86076         * modules/unistdio/u32-u32-vasnprintf: New file.
86077         * modules/unistdio/u32-u32-vasprintf: New file.
86078         * modules/unistdio/u32-u32-vsnprintf: New file.
86079         * modules/unistdio/u32-u32-vsprintf: New file.
86080         * modules/unistdio/ulc-asnprintf-tests: New file.
86081         * modules/unistdio/ulc-vasnprintf-tests: New file.
86082         * modules/unistdio/ulc-vasprintf-tests: New file.
86083         * modules/unistdio/ulc-vsnprintf-tests: New file.
86084         * modules/unistdio/ulc-vsprintf-tests: New file.
86085         * modules/unistdio/u8-asnprintf-tests: New file.
86086         * modules/unistdio/u8-vasnprintf-tests: New file.
86087         * modules/unistdio/u8-vasprintf-tests: New file.
86088         * modules/unistdio/u8-vsnprintf-tests: New file.
86089         * modules/unistdio/u8-vsprintf-tests: New file.
86090         * modules/unistdio/u16-asnprintf-tests: New file.
86091         * modules/unistdio/u16-vasnprintf-tests: New file.
86092         * modules/unistdio/u16-vasprintf-tests: New file.
86093         * modules/unistdio/u16-vsnprintf-tests: New file.
86094         * modules/unistdio/u16-vsprintf-tests: New file.
86095         * modules/unistdio/u32-asnprintf-tests: New file.
86096         * modules/unistdio/u32-vasnprintf-tests: New file.
86097         * modules/unistdio/u32-vasprintf-tests: New file.
86098         * modules/unistdio/u32-vsnprintf-tests: New file.
86099         * modules/unistdio/u32-vsprintf-tests: New file.
86100         * MODULES.html.sh (Unicode string functions): Add the new modules.
86102 2007-07-01  Bruno Haible  <bruno@clisp.org>
86104         * lib/sprintf.c (sprintf): Limit the available length estimation,
86105         to avoid address wraparound.
86106         * lib/vsprintf.c (vsprintf): Likewise.
86107         * modules/sprintf-posix (Dependencies): Add stdint.
86108         * modules/vsprintf-posix (Dependencies): Likewise.
86110 2007-07-01  Bruno Haible  <bruno@clisp.org>
86112         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
86113         Windows PATH as well. Conservative double-quoting. Comments.
86115 2007-07-01  Bruno Haible  <bruno@clisp.org>
86116             Eric Blake  <ebb9@byu.net>
86117             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86119         * gnulib-tool (self_abspathname): Fix algorithm to cope with
86120         empty components in $PATH, denoting '.'.
86122 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86124         * gnulib-tool: Fix indentation.
86125         (func_create_megatestdir): Likewise.
86126         Report by Bruno Haible.
86128 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86130         Sync from Automake.
86131         * build-aux/gnupload: Fix shell portability issues with for loops.
86132         Report by Karl Berry.
86134 2007-06-29  Simon Josefsson  <simon@josefsson.org>
86136         * build-aux/maint.mk (POURL): Use translationproject.org.
86138 2007-06-27  Simon Josefsson  <simon@josefsson.org>
86139             Bruno Haible  <bruno@clisp.org>
86141         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
86142         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
86143         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
86144         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
86145         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
86147 2007-06-27  Bruno Haible  <bruno@clisp.org>
86149         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
86150         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
86152 2007-06-26  Karl Berry  <karl@gnu.org>
86154         * MODULES.html.sh: remove xreadlink-with-size.
86156 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
86158         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
86159         method that I hope also handles the double-include problem noted
86160         by Bruno Haible in
86161         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00186.html>.
86163 2007-06-23  Bruno Haible  <bruno@clisp.org>
86165         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
86166         Don't let the 'mostlyclean' target fail if the last subdirectory could
86167         not be removed.
86168         Reported by Karl Berry.
86170 2007-06-23  Bruno Haible  <bruno@clisp.org>
86172         * gnulib-tool (echo): Add a speedier workaround for ksh.
86173         * tests/test-echo.sh: Likewise.
86175 2007-06-23  Bruno Haible  <bruno@clisp.org>
86177         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
86178         * tests/test-echo.sh: Likewise.
86180 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86182         * gnulib-tool (IFS): Initialize early, so we don't set it to
86183         empty later.
86184         (self_abspathname): Rewrite algorithm to set it, reindent.
86185         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
86186         (func_create_megatestdir): Merge some sed scripts.
86188 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
86190         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
86191         exposed by Sun Studio 11 cc on Solaris 8.
86193 2007-06-22  Bruno Haible  <bruno@clisp.org>
86195         * gnulib-tool (echo): Ensure the echo primitive does not interpret
86196         backslashes.
86197         * tests/test-echo.sh: New file.
86199 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86201         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
86202         simplify `sed_replace_build_aux' scripts, they are portable but
86203         echoing them with `echo' is not.
86204         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
86206 2007-06-21  Karl Berry  <karl@gnu.org>
86208         * config/srclist.txt: guess we can't handle the licenses via
86209         srclist at the moment.
86211 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
86213         * MODULES.html.sh: Add include_next.
86214         * modules/include_next: New file.
86216 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
86218         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
86219         INCLUDE_NEXT.
86220         (gl_CHECK_NEXT_HEADERS): New macro.
86221         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
86222         the obsolescent gl_ABSOLUTE_HEADER.
86223         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
86224         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
86225         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
86226         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
86227         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
86228         * m4/math_h.m4 (gl_MATH_H): Likewise.
86229         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
86230         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
86231         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
86232         * m4/stdint.m4 (gl_STDINT_H): Likewise.
86233         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
86234         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
86235         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
86236         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
86237         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
86238         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
86239         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
86240         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
86241         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
86242         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
86243         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
86244         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
86245         * m4/inttypes.m4 (gl_INTTYPES_H): Define
86246         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
86247         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
86248         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
86249         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
86250         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
86251         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
86252         * lib/float_.h: Likewise.
86253         * lib/inttypes_.h: Likewise.
86254         * lib/math_.h: Likewise.
86255         * lib/search_.h: Likewise.
86256         * lib/signal_.h: Likewise.
86257         * lib/stdint_.h: Likewise.
86258         * lib/stdio_.h: Likewise.
86259         * lib/stdlib_.h: Likewise.
86260         * lib/string_.h: Likewise.
86261         * lib/sys_stat_.h: Likewise.
86262         * lib/sys_time_.h: Likewise.
86263         * lib/time_.h: Likewise.
86264         * lib/unistd_.h: Likewise.
86265         * lib/wchar_.h: Likewise.
86266         * lib/wctype_.h: Likewise.
86267         * lib/dirent_.h: Likewise.
86268         * lib/iconv_.h: Likewise.
86269         * lib/locale_.h: Likewise.
86270         * lib/netinet_in_.h: Likewise.
86271         * lib/sys_select_.h: Likewise.
86272         * lib/sys_socket_.h: Likewise.
86273         * lib/sysexits_.h: Likewise.
86274         * modules/fcntl (Depends-on): Depend on include_next, not
86275         absolute_header.
86276         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
86277         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
86278         * modules/fchdir: Likewise.
86279         * modules/float: Likewise.
86280         * modules/iconv_open: Likewise.
86281         * modules/inttypes: Likewise.
86282         * modules/locale: Likewise.
86283         * modules/math: Likewise.
86284         * modules/netinet_in: Likewise.
86285         * modules/search: Likewise.
86286         * modules/signal: Likewise.
86287         * modules/stdint: Likewise.
86288         * modules/stdio: Likewise.
86289         * modules/stdlib: Likewise.
86290         * modules/string: Likewise.
86291         * modules/sys_select: Likewise.
86292         * modules/sys_socket: Likewise.
86293         * modules/sys_stat: Likewise.
86294         * modules/sys_time: Likewise.
86295         * modules/sysexits: Likewise.
86296         * modules/time: Likewise.
86297         * modules/unistd: Likewise.
86298         * modules/wchar: Likewise.
86299         * modules/wctype: Likewise.
86300         * modules/sys_stat: Change maintainer to "all".
86301         * modules/unistd: Likewise.
86303 2007-06-20  Karl Berry  <karl@gnu.org>
86305         * config/srclist.txt: track www changes in license files.
86307 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
86309         * build-aux/bootstrap: Remove stray dot.
86310         Make sure build_aux settings are honored when linking
86311         gnulib_extra_files.
86313 2007-06-19  Eric Blake  <ebb9@byu.net>
86315         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
86316         Allow compilation on cygwin.
86318 2007-06-19  Jim Meyering  <jim@meyering.net>
86320         xreadlink-with-size: Remove module.  No longer used.
86321         Ex-callers now use xreadlink or mreadlink-with-size.
86322         * modules/xreadlink-with-size: Remove module.
86323         * lib/xreadlink-with-size.c: Remove file.
86324         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
86325         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
86326         just before the function definition *is* accurate.
86328         Eliminate one way canonicalize_filename_mode could exit.
86329         * lib/canonicalize.c (canonicalize_filename_mode):
86330         Use mreadlink_with_size, not xreadlink_with_size.
86332 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
86334         Detect porting problems to FreeBSD/arm, which has time_t wider than
86335         long int.  Original problem reported for GNU diff by Xin Li in
86336         <http://lists.gnu.org/r/bug-gnu-utils/2007-06/msg00091.html>.
86337         * modules/getdate (Depends-on): Add intprops, verify.
86338         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
86339         is an integer type no wider than long int.
86341 2007-06-18  Jim Meyering  <jim@meyering.net>
86343         New module: mreadlink-with-size.
86344         * MODULES.html.sh: Add mreadlink-with-size.
86345         * modules/mreadlink-with-size: New module
86346         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
86347         not xreadlink-with-size.
86348         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
86350 2007-06-16  Bruno Haible  <bruno@clisp.org>
86352         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
86353         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
86354         Reported by Gary V. Vaughan <gary@gnu.org>.
86356 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
86358         Revamp lchown so that it lives in unistd.h where it belongs.
86359         * lib/lchown.h: Remove.
86360         * lib/dirchownmod.c: Don't include lib/lchown.h.
86361         * lib/fchownat.c: Likewise.
86362         * lib/openat.c: Likewise.
86363         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
86364         does not follow symlinks.
86365         (EOPNOTSUPP): Define if not defined.
86366         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
86367         is defined to 0.
86368         (lchown): New decl.
86369         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
86370         Do not check for lchown decl.
86371         Set REPLACE_LCHOWN.
86372         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
86373         REPLACE_LCHOWN.
86374         * modules/chown: Make it clear it follows symlinks.
86375         * modules/lchown: Make it clear it doesn't follow symlinks.
86376         (Files): Remove lib/lchown.h
86377         (Depends-on): Add unistd.
86378         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
86379         (Include): Include <unistd.h>, not "lchown.h".
86380         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
86381         REPLACE_LCHOWN.
86383 2007-06-15  Jim Meyering  <jim@meyering.net>
86385         Change license (GPL to LGPL) of fsusage and dependents.
86386         * modules/fsusage (License): Change to LGPL.
86387         * modules/full-read (License): Likewise.
86388         * modules/full-write (License): Likewise.
86389         * modules/safe-read (License): Likewise.
86390         * modules/safe-write (License): Likewise.
86392 2007-06-14  Ben Pfaff  <blp@gnu.org>
86394         Missing part of allocsa -> malloca transition.
86395         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
86396         gl_MALLOCA.
86398 2007-06-12  Bruno Haible  <bruno@clisp.org>
86400         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
86401         to ia64, x86_64, i386.
86402         Reported by Eric Blake.
86404 2007-06-12  Bruno Haible  <bruno@clisp.org>
86406         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
86407         cross-compiling to x86_64.
86409 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
86411         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
86412         glitch reported by Ralf Wildenhues in
86413         <http://lists.gnu.org/r/bug-gnulib/2007-06/msg00114.html>.
86415         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
86416         Vin Shelton.
86418 2007-06-11  Bruno Haible  <bruno@clisp.org>
86420         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
86421         replacement string.
86422         Reported by Eric Blake.
86424 2007-06-10  Bruno Haible  <bruno@clisp.org>
86426         Prepare vasnprintf code for use with Unicode strings.
86427         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
86428         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
86429         TYPE_U32_STRING.
86430         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
86431         a_u32_string variants.
86432         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
86433         * lib/printf-args.c: Don't include config.h and the specification
86434         header if PRINTF_FETCHARGS is already defined.
86435         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
86436         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
86437         TYPE_U16_STRING, TYPE_U32_STRING.
86438         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
86439         u16_directive, u16_directives, u32_directive, u32_directives): New
86440         types.
86441         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
86442         New declarations.
86443         * lib/printf-parse.c: Don't include config.h and the specification
86444         header if PRINTF_PARSE is already defined. Eliminate the set of
86445         parameters for WIDE_CHAR_VERSION; the user of this file must provide
86446         them now. Include c-ctype.h.
86447         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
86448         directive and CHAR_T_ONLY_ASCII.
86449         * lib/vasnprintf.c: Don't include config.h and the specification header
86450         if VASNPRINTF is already defined.
86451         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
86452         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
86453         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
86454         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
86455         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
86456         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
86457         code accordingly.
86458         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
86459         pad_ourselves also in this case, with the 'c' and 's' directives, and
86460         with a different notion of "width".
86461         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
86463 2007-06-10  Bruno Haible  <bruno@clisp.org>
86465         * modules/unistr/u32-mbsnlen: New file.
86466         * lib/unistr/u32-mbsnlen.c: New file.
86468         * modules/unistr/u16-mbsnlen: New file.
86469         * lib/unistr/u16-mbsnlen.c: New file.
86471         * modules/unistr/u8-mbsnlen: New file.
86472         * lib/unistr/u8-mbsnlen.c: New file.
86474         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
86475         declarations.
86477 2007-06-10  Bruno Haible  <bruno@clisp.org>
86479         * lib/string_.h (mbsnlen): New declaration.
86480         * lib/mbsnlen.c: New file.
86481         * m4/mbsnlen.m4: New file.
86482         * modules/mbsnlen: New file.
86483         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
86484         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
86485         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
86487 2007-06-10  Bruno Haible  <bruno@clisp.org>
86489         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
86491 2007-06-10  Bruno Haible  <bruno@clisp.org>
86493         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
86494         * lib/mbuiter.h: Likewise.
86496 2007-06-10  Bruno Haible  <bruno@clisp.org>
86498         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
86499         declaration.
86501 2007-06-10  Karl Berry  <karl@gnu.org>
86503         * config/srclist.txt: remove gettext entries, Bruno prefers
86504         to update individually.
86506 2007-06-10  Bruno Haible  <bruno@clisp.org>
86508         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
86509         'maxlen'. Ensure only length + width bytes are allocated, not
86510         length + 1 + width.
86512 2007-06-09  Bruno Haible  <bruno@clisp.org>
86514         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
86515         (CHAR_T): Remove macro.
86516         (VASNPRINTF): Update.
86518 2007-06-09  Bruno Haible  <bruno@clisp.org>
86520         * MODULES.html.sh (Unicode string functions): Add the new modules.
86522         * modules/uniconv/u32-conv-to-enc: New file.
86523         * lib/uniconv/u32-conv-to-enc.c: New file.
86524         * modules/uniconv/u32-conv-to-enc-tests: New file.
86525         * tests/uniconv/test-u32-conv-to-enc.c: New file.
86527         * modules/uniconv/u16-conv-to-enc: New file.
86528         * lib/uniconv/u16-conv-to-enc.c: New file.
86529         * lib/uniconv/u-conv-to-enc.h: New file.
86530         * modules/uniconv/u16-conv-to-enc-tests: New file.
86531         * tests/uniconv/test-u16-conv-to-enc.c: New file.
86533         * modules/uniconv/u8-conv-to-enc: New file.
86534         * lib/uniconv/u8-conv-to-enc.c: New file.
86535         * modules/uniconv/u8-conv-to-enc-tests: New file.
86536         * tests/uniconv/test-u8-conv-to-enc.c: New file.
86538         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
86539         u32_conv_to_encoding): New declarations.
86541 2007-06-09  Bruno Haible  <bruno@clisp.org>
86543         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
86545 2007-06-09  Bruno Haible  <bruno@clisp.org>
86547         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
86548         * modules/malloca: Renamed from modules/allocsa, updated.
86549         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
86550         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
86551         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
86552         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
86553         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
86554         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
86555         * modules/xmalloca: Renamed from modules/xallocsa, updated.
86556         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
86557         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
86558         * modules/c-strcasestr (Depends-on): Update.
86559         * lib/c-strcasestr.c: Update.
86560         * modules/c-strstr (Depends-on): Update.
86561         * lib/c-strstr.c: Update.
86562         * modules/canonicalize-lgpl (Depends-on): Update.
86563         * lib/canonicalize-lgpl.c: Update.
86564         * modules/clean-temp (Depends-on): Update.
86565         * lib/clean-temp.c: Update.
86566         * modules/csharpcomp (Depends-on): Update.
86567         * lib/csharpcomp.c: Update.
86568         * modules/csharpexec (Depends-on): Update.
86569         * lib/csharpexec.c: Update.
86570         * modules/javacomp (Depends-on): Update.
86571         * lib/javacomp.c: Update.
86572         * modules/javaexec (Depends-on): Update.
86573         * lib/javaexec.c: Update.
86574         * modules/mbscasestr (Depends-on): Update.
86575         * lib/mbscasestr.c: Update.
86576         * modules/mbsstr (Depends-on): Update.
86577         * lib/mbsstr.c: Update.
86578         * modules/setenv (Depends-on): Update.
86579         * lib/setenv.c: Update.
86580         * modules/strcasestr (Depends-on): Update.
86581         * lib/strcasestr.c: Update.
86582         * modules/striconveha (Depends-on): Update.
86583         * lib/striconveha.c: Update.
86584         * modules/relocatable-prog-wrapper (Files): Update.
86585         * lib/relocwrapper.c: Update.
86586         * build-aux/install-reloc: Update.
86587         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
86589 2007-06-08  Bruno Haible  <bruno@clisp.org>
86591         Port to uClibc.
86592         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
86593         * lib/fpurge.c (fpurge): Likewise.
86594         * lib/freading.c (freading): Likewise.
86595         * lib/fseeko.c (rpl_fseeko): Likewise.
86596         * lib/fseterr.c (fseterr): Likewise.
86597         * lib/fwriting.c (fwriting): Likewise.
86598         * tests/test-fflush.c (main): Avoid a failure on uClibc.
86600 2007-06-08  Bruno Haible  <bruno@clisp.org>
86602         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
86603         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
86604         * modules/gettext (Files): Add m4/intlmacosx.m4.
86606 2007-06-07  Bruno Haible  <bruno@clisp.org>
86608         * modules/localename-tests: New file.
86609         * tests/test-localename.c: New file.
86611         New module 'localename'.
86612         * lib/localename.h: New file.
86613         * lib/localename.c: New file, from GNU gettext.
86614         * m4/localename.m4: New file.
86615         * modules/localename: New file.
86617 2007-06-07  Bruno Haible  <bruno@clisp.org>
86619         Work around the lack of <wchar.h> on some builds of uClibc.
86620         * doc/headers/wchar.texi: Update.
86621         * lib/wchar_.h: Include <wchar.h> only if it exists.
86622         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
86623         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
86624         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
86625         doesn't exist.
86626         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
86627         * modules/mbfile (Depends-on): Add wchar.
86628         * modules/mbiter (Depends-on): Likewise.
86629         * modules/mbuiter (Depends-on): Likewise.
86630         Reported by Simon Josefsson.
86632 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
86634         Work around problem reported by Steven M. Schweda in
86635         <http://lists.gnu.org/r/bug-tar/2007-06/msg00002.html>:
86636         Tru64 5.1B with the Compaq compiler environment installed declares
86637         an 'isblank' function but does not define it in the C library.
86638         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
86639         * lib/regex_internal.h (isblank): Likewise.
86640         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
86641         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
86643 2007-06-05  Bruno Haible  <bruno@clisp.org>
86645         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
86646         ia64.
86647         * modules/printf-safe: New file.
86648         * modules/fprintf-posix (Depends-on): Add printf-safe.
86649         * modules/printf-posix (Depends-on): Likewise.
86650         * modules/snprintf-posix (Depends-on): Likewise.
86651         * modules/sprintf-posix (Depends-on): Likewise.
86652         * modules/vasnprintf-posix (Depends-on): Likewise.
86653         * modules/vasprintf-posix (Depends-on): Likewise.
86654         * modules/vfprintf-posix (Depends-on): Likewise.
86655         * modules/vprintf-posix (Depends-on): Likewise.
86656         * modules/vsnprintf-posix (Depends-on): Likewise.
86657         * modules/vsprintf-posix (Depends-on): Likewise.
86658         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
86659         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
86660         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
86661         "no" on i386, x86_64, ia64.
86662         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
86663         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
86664         on i386, x86_64, ia64.
86665         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
86666         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
86667         on i386, x86_64, ia64.
86668         * tests/test-vasnprintf-posix.c: Include float.h.
86669         (LDBL80_WORDS): New macro.
86670         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
86671         on i386, x86_64, ia64.
86672         * tests/test-vasprintf-posix.c: Include float.h.
86673         (LDBL80_WORDS): New macro.
86674         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
86675         on i386, x86_64, ia64.
86676         * tests/test-snprintf-posix.c: Include float.h.
86677         * tests/test-sprintf-posix.c: Likewise.
86678         * tests/test-vsnprintf-posix.c: Likewise.
86679         * tests/test-vsprintf-posix.c: Likewise.
86681 2007-06-05  Bruno Haible  <bruno@clisp.org>
86683         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
86684         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
86685         non-IEEE numbers on i386, x86_64, ia64.
86686         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
86687         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
86688         * tests/test-isnanl.h: Include float.h.
86689         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
86691 2007-06-05  Bruno Haible  <bruno@clisp.org>
86693         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
86694         also the %a / %A. Handle the %a / %A code before this extra handling.
86696 2007-06-05  Bruno Haible  <bruno@clisp.org>
86698         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
86699         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
86701 2007-06-05  Bruno Haible  <bruno@clisp.org>
86703         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
86704         typo in variable name.
86706 2007-06-05  Eric Blake  <ebb9@byu.net>
86708         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
86709         Reported by Simon Josefsson.
86711 2007-06-04  Bruno Haible  <bruno@clisp.org>
86713         Avoid test failures on some PowerPC platforms.
86714         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
86715         Define differently for PowerPC.
86716         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
86717         Reported by Gary V. Vaughan <gary@gnu.org>.
86719 2007-06-02  Bruno Haible  <bruno@clisp.org>
86721         Fix test-stdint failure on FreeBSD/ia64.
86722         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
86723         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
86724         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
86725         * doc/headers/stdint.texi: Update.
86727 2007-06-01  Bruno Haible  <bruno@clisp.org>
86729         * tests/test-binary-io.c (main): Pass a third argument to open().
86730         Reported by Gary V. Vaughan <gary@gnu.org>.
86732 2007-06-01  Bruno Haible  <bruno@clisp.org>
86734         * doc/functions/frexpl.texi: Update for mingw.
86736 2007-06-01  Bruno Haible  <bruno@clisp.org>
86738         * tests/test-lseek.c (main): Disable test of errno for invalid third
86739         argument.
86740         * doc/functions/lseek.texi: Update.
86741         Reported by Gary V. Vaughan <gary@gnu.org>.
86743 2007-05-28  Bruno Haible  <bruno@clisp.org>
86745         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
86747 2007-05-31  Eric Blake  <ebb9@byu.net>
86749         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
86750         cross compiling.
86752 2007-05-30  Eric Blake  <ebb9@byu.net>
86753         and Bruno Haible  <bruno@clisp.org>
86755         Work around mingw test failures exposed by m4-1.4.9b.
86756         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
86757         * tests/test-unistd.c: Disable uid_t and git_t tests for the
86758         moment.
86760 2007-05-30  Bruno Haible  <bruno@clisp.org>
86762         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
86763         assuming that they are closed. Needed on HP-UX 11.
86765 2007-05-29  Bruno Haible  <bruno@clisp.org>
86767         Fix a problem with #include_next.
86768         * lib/dirent_.h: Split the double-inclusion guard.
86769         * lib/fcntl_.h: Likewise.
86770         * lib/float_.h: Likewise.
86771         * lib/iconv_.h: Likewise.
86772         * lib/inttypes_.h: Likewise.
86773         * lib/locale_.h: Likewise.
86774         * lib/math_.h: Likewise.
86775         * lib/netinet_in_.h: Likewise.
86776         * lib/search_.h: Likewise.
86777         * lib/signal_.h: Likewise.
86778         * lib/stdint_.h: Likewise.
86779         * lib/stdio_.h: Likewise.
86780         * lib/stdlib_.h: Likewise.
86781         * lib/string_.h: Likewise.
86782         * lib/sys_select_.h: Likewise.
86783         * lib/sys_socket_.h: Likewise.
86784         * lib/sys_stat_.h: Likewise.
86785         * lib/sys_time_.h: Likewise.
86786         * lib/sysexits_.h: Likewise.
86787         * lib/time_.h: Likewise.
86788         * lib/unistd_.h: Likewise.
86789         * lib/wchar_.h: Likewise.
86790         * lib/wctype_.h: Likewise.
86792 2007-05-29  Bruno Haible  <bruno@clisp.org>
86794         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
86795         for the moment.
86797 2007-05-29  Bruno Haible  <bruno@clisp.org>
86799         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
86800         invocation.
86801         Reported by Eric Blake.
86803 2007-05-29  Bruno Haible  <bruno@clisp.org>
86805         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
86806         compiling case.
86808 2007-05-29  Eric Blake  <ebb9@byu.net>
86809             Bruno Haible  <bruno@clisp.org>
86811         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
86812         cross compiles.
86814 2007-05-28  Eric Blake  <ebb9@byu.net>
86816         * modules/closein-tests (test_closein_LDADD): Support test on
86817         cygwin with libtool.
86819 2007-05-28  Bruno Haible  <bruno@clisp.org>
86821         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
86822         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
86823         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
86824         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
86825         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
86826         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
86827         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
86828         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
86829         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
86831 2007-05-28  Eric Blake  <ebb9@byu.net>
86833         Unconditionally include <config.h> in unit tests.
86834         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
86835         * tests/test-allocsa.c, tests/test-arcfour.c,
86836         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
86837         tests/test-array_list.c, tests/test-array_oset.c,
86838         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
86839         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
86840         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
86841         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
86842         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
86843         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
86844         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
86845         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
86846         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
86847         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
86848         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
86849         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
86850         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
86851         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
86852         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
86853         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
86854         test-md5.c, test-memmem.c, test-printf-posix.c,
86855         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
86856         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
86857         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
86858         test-strcasestr.c, test-striconv.c, test-striconveh.c,
86859         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
86860         test-vasnprintf-posix2.c, test-vasnprintf.c,
86861         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
86862         test-vfprintf-posix.c, test-vprintf-posix.c,
86863         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
86864         test-xvasprintf.c: Likewise.
86866 2007-05-28  Bruno Haible  <bruno@clisp.org>
86868         * gnulib-tool (func_import): Remember the --with-tests command-line
86869         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
86870         Reported by Eric Blake.
86872 2007-05-28  Bruno Haible  <bruno@clisp.org>
86874         * modules/ftell-tests: New file.
86875         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
86876         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
86878         * lib/ftell.c: New file.
86879         * modules/ftell: New file.
86880         * m4/ftell.m4: New file.
86881         * doc/functions/ftell.texi: Update.
86882         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
86883         REPLACE_FTELL.
86884         * lib/stdio_.h (rpl_ftell): New declaration.
86885         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
86886         REPLACE_FTELL.
86888 2007-05-28  Eric Blake  <ebb9@byu.net>
86890         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
86892 2007-05-28  Bruno Haible  <bruno@clisp.org>
86894         * modules/fseek-tests: New file.
86895         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
86896         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
86898         * lib/fseek.c: New file.
86899         * modules/fseek: New file.
86900         * m4/fseek.m4: New file.
86901         * doc/functions/fseek.texi: Update.
86902         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
86903         REPLACE_FSEEK.
86904         * lib/stdio_.h (rpl_fseek): New declaration.
86905         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
86906         REPLACE_FSEEK.
86908 2007-05-28  Bruno Haible  <bruno@clisp.org>
86910         * lib/stdio_.h (fflush): More comments.
86912 2007-05-28  Bruno Haible  <bruno@clisp.org>
86914         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
86915         runtime test.
86917 2007-05-28  Eric Blake  <ebb9@byu.net>
86919         Improve lseek module.
86920         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
86921         * lib/unistd_.h (lseek): Scale back link warning message.
86922         * tests/test-lseek.c: Beef up test.
86923         * tests/test-lseek.sh: Exercise more facets of lseek.
86924         Reported by Bruno Haible.
86926 2007-05-28  Bruno Haible  <bruno@clisp.org>
86928         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
86929         to define.
86931 2007-05-27  Bruno Haible  <bruno@clisp.org>
86933         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
86935 2007-05-27  Bruno Haible  <bruno@clisp.org>
86937         * modules/openmp: New file.
86938         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
86939         Noah Misch.
86941 2007-05-26  Bruno Haible  <bruno@clisp.org>
86943         * modules/chdir-long (Depends-on): Add fchdir.
86944         * modules/chdir-safer (Depends-on): Likewise.
86945         * modules/fts (Depends-on): Likewise.
86946         * modules/fts-lgpl (Depends-on): Likewise.
86947         * modules/openat (Depends-on): Likewise.
86948         * modules/savewd (Depends-on): Likewise.
86950 2007-05-24  Eric Blake  <ebb9@byu.net>
86952         Fix lseek on mingw.
86953         * modules/lseek: New module.
86954         * m4/lseek.m4: New file.
86955         * lib/lseek.c: New file.
86956         * modules/lseek-tests: New file.
86957         * tests/test-lseek.c: New file.
86958         * tests/test-lseek.sh: New file.
86959         * MODULES.html.sh: Document lseek module.
86960         * modules/fflush (Depends-on): Add lseek, fseeko.
86961         * modules/fseeko (Depends-on): Likewise.
86962         * modules/ftello (Depends-on): Likewise.
86963         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
86964         broken.
86965         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
86966         broken.
86967         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
86968         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
86969         * lib/ftello.c (rpl_ftello): Likewise.
86970         * tests/test-fseeko.c (main): Test this.
86971         * tests/test-fseeko.sh: Likewise.
86972         * tests/test-ftello.c (main): Likewise.
86973         * tests/test-ftello.sh: Likewise.
86974         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
86975         implies replacing fseek.
86976         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
86977         HAVE_FTELLO.
86978         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
86979         * modules/unistd (Makefile.am): Likewise.
86980         * lib/unistd_.h (lseek): Declare a replacement.
86981         * doc/functions/lseek.texi (lseek): Document this fix.
86982         * doc/functions/fseek.texi (fseek): Likewise.
86983         * doc/functions/ftell.texi (ftell): Likewise.
86985 2007-05-24  Bruno Haible  <bruno@clisp.org>
86987         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
86988         in the printed representation of a NaN.
86989         * tests/test-vasprintf-posix.c (test_function): Likewise.
86990         * tests/test-snprintf-posix.h (test_function): Likewise.
86991         * tests/test-sprintf-posix.h (test_function): Likewise.
86992         Reported by Eric Blake.
86994 2007-05-23  Eric Blake  <ebb9@byu.net>
86996         Fix fseeko/ftello on cygwin 1.5.24.
86997         * doc/functions/fseeko.texi (fseeko): Document the fix.
86998         * doc/functions/ftello.texi (ftello): Document the fix.
86999         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
87000         * doc/functions/stdout.text (stdout): New file.
87001         * doc/functions/stderr.text (stderr): New file.
87002         * doc/gnulib.texi (Function Substitutes): Use new files.
87003         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
87004         prior to 1.7.0.
87005         * tests/test-ftello.c (main): Likewise for ftello.
87006         * tests/test-fseeko.sh: New file.
87007         * tests/test-ftello.sh: New file.
87008         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
87009         with seekable stdin.
87010         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
87011         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
87012         (gl_REPLACE_FSEEKO): New macro.
87013         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
87014         * modules/fseeko (Files): Distribute fseeko.c.
87015         * modules/ftello (Files): Distribute ftello.c.
87016         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
87017         mode.
87018         * lib/ftello.c (rpl_ftello): New file.
87019         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
87020         fseeko, ftello.
87021         (gl_STDIN_LARGE_OFFSET): New macro.
87022         * modules/stdio (Makefile.am): Perform the replacement.
87023         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
87025 2007-05-23  Bruno Haible  <bruno@clisp.org>
87027         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
87028         GNULIB_POSIXCHECK is defined.
87030 2007-05-21  Bruno Haible  <bruno@clisp.org>
87032         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
87033         Check also the output for NaN arguments. When cross-compiling, guess
87034         no on IRIX.
87035         * lib/vasnprintf.c: Update comments.
87036         * tests/test-vasnprintf-posix.c (strisnan): New function.
87037         (test_function): Use it.
87038         * tests/test-vasprintf-posix.c (strisnan): New function.
87039         (test_function): Use it.
87040         * tests/test-snprintf-posix.h (strisnan): New function.
87041         (test_function): Use it.
87042         * tests/test-sprintf-posix.h (strisnan): New function.
87043         (test_function): Use it.
87044         Reported by Eric Blake.
87046 2007-05-20  Bruno Haible  <bruno@clisp.org>
87048         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
87049         numbers that fails on BeOS.
87050         * doc/functions/frexpl.texi: Update.
87052 2007-05-20  Jim Meyering  <jim@meyering.net>
87054         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
87055         forced upon us by glibc-2.6.
87057 2007-05-20  Bruno Haible  <bruno@clisp.org>
87059         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
87060         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
87061         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
87062         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
87063         NEED_PRINTF_INFINITE.
87064         (is_infinitel): New function.
87065         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
87066         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
87067         gl_PREREQ_VASNPRINTF_INFINITE.
87068         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
87069         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
87070         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
87071         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
87072         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
87073         gl_PREREQ_VASNPRINTF_INFINITE.
87074         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
87075         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
87076         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
87077         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
87078         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
87079         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87080         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
87081         * doc/functions/fprintf.texi: Update.
87082         * doc/functions/printf.texi: Update.
87083         * doc/functions/snprintf.texi: Update.
87084         * doc/functions/sprintf.texi: Update.
87085         * doc/functions/vfprintf.texi: Update.
87086         * doc/functions/vprintf.texi: Update.
87087         * doc/functions/vsnprintf.texi: Update.
87088         * doc/functions/vsprintf.texi: Update.
87090 2007-05-20  Bruno Haible  <bruno@clisp.org>
87092         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
87093         was not found in libc.
87094         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
87096 2007-05-20  Bruno Haible  <bruno@clisp.org>
87098         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
87099         printed as "-nan" instead of "nan".
87100         * tests/test-vasprintf-posix.c (test_function): Likewise.
87101         * tests/test-snprintf-posix.h (test_function): Likewise.
87102         * tests/test-sprintf-posix.h (test_function): Likewise.
87103         Needed for HP-UX 11.
87105 2007-05-20  Jim Meyering  <jim@meyering.net>
87107         Fix buggy test for the fchownat-deref bug.
87108         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
87109         symlink required for the run-test.  Without it, this test would
87110         always declare that fchownat doesn't work, and client code would
87111         unnecessarily use the replacement function with fixed libc.
87112         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
87113         Reported by Greg Schafer.
87115 2007-05-19  Bruno Haible  <bruno@clisp.org>
87117         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
87118         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
87119         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
87120         Needed for IRIX 6.5 and Solaris 2.5.1.
87122 2007-05-19  Bruno Haible  <bruno@clisp.org>
87124         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
87125         (test_function): Skip tests involving -0.0 on platforms where
87126         -0.0 = 0.0.
87127         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
87128         (test_function): Skip tests involving -0.0 on platforms where
87129         -0.0 = 0.0.
87130         * tests/test-snprintf-posix.h (have_minus_zero): New function.
87131         (test_function): Skip tests involving -0.0 on platforms where
87132         -0.0 = 0.0.
87133         * tests/test-sprintf-posix.h (have_minus_zero): New function.
87134         (test_function): Skip tests involving -0.0 on platforms where
87135         -0.0 = 0.0.
87136         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
87137         tests.
87138         * tests/test-printf-posix.h (test_function): Likewise.
87139         * tests/test-printf-posix.output: Remove all -0.0 related results.
87140         Needed for IRIX 6.5.
87142 2007-05-19  Bruno Haible  <bruno@clisp.org>
87144         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
87145         printed as "nan0x7fffffff" instead of "nan".
87146         * tests/test-vasprintf-posix.c (test_function): Likewise.
87147         * tests/test-snprintf-posix.h (test_function): Likewise.
87148         * tests/test-sprintf-posix.h (test_function): Likewise.
87149         * tests/test-fprintf-posix.h (NaN): Remove macro.
87150         (test_function): Remove all NaN related tests.
87151         * tests/test-printf-posix.h (NaN): Remove macro.
87152         (test_function): Remove all NaN related tests.
87153         * tests/test-printf-posix.output: Remove all NaN related results.
87154         Needed for IRIX 6.5.
87156 2007-05-19  Bruno Haible  <bruno@clisp.org>
87158         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
87159         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
87161 2007-05-19  Bruno Haible  <bruno@clisp.org>
87163         * lib/float_.h: New file.
87164         * m4/float_h.m4: New file.
87165         * modules/float: New file.
87166         * modules/isnanl (Dependencies): Add float.
87167         * modules/isnanl-nolibm (Dependencies): Likewise.
87168         * modules/mathl (Dependencies): Likewise.
87169         * modules/printf-frexpl (Dependencies): Likewise.
87170         * modules/signbit (Dependencies): Likewise.
87171         * modules/vasnprintf (Dependencies): Likewise.
87172         * doc/headers/float.texi: Update.
87174 2007-05-19  Jim Meyering  <jim@meyering.net>
87176         * lib/utimens.c (gl_futimens): Rename from futimens,
87177         now that glibc-2.6 declares futimens.
87178         * lib/utimens.h: Likewise.
87180 2007-05-19  Bruno Haible  <bruno@clisp.org>
87182         Avoid test failures on mingw.
87183         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
87184         * tests/test-printf-posix.sh: Likewise.
87185         * tests/test-vfprintf-posix.sh: Likewise.
87186         * tests/test-vprintf-posix.sh: Likewise.
87188 2007-05-19  Bruno Haible  <bruno@clisp.org>
87190         Fix *printf result for NaN, Inf, -0.0 on mingw.
87191         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
87192         * lib/vasnprintf.c: Include math.h and isnan.h.
87193         (is_infinite_or_zero): New function.
87194         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
87195         values in the %f, %F, %e, %E, %g, %G directives.
87196         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
87197         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
87198         gl_PRINTF_INFINITE and test its result. Invoke
87199         gl_PREREQ_VASNPRINTF_INFINITE.
87200         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
87201         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
87202         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
87203         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
87204         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
87205         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87206         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
87207         * doc/functions/fprintf.texi: Update.
87208         * doc/functions/printf.texi: Update.
87209         * doc/functions/snprintf.texi: Update.
87210         * doc/functions/sprintf.texi: Update.
87211         * doc/functions/vfprintf.texi: Update.
87212         * doc/functions/vprintf.texi: Update.
87213         * doc/functions/vsnprintf.texi: Update.
87214         * doc/functions/vsprintf.texi: Update.
87216 2007-05-19  Bruno Haible  <bruno@clisp.org>
87218         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
87219         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
87220         Instead of multiplying with 10^k, set extra_zeroes to k.
87221         (scale10_round_long_double): Remove function.
87223 2007-05-18  Bruno Haible  <bruno@clisp.org>
87225         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
87226         introduced on 2007-05-06.
87228 2007-05-18  Bruno Haible  <bruno@clisp.org>
87230         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
87231         %g directives.
87232         * tests/test-vasprintf-posix.c (test_function): Likewise.
87233         * tests/test-snprintf-posix.h (test_function): Likewise.
87234         * tests/test-sprintf-posix.h (test_function): Likewise.
87236 2007-05-18  Bruno Haible  <bruno@clisp.org>
87238         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
87239         (strmatch): New function.
87240         (test_function): Test the %f directive on numbers of various exponents.
87241         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
87242         (strmatch): New function.
87243         (test_function): Test the %f directive on numbers of various exponents.
87244         * tests/test-snprintf-posix.h (strmatch): New function.
87245         (test_function): Test the %f directive on numbers of various exponents.
87246         * tests/test-sprintf-posix.h (strmatch): New function.
87247         (test_function): Test the %f directive on numbers of various exponents.
87248         * tests/test-snprintf-posix.c (SIZEOF): New macro.
87249         * tests/test-sprintf-posix.c (SIZEOF): New macro.
87250         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
87251         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
87253 2007-05-18  Bruno Haible  <bruno@clisp.org>
87255         Add support for 'long double' number output.
87256         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
87257         * lib/vasnprintf.c: Include math.h and float+.h.
87258         (mp_limb_t): New type.
87259         (GMP_LIMB_BITS): New macro.
87260         (mp_twolimb_t): New type.
87261         (GMP_TWOLIMB_BITS): New macro.
87262         (mpn_t): New type.
87263         (multiply, divide, convert_to_decimal, decode_long_double,
87264         scale10_round_long_double, scale10_round_decimal_long_double,
87265         floorlog10l): New functions.
87266         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
87267         for the %f, %F, %e, %E, %g, %G directives.
87268         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
87269         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
87270         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
87271         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
87272         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
87273         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
87274         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
87275         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
87276         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
87277         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87278         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
87279         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
87280         * modules/snprintf-posix (Depends-on): Likewise.
87281         * modules/sprintf-posix (Depends-on): Likewise.
87282         * modules/vasnprintf-posix (Depends-on): Likewise.
87283         * modules/vasprintf-posix (Depends-on): Likewise.
87284         * modules/vfprintf-posix (Depends-on): Likewise.
87285         * modules/vsnprintf-posix (Depends-on): Likewise.
87286         * modules/vsprintf-posix (Depends-on): Likewise.
87287         * modules/vasnprintf (Files): Add lib/float+.h.
87288         * doc/functions/fprintf.texi: Update.
87289         * doc/functions/printf.texi: Update.
87290         * doc/functions/snprintf.texi: Update.
87291         * doc/functions/sprintf.texi: Update.
87292         * doc/functions/vfprintf.texi: Update.
87293         * doc/functions/vprintf.texi: Update.
87294         * doc/functions/vsnprintf.texi: Update.
87295         * doc/functions/vsprintf.texi: Update.
87297 2007-05-18  Bruno Haible  <bruno@clisp.org>
87299         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
87301 2007-05-18  Bruno Haible  <bruno@clisp.org>
87303         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
87304         for printing 64-bit integers. Needed for mingw.
87306 2007-05-18  Bruno Haible  <bruno@clisp.org>
87308         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
87309         gl_FUNC_FREXPL_WORKS.
87310         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
87312 2007-05-18  Bruno Haible  <bruno@clisp.org>
87314         * modules/frexpl-nolibm-tests: New file.
87316         * modules/frexpl-nolibm: New file.
87317         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
87319 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
87321         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
87322         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
87323         GCC 4.2, which otherwise issues a lot of warnings.
87324         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
87325         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
87326         Likewise.
87327         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
87328         * modules/iconv_open (iconv.h): Likewise.
87329         * modules/locale (locale.h): Likewise.
87330         * modules/netinet_in (netinet/in.h): Likewise.
87331         * modules/sys_select (sys_select.h): Likewise.
87332         * modules/sys_socket (sys/socket.h): Likewise.
87333         * modules/sys_stat (sys/stat.h): Likewise.
87334         * modules/sysexits (sysexits.h): Likewise.
87335         * modules/unistd (unistd.h): Likewise.
87337 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87339         * modules/closein-tests (Makefile.am): Distribute
87340         `test-closein.sh'.
87342 2007-05-17  Bruno Haible  <bruno@clisp.org>
87344         * tests/test-printf-posix.output: Renamed from
87345         tests/test-fprintf-posix.out.
87346         * modules/fprintf-posix-tests: Update.
87347         * modules/printf-posix-tests: Update.
87348         * modules/vfprintf-posix-tests: Update.
87349         * modules/vprintf-posix-tests: Update.
87350         * tests/test-fprintf-posix.sh: Update.
87351         * tests/test-printf-posix.sh: Update.
87352         * tests/test-vfprintf-posix.sh: Update.
87353         * tests/test-vprintf-posix.sh: Update.
87354         Reported by Ralf Wildenhues.
87356 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
87358         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
87359         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
87360         GCC 4.2, which otherwise issues a lot of warnings.
87361         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
87362         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
87363         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
87364         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
87365         it should no longer be needed.
87366         * lib/string_.h: Likewise.
87367         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
87368         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
87369         * modules/inttypes (inttypes.h): Likewise.
87370         * modules/math (math.h): Likewise.
87371         * modules/search (search.h): Likewise.
87372         * modules/signal (signal.h): Likewise.
87373         * modules/stdint (stdint.h): Likewise.
87374         * modules/stdio (stdio.h): Likewise.
87375         * modules/stdlib (stdlib.h): Likewise.
87376         * modules/string (string.h): Likewise.
87377         * modules/sys_time (sys/time.h): Likewise.
87378         * modules/time (time.h): Likewise.
87379         * modules/wchar (wchar.h): Likewise.
87380         * modules/wctype (wtype.h): Likewise.
87382 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
87384         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
87386 2007-05-13  Bruno Haible  <bruno@clisp.org>
87388         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
87389         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
87390         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
87391         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
87392         (gl_PREREQ_STRTOK_R): Don't require it here.
87394 2007-05-13  Bruno Haible  <bruno@clisp.org>
87396         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
87397         when used in C++ mode.
87399 2007-05-12  Bruno Haible  <bruno@clisp.org>
87401         * lib/linebuffer.h: Tweak doc.
87402         * lib/linebuffer.c: Likewise.
87404 2007-05-12  James Youngman  <jay@gnu.org>
87406         * lib/linebuffer.c (readlinebuffer_delim): New function,
87407         like readlinebuffer, but use a caller-specified delimiter.
87408         (readlinebuffer): Just call readlinebuffer_delim with '\n'
87409         as the delimiter.
87410         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
87412 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
87414         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
87415         * modules/openat (Files): Remove openat-die.c.
87416         (Depends-on): Add openat-die.
87417         * modules/openat-die: New module.
87419 2007-05-06  Bruno Haible  <bruno@clisp.org>
87421         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
87422         Update with info about Cygwin.
87423         * doc/functions/fprintf.texi: Update.
87424         * doc/functions/printf.texi: Update.
87425         * doc/functions/snprintf.texi: Update.
87426         * doc/functions/sprintf.texi: Update.
87427         * doc/functions/vfprintf.texi: Update.
87428         * doc/functions/vprintf.texi: Update.
87429         * doc/functions/vsnprintf.texi: Update.
87430         * doc/functions/vsprintf.texi: Update.
87431         Reported by Eric Blake.
87433 2007-05-06  Bruno Haible  <bruno@clisp.org>
87435         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
87436         padding ourselves for the floating-point directives.
87437         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
87438         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
87439         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
87440         gl_PRINTF_FLAG_ZERO and test its result. Invoke
87441         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
87442         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
87443         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
87444         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
87445         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
87446         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
87447         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87448         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
87449         * tests/test-snprintf-posix.h (test_function): Also check the width
87450         and some flags in the %f directive.
87451         * tests/test-sprintf-posix.h (test_function): Likewise.
87452         * tests/test-vasnprintf-posix.c (test_function): Likewise.
87453         * tests/test-vasprintf-posix.c (test_function): Likewise.
87454         * doc/functions/fprintf.texi: Update.
87455         * doc/functions/printf.texi: Update.
87456         * doc/functions/snprintf.texi: Update.
87457         * doc/functions/sprintf.texi: Update.
87458         * doc/functions/vfprintf.texi: Update.
87459         * doc/functions/vprintf.texi: Update.
87460         * doc/functions/vsnprintf.texi: Update.
87461         * doc/functions/vsprintf.texi: Update.
87463 2007-05-06  Bruno Haible  <bruno@clisp.org>
87465         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
87466         pass the ' flag character to sprintf or snprintf.
87467         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
87468         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
87469         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
87470         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
87471         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
87472         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
87473         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
87474         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
87475         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
87476         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
87477         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87478         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
87479         * tests/test-snprintf-posix.h (test_function): Also check the grouping
87480         flag.
87481         * tests/test-sprintf-posix.h (test_function): Likewise.
87482         * tests/test-vasnprintf-posix.c (test_function): Likewise.
87483         * tests/test-vasprintf-posix.c (test_function): Likewise.
87484         * doc/functions/fprintf.texi: Update.
87485         * doc/functions/printf.texi: Update.
87486         * doc/functions/snprintf.texi: Update.
87487         * doc/functions/sprintf.texi: Update.
87488         * doc/functions/vfprintf.texi: Update.
87489         * doc/functions/vprintf.texi: Update.
87490         * doc/functions/vsnprintf.texi: Update.
87491         * doc/functions/vsprintf.texi: Update.
87493 2007-05-01  Bruno Haible  <bruno@clisp.org>
87495         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
87497 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
87499         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
87500         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
87502 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
87504         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
87505         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
87506         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00021.html>.
87508 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
87510         * lib/argp-help.c (struct hol_entry): New member `ord'.
87511         (HOL_ENTRY_PTRCMP): Use ord for comparison
87512         (hol_sort): Initialize ord.
87514 2007-05-01  Bruno Haible  <bruno@clisp.org>
87516         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
87517         Reported by Eric Blake.
87518         * doc/gnulib.texi (Function Substitutes): Update.
87520 2007-05-01  Bruno Haible  <bruno@clisp.org>
87522         * doc/functions.texi: Remove file, now redundant through
87523         doc/functions/*.texi.
87525 2007-05-01  Bruno Haible  <bruno@clisp.org>
87527         * modules/argp (Depends-on): Add sleep.
87529 2007-05-01  Bruno Haible  <bruno@clisp.org>
87531         * modules/sleep-tests: New file.
87532         * tests/test-sleep.c: New file.
87534         * modules/sleep: New file.
87535         * lib/sleep.c: New file.
87536         * m4/sleep.m4: New file.
87537         * lib/unistd_.h (sleep): New declaration.
87538         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
87539         HAVE_SLEEP.
87540         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
87541         * doc/functions/sleep.texi: Document the sleep module.
87543 2007-05-01  Bruno Haible  <bruno@clisp.org>
87545         * lib/sigprocmask.h: Remove file.
87546         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
87547         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
87548         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
87549         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
87550         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
87551         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
87552         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
87553         HAVE_SIGSET_T as a shell variable.
87554         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
87555         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
87556         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
87557         (Depends-on): Add signal. Remove verify.
87558         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
87559         (Include): Mention <signal.h> instead of sigprocmask.h.
87560         * NEWS: Mention the change.
87561         * lib/fatal-signal.c: Don't include sigprocmask.h.
87563 2007-05-01  Bruno Haible  <bruno@clisp.org>
87565         * modules/signal: New file.
87566         * lib/signal_.h: New file.
87567         * m4/signal_h.m4: New file.
87569 2007-05-01  Bruno Haible  <bruno@clisp.org>
87571         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
87572         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
87573         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
87574         HAVE_WCTYPE_CTMP_BUG into wctype.h.
87576 2007-05-01  Bruno Haible  <bruno@clisp.org>
87578         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
87579         configure time.
87580         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
87581         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
87582         * modules/sys_stat (Makefile.am): Substitute their values into
87583         sys/stat.h.
87585 2007-05-01  Bruno Haible  <bruno@clisp.org>
87587         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
87588         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
87589         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
87591 2007-05-01  Bruno Haible  <bruno@clisp.org>
87593         * doc/header/assert.texi: Undo last change: don't mention the gnulib
87594         'assert' module here.
87596 2007-05-01  Bruno Haible  <bruno@clisp.org>
87598         * doc/functions/*.texi: New files.
87599         * doc/functions/google-ranking.txt: New file.
87600         * doc/gnulib.texi (Function Substitutes): New chapter.
87601         (ctime, inet_ntoa): Remove sections.
87602         * doc/ctime.texi: Remove file.
87603         * doc/inet_ntoa.texi: Remove file.
87604         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
87605         dependencies.
87606         (%.info): New rule, specifying a --reference-limit.
87608 2007-05-01  Bruno Haible  <bruno@clisp.org>
87610         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
87612 2007-05-01  Bruno Haible  <bruno@clisp.org>
87614         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
87615         the portability of 'mkdir' to mingw systems.
87617 2007-05-01  Bruno Haible  <bruno@clisp.org>
87619         * doc/headers/google-ranking.txt: New file.
87621 2007-04-30  Eric Blake  <ebb9@byu.net>
87623         Prefer fseeko to fseek.
87624         * modules/getpass (Depends-on): Add fseeko.
87625         * lib/getpass.c (getpass): Use fseeko, not fseek.
87627 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
87629         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
87630         assumes the sorting is stable, while most qsort implementations
87631         are not.  Use argument addresses to ensure they never compare as
87632         equal.
87634         * tests/test-argp-2.sh (usage-indent test): Fix output
87635         (func_compare): Restore diff options
87636         * tests/test-argp.c: Restore #include "progname.h"
87638 2007-04-29  Bruno Haible  <bruno@clisp.org>
87640         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
87641         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
87642         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
87643         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87644         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
87645         (configure.ac): Define CHECK_SNPRINTF_POSIX.
87646         (TESTS, check_PROGRAMS): Add test-snprintf.
87647         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
87648         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
87649         (TESTS, check_PROGRAMS): Add test-vsnprintf.
87650         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
87651         assertions that fail on HP-UX, OSF/1, or IRIX.
87652         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
87654 2007-04-29  Bruno Haible  <bruno@clisp.org>
87656         * MODULES.html.sh (posix_functions): Remove 'contents'.
87658 2007-04-29  Karl Berry  <karl@gnu.org>
87660         * config/srclist.txt (gendocs_template_min): new entry.
87662 2007-04-29  Bruno Haible  <bruno@clisp.org>
87664         Work around fpurge bug on BSD systems.
87665         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
87666         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
87667         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
87668         fpurge to rpl_fpurge if the system already has this function.
87669         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
87670         the case where the system already has this function. Correct invariants
87671         on BSD systems.
87672         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
87673         BSD systems.
87675 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
87677         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
87678         proposed by Sven Verdoolaege.
87680         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
87681         options.
87682         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
87683         (usage and help tests): Update
87685 2007-04-29  Bruno Haible  <bruno@clisp.org>
87687         * tests/test-fflush.c (main): Use a file of size 17, not 10.
87688         Print more information in case of failure. Disable a test on BeOS.
87690 2007-04-29  Bruno Haible  <bruno@clisp.org>
87692         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
87693         This helps debugging on systems on which no gdb is available.
87695 2007-04-29  Bruno Haible  <bruno@clisp.org>
87697         * lib/freading.h: Improve comments.
87698         * lib/fwriting.h: Likewise.
87699         * tests/test-freading.c (main): Don't check freading immediately after
87700         repositioning. Needed for glibc.
87702 2007-04-29  Bruno Haible  <bruno@clisp.org>
87704         * lib/freading.c (freading): Trivial simplification.
87706 2007-04-28  Bruno Haible  <bruno@clisp.org>
87708         * tests/test-fwriting.c (main): Also test the interaction between
87709         fflush and fwriting.
87710         * modules/fwriting-tests (Depends-on): Add fflush.
87712         * tests/test-freading.c (main): Also test the interaction between
87713         fflush and freading.
87714         * modules/freading-tests (Depends-on): Add fflush.
87716 2007-04-28  Bruno Haible  <bruno@clisp.org>
87718         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
87719         fseeko and ftello.
87720         Suggested by Eric Blake.
87722 2007-04-28  Jim Meyering  <jim@meyering.net>
87724         Avoid false-negative in gl_STDINT_H's C99 conformance test.
87725         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
87726         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
87728 2007-04-27  Eric Blake  <ebb9@byu.net>
87730         * doc/headers/assert.texi (assert.h): Document assert module use.
87732 2007-04-27  Bruno Haible  <bruno@clisp.org>
87734         * doc/headers/*.texi: New files.
87735         * doc/gnulib.texi (Header File Substitutes): New chapter.
87736         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
87737         dependencies.
87738         (standards.info ,standards.html, standards.dvi): Update dependencies.
87739         (mostlyclean, clean): New targets.
87741 2007-04-27  Bruno Haible  <bruno@clisp.org>
87743         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
87744         * modules/sysexits (Files, Makefile.am): Update.
87746         * lib/sys_socket_.h: Renamed from lib/socket_.h.
87747         * modules/sys_socket (Files, Makefile.am): Update.
87749         * lib/sys_stat_.h: Renamed from lib/stat_.h.
87750         * modules/sys_stat (Files, Makefile.am): Update.
87752 2007-04-27  Eric Blake  <ebb9@byu.net>
87754         * lib/freading.h: Improve comments.
87755         * lib/fwriting.h: Likewise.
87756         * lib/fflush.c: Likewise.
87758         Fix closein for mingw.
87759         * modules/closein-tests: Add tests for closein.
87760         * tests/test-closein.c: New file.
87761         * tests/test-closein.sh: Likewise.
87762         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
87763         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
87765 2007-04-27  Bruno Haible  <bruno@clisp.org>
87767         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
87768         version is < 6.
87769         * lib/math_.h [__DECC]: Likewise.
87770         * lib/stdio_.h [__DECC]: Likewise.
87771         * lib/stdlib_.h [__DECC]: Likewise.
87772         * lib/string_.h [__DECC]: Likewise.
87773         * lib/time_.h [__DECC]: Likewise.
87774         * lib/wchar_.h [__DECC]: Likewise.
87775         * lib/wctype_.h [__DECC]: Likewise.
87777 2007-04-27  Bruno Haible  <bruno@clisp.org>
87779         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
87781 2007-04-27  Bruno Haible  <bruno@clisp.org>
87783         * lib/fflush.c: Add comments.
87784         * modules/fpurge-tests (Depends-on): Add fflush.
87785         * modules/freadable-tests (Depends-on): Likewise.
87786         * modules/fwritable-tests (Depends-on): Likewise.
87788 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
87790         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
87791         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
87792         Report by Bruno Haible <bruno@clisp.org>.
87794 2007-04-26  Eric Blake  <ebb9@byu.net>
87796         Fix fflush on mingw.
87797         * modules/fflush (Depends-on): Add freading.
87798         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
87799         but unread data.
87801 2007-04-26  Eric Blake  <ebb9@byu.net>
87802         and Bruno Haible  <bruno@clisp.org>
87804         Implement freading and fwriting.
87805         * lib/freading.c: New file.
87806         * lib/freading.h: Likewise.
87807         * m4/freading.m4: Likewise.
87808         * modules/freading: Likewise.
87809         * modules/freading-tests: Likewise.
87810         * tests/test-freading.c: Likewise.
87811         * lib/fwriting.c: New file.
87812         * lib/fwriting.h: Likewise.
87813         * m4/fwriting.m4: Likewise.
87814         * modules/fwriting: Likewise.
87815         * modules/fwriting-tests: Likewise.
87816         * tests/test-fwriting.c: Likewise.
87817         * MODULES.html.sh (File stream based Input/Output): Mention them.
87819 2007-04-26  Bruno Haible  <bruno@clisp.org>
87821         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
87822         'long' when we assume it.
87823         Suggested by Eric Blake.
87825 2007-04-26  Bruno Haible  <bruno@clisp.org>
87827         Ensure fseeko, ftello are declared on glibc systems.
87828         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
87829         * modules/fseeko (configure.ac-early): Likewise.
87830         * modules/ftello (configure.ac-early): Likewise.
87831         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
87832         AC_FUNC_FSEEKO for this.
87833         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
87834         (gl_CHECK_FSEEKO): Remove macro.
87836 2007-04-26  Bruno Haible  <bruno@clisp.org>
87838         * tests/test-fflush.c (main): Also check the ftell result after
87839         fflush and fseek/fseeko.
87840         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
87841         file descriptor position cache in the stream.
87842         * lib/fseeko.c (rpl_fseeko): Likewise.
87844 2007-04-26  Bruno Haible  <bruno@clisp.org>
87846         * modules/fflush-tests (Depends-on): Add fseeko.
87848 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
87849             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87851         * lib/argz_.h: ensure error_t definition is obtained in same
87852         mechanism system argz.h would have.
87853         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
87854         argz facilities are known bad.  Err on the side of caution if
87855         cross-compiling.
87857 2007-04-25  Eric Blake  <ebb9@byu.net>
87859         * lib/fpurge.c (includes): Use stdlib.h for free.
87860         * tests/test-fflush.c (main): Also test fflush-fseeko.
87862 2007-04-25  Bruno Haible  <bruno@clisp.org>
87864         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
87865         * lib/fseeko.c: New file.
87866         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
87867         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
87868         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
87869         gl_FUNC_FSEEKO.
87870         (gl_FUNC_FSEEKO): Invoke it.
87871         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
87872         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
87873         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
87875 2007-04-25  Bruno Haible  <bruno@clisp.org>
87877         * modules/fflush (Depends-on): Add ftello.
87879 2007-04-25  Bruno Haible  <bruno@clisp.org>
87881         * modules/ftello-tests: New file.
87882         * tests/test-ftello.c: New file.
87884         * modules/ftello: New file.
87885         * m4/ftello.m4: New file.
87886         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
87887         HAVE_FTELLO.
87888         * lib/stdio_.h (ftello): New declaration.
87889         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
87890         HAVE_FTELLO.
87892 2007-04-25  Bruno Haible  <bruno@clisp.org>
87894         * modules/fseeko-tests: New file.
87895         * tests/test-fseeko.c: New file.
87897         * modules/fseeko: New file.
87898         * m4/fseeko.m4: New file.
87899         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
87900         HAVE_FSEEKO.
87901         * lib/stdio_.h (fseeko): New declaration.
87902         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
87903         HAVE_FSEEKO.
87905 2007-04-25  Bruno Haible  <bruno@clisp.org>
87907         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
87909 2007-04-25  Bruno Haible  <bruno@clisp.org>
87911         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
87912         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
87913         * tests/test-unistd.c: Likewise.
87914         * tests/test-fcntl.c: Likewise.
87916 2007-04-23  Eric Blake  <ebb9@byu.net>
87918         * lib/fflush.c: Fix missing include.
87919         Reported by Bruno Haible.
87921 2007-04-23  Bruno Haible  <bruno@clisp.org>
87923         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
87924         Reported by Eric Blake.
87926 2007-04-23  Bruno Haible  <bruno@clisp.org>
87928         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
87930 2007-04-23  Bruno Haible  <bruno@clisp.org>
87932         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
87934 2007-04-23  Bruno Haible  <bruno@clisp.org>
87936         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
87937         Needed on HP-UX 11.
87939 2007-04-16  Eric Blake  <ebb9@byu.net>
87941         Make fflush rely on fpurge.
87942         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
87943         open coding all variants.
87944         * modules/fflush (Depends-on): Add fpurge and unistd.
87945         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
87946         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
87948         Fix --with-tests compilation on cygwin.
87949         * modules/argmatch-tests (Makefile.am): List gnulib library first
87950         in LDADD.
87951         * modules/argp-tests (Makefile.am): Likewise.
87952         * modules/array-list-tests (Makefile.am): Likewise.
87953         * modules/array-oset-tests (Makefile.am): Likewise.
87954         * modules/avltree-list-tests (Makefile.am): Likewise.
87955         * modules/avltree-oset-tests (Makefile.am): Likewise.
87956         * modules/avltreehash-list-tests (Makefile.am): Likewise.
87957         * modules/carray-list-tests (Makefile.am): Likewise.
87958         * modules/dirname-tests (Makefile.am): Likewise.
87959         * modules/frexp-tests (Makefile.am): Likewise.
87960         * modules/isnanl-tests (Makefile.am): Likewise.
87961         * modules/linked-list-tests (Makefile.am): Likewise.
87962         * modules/linkedhash-list-tests (Makefile.am): Likewise.
87963         * modules/lock-tests (Makefile.am): Likewise.
87964         * modules/rbtree-list-tests (Makefile.am): Likewise.
87965         * modules/rbtree-oset-tests (Makefile.am): Likewise.
87966         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
87967         * modules/tls-tests (Makefile.am): Likewise.
87968         * modules/tsearch-tests (Makefile.am): Likewise.
87969         * modules/xvasprintf-tests (Makefile.am): Likewise.
87971         Fix fpurge for cygwin.
87972         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
87973         value.
87974         * modules/fpurge-tests (Depends-on): Clean up trash.
87976 2007-04-16  Simon Josefsson  <simon@josefsson.org>
87978         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
87980         * m4/autobuild.m4: Re-indent.
87982 2007-04-13  Bruno Haible  <bruno@clisp.org>
87984         * modules/fpurge-tests: New file.
87985         * tests/test-fpurge.c: New file.
87987         * modules/fpurge: New file.
87988         * lib/fpurge.h: New file.
87989         * lib/fpurge.c: New file.
87990         * m4/fpurge.m4: New file.
87992 2007-04-13  Bruno Haible  <bruno@clisp.org>
87994         * modules/fbufmode-tests: New file.
87995         * tests/test-fbufmode.c: New file.
87997         * modules/fbufmode: New file.
87998         * lib/fbufmode.h: New file.
87999         * lib/fbufmode.c: New file.
88000         * m4/fbufmode.m4: New file.
88002 2007-04-13  Bruno Haible  <bruno@clisp.org>
88004         * modules/fwritable-tests: New file.
88005         * tests/test-fwritable.c: New file.
88007         * modules/fwritable: New file.
88008         * lib/fwritable.h: New file.
88009         * lib/fwritable.c: New file.
88010         * m4/fwritable.m4: New file.
88012 2007-04-13  Bruno Haible  <bruno@clisp.org>
88014         * modules/freadable-tests: New file.
88015         * tests/test-freadable.c: New file.
88017         * modules/freadable: New file.
88018         * lib/freadable.h: New file.
88019         * lib/freadable.c: New file.
88020         * m4/freadable.m4: New file.
88022 2007-04-13  Bruno Haible  <bruno@clisp.org>
88024         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
88025         MOSTLYCLEANFILES.
88027 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
88029         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
88030         gzip bootstrap.conf to avoid dragging in i18n machinery.
88031         (gnulib_tool_option): Use it.
88033 2007-04-13  Bruno Haible  <bruno@clisp.org>
88035         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
88036         %F directives.
88037         * tests/test-vasprintf-posix.c (test_function): Likewise.
88038         * tests/test-snprintf-posix.h (test_function): Likewise.
88039         * tests/test-sprintf-posix.h (test_function): Likewise.
88040         * tests/test-fprintf-posix.h (test_function): Likewise.
88041         * tests/test-printf-posix.h (test_function): Likewise.
88042         * tests/test-fprintf-posix.out: Likewise.
88044 2007-04-13  Bruno Haible  <bruno@clisp.org>
88046         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
88047         * modules/tls-tests (configure.ac): Likewise.
88048         Reported by Arto C. Nirkko <anirkko@insel.ch>.
88050 2007-04-13  Bruno Haible  <bruno@clisp.org>
88052         * lib/tls.c (glthread_tls_get): Fix return type.
88053         Patch by Arto C. Nirkko <anirkko@insel.ch>.
88055 2007-04-12  Eric Blake  <ebb9@byu.net>
88057         * modules/gettime (Depends-on): Remove gettime.
88058         Reported by Dmitry V. Levin.
88060 2007-04-12  Bruno Haible  <bruno@clisp.org>
88062         * modules/fflush (Include): Mention <stdio.h>.
88063         * modules/strtoimax (Include): Mention <inttypes.h>.
88064         * modules/strtoumax (Include): Likewise.
88066 2007-04-12  Eric Blake  <ebb9@byu.net>
88068         * .cvsignore: New file.
88069         * .gitignore: Likewise.
88071 2007-04-12  Bruno Haible  <bruno@clisp.org>
88073         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
88074         not before, since $(LDADD) often contains libgnu.a.
88075         * modules/striconv-tests (test_striconv_LDADD): Likewise.
88076         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
88077         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
88078         Needed on Cygwin.
88080 2007-04-12  Eric Blake  <ebb9@byu.net>
88082         Work around glibc's failure to flush stdin on fclose.
88083         * lib/closein.c (close_stdin): Flush stdin before closing.
88085         Work around glibc's failure to reset seekable stdin on exit.
88086         * modules/closein: New module.
88087         * lib/closein.c: New file.
88088         * lib/closein.h: Likewise.
88089         * m4/closein.m4: Likewise.
88090         * MODULES.html.sh (File stream based Input/Output): Document it.
88092 2007-04-12  Simon Josefsson  <simon@josefsson.org>
88094         * gnulib-tool: Rename generated 'autobuild' script to
88095         'do-autobuild' in --create-megatestdir output.
88097         * doc/gnulib.texi (Build robot for gnulib): Fix.
88099 2007-04-12  Simon Josefsson  <simon@josefsson.org>
88101         * modules/sysexits (Depends-on): Add absolute-header.
88103 2007-04-12  Eric Blake  <ebb9@byu.net>
88105         No need to preserve errno on success.
88106         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
88107         Reported by Bruno Haible.
88109 2007-04-12  Simon Josefsson  <simon@josefsson.org>
88111         * MODULES.html.sh (Support for maintaining and releasing
88112         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
88114 2007-04-12  Simon Josefsson  <simon@josefsson.org>
88116         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
88118 2007-04-12  Simon Josefsson  <simon@josefsson.org>
88120         * modules/autobuild: New module.
88122         * m4/autobuild.m4: New file.
88124 2007-04-11  Bruno Haible  <bruno@clisp.org>
88126         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
88127         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
88128         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
88129         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
88130         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
88131         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88132         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88133         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
88134         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88135         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88136         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
88137         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88138         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88139         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
88140         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88141         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88142         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
88143         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88144         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88145         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
88146         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88147         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88148         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
88149         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88150         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88151         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
88152         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88153         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88154         Reported by Eric Blake.
88156 2007-04-11  Bruno Haible  <bruno@clisp.org>
88158         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
88160 2007-04-10  Bruno Haible  <bruno@clisp.org>
88162         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
88163         for NaN and Infinity. Needed on FreeBSD 6.1.
88164         * tests/test-vasnprintf-posix.c (test_function): Undo last change
88165         regarding results for "%010a" of Infinity and NaN.
88166         * tests/test-vasprintf-posix.c (test_function): Likewise.
88167         * tests/test-snprintf-posix.h (test_function): Likewise.
88168         * tests/test-sprintf-posix.h (test_function): Likewise.
88169         * tests/test-fprintf-posix.h (test_function): Likewise.
88170         * tests/test-printf-posix.h (test_function): Likewise.
88171         * tests/test-fprintf-posix.out: Likewise.
88173 2007-04-10  Bruno Haible  <bruno@clisp.org>
88175         * modules/locale-tests: New file.
88176         * tests/test-locale.c: New file.
88178         * modules/locale: New file.
88179         * lib/locale_.h: New file.
88180         * m4/locale_h.m4: New file.
88182 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
88183             Bruno Haible  <bruno@clisp.org>
88185         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
88186         be determined, test for availability of the copysignf, copysign,
88187         copysignl functions.
88188         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
88189         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
88190         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
88192 2007-04-09  Eric Blake  <ebb9@byu.net>
88194         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
88195         * modules/stdio (Makefile.am): Support fflush.
88196         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
88197         * modules/fflush: New file.
88198         * lib/fflush.c: Likewise.
88199         * m4/fflush.m4: Likewise.
88200         * modules/fflush-tests: New test.
88201         * tests/test-fflush.c: Likewise.
88202         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
88204 2007-04-06  Bruno Haible  <bruno@clisp.org>
88206         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
88207         (VASNPRINTF): Use signbit for faster determination whether to print a
88208         minus sign.
88209         * modules/vasnprintf (Files): Remove lib/float+.h.
88210         * modules/fprintf-posix (Depends-on): Add signbit.
88211         * modules/snprintf-posix (Depends-on): Likewise.
88212         * modules/sprintf-posix (Depends-on): Likewise.
88213         * modules/vasnprintf-posix (Depends-on): Likewise.
88214         * modules/vasprintf-posix (Depends-on): Likewise.
88215         * modules/vfprintf-posix (Depends-on): Likewise.
88216         * modules/vsnprintf-posix (Depends-on): Likewise.
88217         * modules/vsprintf-posix (Depends-on): Likewise.
88219 2007-04-06  Bruno Haible  <bruno@clisp.org>
88221         * tests/test-frexp.c (main): Test also the sign bit of zero results.
88222         * tests/test-frexpl.c (main): Likewise.
88223         * tests/test-ldexpl.c (main): Likewise.
88224         * modules/frexp-tests (Depends-on): Add signbit.
88225         * modules/frexpl-tests (Depdends-on): Likewise.
88226         * modules/ldexpl-tests (Depdends-on): Likewise.
88228 2007-04-06  Bruno Haible  <bruno@clisp.org>
88230         * modules/signbit-tests: New file.
88231         * tests/test-signbit.c: New file.
88233         * modules/signbit: New file.
88234         * lib/signbitf.c: New file.
88235         * lib/signbitd.c: New file.
88236         * lib/signbitl.c: New file.
88237         * m4/signbit.m4: New file.
88238         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
88239         (signbit): New macro.
88240         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
88241         REPLACE_SIGNBIT.
88242         * modules/math (Makefile.am): Substitute also GNULIB_SIGNBIT and
88243         REPLACE_FREXPL into math.h.
88245 2007-04-06  Bruno Haible  <bruno@clisp.org>
88247         * modules/isnanf-nolibm-tests: New file.
88248         * tests/test-isnanf.c: New file.
88250         * modules/isnanf-nolibm: New file.
88251         * lib/isnanf.h: New file.
88252         * lib/isnanf.c: New file.
88253         * lib/isnan.c: Consider the USE_FLOAT macro.
88254         * m4/isnanf.m4: New file.
88256 2007-04-06  Bruno Haible  <bruno@clisp.org>
88258         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
88259         (Link): New section.
88261         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
88263 2007-04-06  Bruno Haible  <bruno@clisp.org>
88265         Assume the 'long double' type.
88266         * m4/longdouble.m4: Remove file.
88267         * config/srclist.txt: Don't mention longdouble.m4.
88268         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
88269         * lib/float+.h: Likewise.
88270         * lib/frexp.c: Likewise.
88271         * lib/printf-args.h: Likewise.
88272         * lib/printf-args.c: Likewise.
88273         * lib/printf-frexp.c: Likewise.
88274         * lib/printf-parse.c: Likewise.
88275         * lib/vasnprintf.c: Likewise.
88276         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
88277         * m4/intl.m4: Likewise.
88278         * m4/isnanl.m4: Likewise.
88279         * m4/printf.m4: Likewise.
88280         * m4/printf-frexpl.m4: Likewise.
88281         * m4/vasnprintf.m4: Likewise.
88282         * modules/allocsa (Files): Remove m4/longdouble.m4.
88283         * modules/gettext (Files): Likewise.
88284         * modules/relocatable-prog-wrapper (Files): Likewise.
88285         * modules/vasnprintf (Files): Likewise.
88286         * modules/isnanl (Files): Likewise.
88287         (Include): Simplify.
88288         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
88289         (Include): Simplify.
88290         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
88291         (Include): Simplify.
88292         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
88293         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88294         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
88295         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88296         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
88297         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88298         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
88299         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88300         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
88301         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88302         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
88303         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88304         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
88305         * tests/test-isnanl.c: Likewise.
88306         * tests/test-snprintf-posix.h: Likewise.
88307         * tests/test-sprintf-posix.h: Likewise.
88308         * tests/test-vasnprintf-posix.c: Likewise.
88309         * tests/test-vasnprintf-posix2.c: Likewise.
88310         * tests/test-vasprintf-posix.c: Likewise.
88312 2007-04-06  Bruno Haible  <bruno@clisp.org>
88314         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
88315         * lib/math_.h [__DECC]: Include the overridden include file through
88316         #include_next, outside the double-inclusion guard.
88317         * lib/stdio_.h [__DECC]: Likewise.
88318         * lib/stdlib_.h [__DECC]: Likewise.
88319         * lib/string_.h [__DECC]: Likewise.
88320         * lib/time_.h [__DECC]: Likewise.
88321         * lib/wchar_.h [__DECC]: Likewise.
88322         * lib/wctype_.h [__DECC]: Likewise.
88323         * lib/inttypes_.h [__DECC]: Likewise.
88324         Reported by Albert Chin <china@thewrittenword.com> in
88325         <http://lists.gnu.org/r/bug-gnulib/2007-04/msg00088.html>.
88327 2007-04-04  Eric Blake  <ebb9@byu.net>
88329         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
88330         1.5.x.
88332 2007-04-04  Bruno Haible  <bruno@clisp.org>
88334         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
88335         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
88337 2007-04-04  Bruno Haible  <bruno@clisp.org>
88339         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
88340         results for "%010a" of Infinity and NaN.
88341         * tests/test-vasprintf-posix.c (test_function): Likewise.
88342         * tests/test-snprintf-posix.h (test_function): Likewise.
88343         * tests/test-sprintf-posix.h (test_function): Likewise.
88344         * tests/test-fprintf-posix.h (test_function): Remove these tests.
88345         * tests/test-printf-posix.h (test_function): Likewise.
88346         * tests/test-fprintf-posix.out: Update.
88347         Needed for FreeBSD 6.1.
88349 2007-04-04  Bruno Haible  <bruno@clisp.org>
88351         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
88352         directly used by the gnulib modules nor by gnulib-tool.
88354 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
88356         * DEPENDENCIES: Give overall description of version dependency
88357         desirability.  Use more-typical names for apps.
88358         Add shell, coreutils, diffutils, grep, tar, gzip.
88360 2007-04-04  Simon Josefsson  <simon@josefsson.org>
88362         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
88364 2007-04-04  Karl Berry  <karl@gnu.org>
88366         * MODULES.html.sh (func_module): missing '.
88368 2007-04-03  Bruno Haible  <bruno@clisp.org>
88370         * modules/argmatch-tests (Makefile.am): New variable
88371         test_argmatch_LDADD.
88372         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
88373         * modules/array-list-tests (Makefile.am): New variable
88374         test_array_list_LDADD.
88375         * modules/array-oset-tests (Makefile.am): New variable
88376         test_array_oset_LDADD.
88377         * modules/avltree-list-tests (Makefile.am): New variable
88378         test_avltree_list_LDADD.
88379         * modules/avltree-oset-tests (Makefile.am): New variable
88380         test_avltree_oset_LDADD.
88381         * modules/avltreehash-list-tests (Makefile.am): New variable
88382         test_avltreehash_list_LDADD.
88383         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
88384         test_canonicalize_lgpl_LDADD.
88385         * modules/carray-list-tests (Makefile.am): New variable
88386         test_carray_list_LDADD.
88387         * modules/dirname-tests (Makefile.am): New variable
88388         test_dirname_LDADD.
88389         * modules/linked-list-tests (Makefile.am): New variable
88390         test_linked_list_LDADD.
88391         * modules/linkedhash-list-tests (Makefile.am): New variable
88392         test_linkedhash_list_LDADD.
88393         * modules/rbtree-list-tests (Makefile.am): New variable
88394         test_rbtree_list_LDADD.
88395         * modules/rbtree-oset-tests (Makefile.am): New variable
88396         test_rbtree_oset_LDADD.
88397         * modules/rbtreehash-list-tests (Makefile.am): New variable
88398         test_rbtreehash_list_LDADD.
88399         * modules/xvasprintf-tests (Makefile.am): New variable
88400         test_xvasprintf_LDADD.
88401         Reported by Eric Blake.
88403 2007-04-03  Eric Blake  <ebb9@byu.net>
88405         * DEPENDENCIES: Weaken m4 requirements.
88407 2007-04-03  Bruno Haible  <bruno@clisp.org>
88409         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
88410         * modules/isnanl-tests (configure.ac): Likewise.
88412 2007-04-03  Ben Pfaff  <blp@gnu.org>
88414         * modules/iconv_open: Add $(srcdir)/ to source directory
88415         references in Makefile fragments that call gperf, to fix VPATH
88416         builds.
88418 2007-04-03  Bruno Haible  <bruno@clisp.org>
88420         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
88421         * lib/ldexpl.c: Undo last change.
88423 2007-04-03  Bruno Haible  <bruno@clisp.org>
88425         * modules/printf-frexpl (Depends-on): Undo last change.
88426         (Files): Add m4/ldexpl.m4.
88428 2007-04-03  Bruno Haible  <bruno@clisp.org>
88430         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
88431         * modules/isnanl (Link): New section.
88433         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
88434         * modules/frexp (Link): New section.
88436         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
88437         * modules/frexpl (Link): New section.
88439         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
88440         * modules/ldexpl (Link): New section.
88442 2007-04-03  Bruno Haible  <bruno@clisp.org>
88444         * modules/TEMPLATE-EXTENDED: New file.
88445         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
88447 2007-04-03  Bruno Haible  <bruno@clisp.org>
88449         * DEPENDENCIES: New file.
88450         Suggested by Simon Josefsson.
88452 2007-04-03  Bruno Haible  <bruno@clisp.org>
88454         * doc/gnulib.texi: Escape @.
88456 2007-04-03  James Youngman  <jay@gnu.org>
88457         and Paul Eggert  <eggert@cs.ucla.edu>
88459         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
88460         birthtime on all systems that have birthtime, not just those which
88461         use st_birthtimensec rather than st_birthtim.  Putting zero in
88462         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
88463         that the birth time is not available for files on an NFS mount.
88465 2007-04-03  Simon Josefsson  <simon@josefsson.org>
88467         * modules/memxor: Move back from crypto/, suggested by Bruno.
88468         * modules/crypto/hmac-sha1: Fix memxor dependency.
88470         * modules/crypto/gc: Moved from ../.
88472 2007-04-02  Eric Blake  <ebb9@byu.net>
88474         * lib/ldexpl.c (includes): Avoid libm.
88476         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
88478 2007-04-02  Bruno Haible  <bruno@clisp.org>
88480         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
88481         on IRIX.
88483 2007-04-02  Bruno Haible  <bruno@clisp.org>
88485         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
88486         x86 or x86_64 platforms running MacOS X.
88487         Reported by Ryan Schmidt <@ryandesign.com>.
88489 2007-04-02  Bruno Haible  <bruno@clisp.org>
88491         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
88492         i386.
88494 2007-04-01  Simon Josefsson  <simon@josefsson.org>
88496         * modules/crypto/arcfour: Moved from ../.
88497         * modules/crypto/arcfour-tests: Moved from ../.
88498         * modules/crypto/arctwo: Moved from ../.
88499         * modules/crypto/arctwo-tests: Moved from ../.
88500         * modules/crypto/des: Moved from ../.
88501         * modules/crypto/des-tests: Moved from ../.
88502         * modules/crypto/gc-arcfour: Moved from ../.
88503         * modules/crypto/gc-arcfour-tests: Moved from ../.
88504         * modules/crypto/gc-arctwo: Moved from ../.
88505         * modules/crypto/gc-arctwo-tests: Moved from ../.
88506         * modules/crypto/gc-des: Moved from ../.
88507         * modules/crypto/gc-des-tests: Moved from ../.
88508         * modules/crypto/gc-hmac-md5: Moved from ../.
88509         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
88510         * modules/crypto/gc-hmac-sha1: Moved from ../.
88511         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
88512         * modules/crypto/gc-md2: Moved from ../.
88513         * modules/crypto/gc-md2-tests: Moved from ../.
88514         * modules/crypto/gc-md4: Moved from ../.
88515         * modules/crypto/gc-md4-tests: Moved from ../.
88516         * modules/crypto/gc-md5: Moved from ../.
88517         * modules/crypto/gc-md5-tests: Moved from ../.
88518         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
88519         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
88520         * modules/crypto/gc-random: Moved from ../.
88521         * modules/crypto/gc-rijndael: Moved from ../.
88522         * modules/crypto/gc-rijndael-tests: Moved from ../.
88523         * modules/crypto/gc-sha1: Moved from ../.
88524         * modules/crypto/gc-sha1-tests: Moved from ../.
88525         * modules/crypto/gc-tests: Moved from ../.
88526         * modules/crypto/hmac-md5: Moved from ../.
88527         * modules/crypto/hmac-md5-tests: Moved from ../.
88528         * modules/crypto/hmac-sha1: Moved from ../.
88529         * modules/crypto/hmac-sha1-tests: Moved from ../.
88530         * modules/crypto/md2: Moved from ../.
88531         * modules/crypto/md2-tests: Moved from ../.
88532         * modules/crypto/md4: Moved from ../.
88533         * modules/crypto/md4-tests: Moved from ../.
88534         * modules/crypto/md5: Moved from ../.
88535         * modules/crypto/md5-tests: Moved from ../.
88536         * modules/crypto/memxor: Moved from ../.
88537         * modules/crypto/rijndael: Moved from ../.
88538         * modules/crypto/rijndael-tests: Moved from ../.
88539         * modules/crypto/sha1: Moved from ../.
88541 2007-03-30  James Youngman  <jay@gnu.org>
88543         * tests/test-stat-time.c (prepare_test): use chmod() rather than
88544         rename() to change the ctime of a file (because ctime is unaffected
88545         by rename on jfs2 on AIX 5.1).
88546         (main): Start by doing cleanup, in case a previous run failed leaving
88547         test files behind.
88549 2007-03-31  Bruno Haible  <bruno@clisp.org>
88551         Support old proprietary implementations of iconv.
88552         * modules/iconv_open: New file.
88553         * lib/iconv_.h: New file.
88554         * m4/iconv_h.m4: New file.
88555         * lib/iconv_open.c: New file.
88556         * lib/iconv_open-aix.gperf: New file.
88557         * lib/iconv_open-hpux.gperf: New file.
88558         * lib/iconv_open-irix.gperf: New file.
88559         * lib/iconv_open-osf.gperf: New file.
88560         * m4/iconv_open.m4: New file.
88561         * modules/linebreak (Depends-on): Add iconv_open.
88562         * modules/striconv (Depends-on): Likewise.
88563         * modules/striconveh (Depends-on): Likewise.
88564         * modules/unicodeio (Depends-on): Likewise.
88565         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
88566         (iconv_t)(-1).
88567         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
88568         conversion if cd is (iconv_t)(-1).
88569         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
88570         is not possible.
88572 2007-03-31  Bruno Haible  <bruno@clisp.org>
88574         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
88575         work on Solaris either. Protect also second use of "autodetect_jp".
88577 2007-03-31  Bruno Haible  <bruno@clisp.org>
88579         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
88580         the function is not present.
88582 2007-03-31  Bruno Haible  <bruno@clisp.org>
88584         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
88585         the function is not present.
88587 2007-03-31  Bruno Haible  <bruno@clisp.org>
88589         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
88590         a bug in HP-UX iconv_open().
88592 2007-03-31  Bruno Haible  <bruno@clisp.org>
88594         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
88595         (Mathematics <math.h>): New section, add fpieee.
88596         (Input/output <stdio.h>): Add fseterr.
88597         (Mathematics <math.h>): New section, add printf-frexp.
88598         (Container data structures): Add sublist.
88599         (Core language properties): Add fpucw, inline.
88600         (Functions for greatest-width integer types <inttypes.h>): Add
88601         imaxabs, imaxdiv, inttypes.
88602         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
88603         isnanl-nolibm, ldexp.
88604         (Mathematics <math.h>): New section, add printf-frexpl.
88605         (Support for systems lacking POSIX:2001): Add fprintf-posix,
88606         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
88607         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
88608         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
88609         (Unicode string functions): Add unistr/u*-mbtoucr.
88610         (Java): Add javacomp-script, javaexec-script.
88611         (C#): Add csharpcomp-script, csharpexec-script.
88612         (Support for building libraries and executables): Add havelib,
88613         relocatable-*.
88614         (Support for maintaining and releasing projects): Renamed from
88615         'Support for maintaining and release projects'. Add announce-gen.
88617 2007-03-31  Bruno Haible  <bruno@clisp.org>
88619         * README: Talk primarily about git.
88620         (git and CVS): Renamed from CVS.
88621         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
88622         gnulib is available through git.
88623         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
88625 2007-03-30  Bruno Haible  <bruno@clisp.org>
88627         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
88628         * lib/poll_.h: Likewise.
88629         * lib/stat_.h: Likewise.
88630         * lib/sys_time_.h: Likewise.
88631         * lib/sysexit_.h: Likewise.
88632         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
88633         * lib/stdbool_.h: Likewise.
88634         * lib/byteswap_.h: Add double-inclusion guard.
88636 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
88638         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
88640 2007-03-30  Karl Berry  <karl@gnu.org>
88642         * config/srclist-update: double space after USA in the license
88643         substitution, since that's how it's usually (?) written.
88645 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
88647         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
88648         reported by Bruno Haible.
88650 2007-03-29  Bruno Haible  <bruno@clisp.org>
88652         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
88653         a bug in AIX iconv().
88655 2007-03-29  Bruno Haible  <bruno@clisp.org>
88657         * modules/ldexpl-tests: New file.
88658         * tests/test-ldexpl.c: New file.
88660 2007-03-29  Bruno Haible  <bruno@clisp.org>
88662         * lib/ldexpl.c: Include fpucw.h.
88663         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
88664         multiplication.
88665         * modules/ldexpl (Depends-on): Add fpucw.
88667 2007-03-29  Bruno Haible  <bruno@clisp.org>
88669         * modules/ldexpl: New file.
88670         * m4/ldexpl.m4: New file.
88671         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
88672         set.
88673         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
88674         REPLACE_LDEXPL.
88675         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
88676         REPLACE_LDEXPL.
88677         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
88678         gl_FUNC_LDEXPL_WORKS.
88679         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
88680         * modules/mathl (Files): Remove lib/ldexpl.c.
88681         (Depends-on): Add ldexpl.
88683 2007-03-29  Bruno Haible  <bruno@clisp.org>
88685         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
88687 2007-03-29  Bruno Haible  <bruno@clisp.org>
88689         * tests/test-striconveh.c (main): Don't assume that a direct conversion
88690         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
88691         and possibly also HP-UX.
88692         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
88693         work on AIX, IRIX, HP-UX, OSF/1.
88694         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
88695         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
88696         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
88697         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
88698         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
88699         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
88701 2007-03-29  Bruno Haible  <bruno@clisp.org>
88703         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
88705 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
88707         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
88708         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
88710 2007-03-29  Eric Blake  <ebb9@byu.net>
88712         * lib/acl-internal.h: Remove redundant include.
88713         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
88714         Cygwin when a file is locked.
88716 2007-03-29  Bruno Haible  <bruno@clisp.org>
88718         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
88719         file.
88720         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
88722 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
88724         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
88725         try to remove a parent directory if the child couldn't be removed
88726         (except for the first rmdir, which could fail because the child
88727         doesn't exist).  Problem reported by Jeff Blaine in
88728         <http://lists.gnu.org/r/bug-tar/2007-03/msg00014.html>.
88730 2007-03-28  Bruno Haible  <bruno@clisp.org>
88732         * lib/striconveh.c (utf8conv_carefully): New function.
88733         (mem_cd_iconveh_internal): Invoke it.
88735 2007-03-28  Bruno Haible  <bruno@clisp.org>
88737         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
88738         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
88739         input.
88740         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
88741         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
88742         unistr/u8-uctomb.
88744 2007-03-28  Bruno Haible  <bruno@clisp.org>
88746         * modules/unistr/u8-mbtoucr: New file.
88747         * lib/unistr/u8-mbtoucr.c: New file.
88748         * modules/unistr/u16-mbtoucr: New file.
88749         * lib/unistr/u16-mbtoucr.c: New file.
88750         * modules/unistr/u16-mbtoucr: New file.
88751         * lib/unistr/u16-mbtoucr.c: New file.
88752         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
88754 2007-03-27  Simon Josefsson  <simon@josefsson.org>
88755             Bruno Haible  <bruno@clisp.org>
88757         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
88758         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
88759         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
88761         * m4/stdio_h.m4: Add stubs for vasprintf too.
88763         * modules/stdio: Support vasprintf in sed command.
88765         * modules/vasprintf: Depend on stdio for prototypes.  Remove
88766         vasprintf.h.  Add stdio module indicator.
88768         * lib/stdio_.h: Declare asprintf and vasprintf, based on
88769         vasprintf.h.
88771         * lib/vasprintf.h: File removed.
88773         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
88774         * lib/vasprintf.c: Ditto.
88775         * lib/xvasprintf.c: Ditto.
88776         * tests/test-vasprintf-posix.c: Ditto.
88777         * tests/test-vasprintf.c: Ditto.
88779 2007-03-27  Bruno Haible  <bruno@clisp.org>
88781         Make vasnprintf multithread-safe.
88782         * lib/vasnprintf.c (decimal_point_char): New function.
88783         (VASNPRINTF): Use it.
88784         Suggested by Simon Josefsson.
88786 2007-03-27  Eric Blake  <ebb9@byu.net>
88788         Support sub-second birthtime on cygwin.
88789         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
88790         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
88791         (get_stat_birthtime): Also work with st_birthtim.
88793 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
88795         * lib/stat-time.h (USE_BIRTHTIME): Remove.
88796         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
88797         (get_stat_birthtime_ns): Do not try to use "spare" fields.
88798         (get_stat_birthtime_ns): Simplify compile-time tests.
88799         (get_stat_birthtime): Change the API to look like
88800         get_stat_mtime etc., except return a negative tv_nsec on error.
88801         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
88802         Don't check for "spare" fields.
88803         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
88804         or for struct stat.st_birthtime, as these tests aren't used.
88805         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
88807 2007-03-27  Bruno Haible  <bruno@clisp.org>
88809         * lib/stat-time.h: Include <sys/stat.h>.
88811 2007-03-27  James Youngman  <jay@gnu.org>
88813         * lib/stat-time.h (get_stat_birthtime): New function for
88814           retrieving st_birthtime as provided by UFS2 (hence *BSD).
88815         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
88816           and its variants.
88817         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
88818         * modules/stat-time-test: New file.
88819         * tests/test-stat-time.c: New test, devised by Bruno Haible.
88821 2007-03-26  Bruno Haible  <bruno@clisp.org>
88823         Better support of signalling NaNs.
88824         * lib/atanl.c: Include isnanl.h.
88825         (atanl): Perform test for NaN at the beginning of the function and
88826         through a call to isnanl.
88827         * lib/cosl.c: Include isnanl.h.
88828         (cosl): Perform test for NaN at the beginning of the function and
88829         through a call to isnanl.
88830         * lib/ldexpl.c: Include isnanl.h.
88831         (ldexpl): Perform test for NaN through a call to isnanl.
88832         * lib/logl.c: Include isnanl.h.
88833         (logl): Perform test for NaN at the beginning of the function and
88834         through a call to isnanl.
88835         * lib/sinl.c: Include isnanl.h.
88836         (sinl): Perform test for NaN at the beginning of the function and
88837         through a call to isnanl.
88838         * lib/sqrtl.c: Include isnanl.h.
88839         (sqrtl): Perform test for NaN at the beginning of the function and
88840         through a call to isnanl.
88841         * lib/tanl.c: Include isnanl.h.
88842         (tanl): Perform test for NaN at the beginning of the function and
88843         through a call to isnanl.
88844         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
88845         * modules/mathl (Depends-on): Add isnanl.
88847 2007-03-26  Eric Blake  <ebb9@byu.net>
88849         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
88850         regression in logic sense of previous patch.
88852 2007-03-26  Bruno Haible  <bruno@clisp.org>
88854         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
88855         unportable shell command "if ! ...".
88856         Reported by Ralf Wildenhues.
88858 2007-03-25  Bruno Haible  <bruno@clisp.org>
88860         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
88861         <sysexits.h> file, and only add EX_CONFIG.
88862         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
88863         absolute file name and whether it is sufficient. Substitute also
88864         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
88865         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
88866         ABSOLUTE_SYSEXITS_H into sysexits.h.
88868 2007-03-25  Bruno Haible  <bruno@clisp.org>
88870         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
88871         hints is NULL.
88873 2007-03-25  Bruno Haible  <bruno@clisp.org>
88875         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
88876         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
88878 2007-03-25  Bruno Haible  <bruno@clisp.org>
88880         * lib/vasnprintf.c: Include langinfo.h.
88881         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
88882         multithread-safe.
88883         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
88884         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
88885         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
88886         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
88887         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
88888         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
88889         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
88890         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
88891         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
88892         Reported by Simon Josefsson.
88894 2007-03-25  Bruno Haible  <bruno@clisp.org>
88896         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
88897         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
88898         * modules/vasnprintf (Depends-on): Add stdint.
88900 2007-03-25  Bruno Haible  <bruno@clisp.org>
88902         * modules/fpieee: New file.
88903         * m4/fpieee.m4: New file.
88904         * modules/isnan-nolibm (Depends-on): Add fpieee.
88905         * modules/isnanl-nolibm (Depends-on): Add fpieee.
88906         * modules/isnanl (Depends-on): Add fpieee.
88908 2007-03-25  Bruno Haible  <bruno@clisp.org>
88910         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
88912 2007-03-25  Bruno Haible  <bruno@clisp.org>
88914         Avoid test failures on IRIX 6.5.
88915         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
88916         (main): Use it.
88917         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
88918         macros.
88919         (main): Use them.
88921 2007-03-25  Bruno Haible  <bruno@clisp.org>
88923         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
88924         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
88925         exists but doesn't work.
88926         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
88927         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
88928         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
88929         * modules/math (Makefile.am): Substitute also REPLACE_FREXPL into
88930         math.h.
88932 2007-03-25  Bruno Haible  <bruno@clisp.org>
88934         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
88935         returns inf. Needed on IRIX 6.5.
88937 2007-03-25  Bruno Haible  <bruno@clisp.org>
88939         * tests/test-frexpl.c: Include isnanl-nolibm.h.
88940         (main): Use isnanl instead of x != x idiom.
88941         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
88943         * tests/test-frexp.c: Include isnan.h.
88944         (main): Use isnan instead of x != x idiom.
88945         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
88947 2007-03-25  Bruno Haible  <bruno@clisp.org>
88949         * tests/test-frexp.c (NaN): New function/macro.
88950         (main): Use it instead of 0.0 / 0.0.
88951         * tests/test-isnan.c (NaN): New function/macro.
88952         (main): Use it instead of 0.0 / 0.0.
88953         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
88954         (test_function): Use it instead of 0.0 / 0.0.
88955         * tests/test-vasprintf-posix.c (NaN): New function/macro.
88956         (test_function): Use it instead of 0.0 / 0.0.
88957         * tests/test-snprintf-posix.h (NaN): New function/macro.
88958         (test_function): Use it instead of 0.0 / 0.0.
88959         * tests/test-sprintf-posix.h (NaN): New function/macro.
88960         (test_function): Use it instead of 0.0 / 0.0.
88961         * tests/test-fprintf-posix.h (NaN): New function/macro.
88962         (test_function): Use it instead of 0.0 / 0.0.
88963         * tests/test-printf-posix.h (NaN): New function/macro.
88964         (test_function): Use it instead of 0.0 / 0.0.
88966         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
88968 2007-03-25  Bruno Haible  <bruno@clisp.org>
88970         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
88972 2007-03-25  Bruno Haible  <bruno@clisp.org>
88974         * lib/regexec.c (merge_state_with_log): Make static.
88976 2007-03-25  Bruno Haible  <bruno@clisp.org>
88978         * lib/trigl.c (kernel_rem_pio2): Make static.
88980 2007-03-25  Bruno Haible  <bruno@clisp.org>
88982         * lib/sincosl.c (sincosl_table): Make static.
88984 2007-03-25  Bruno Haible  <bruno@clisp.org>
88986         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
88987         if the compiler does not support C99.
88989 2007-03-25  Bruno Haible  <bruno@clisp.org>
88991         * modules/time (Makefile.am): Ensure all rule action lines start with a
88992         tab.
88994 2007-03-24  Bruno Haible  <bruno@clisp.org>
88996         * modules/tsearch-tests: New file.
88997         * tests/test-tsearch.sh: New file.
88998         * tests/test-tsearch.c: New file, mostly copied from glibc.
89000         * modules/search-tests: New file.
89001         * tests/test-search.c: New file.
89003         * modules/search: New file.
89004         * lib/search_.h: New file, incorporating lib/tsearch.h.
89005         * m4/search_h.m4: New file.
89006         * lib/tsearch.h: Remove file.
89007         * lib/tsearch.c: Include search.h instead of tsearch.h.
89008         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
89009         HAVE_TSEARCH.
89010         * modules/tsearch (Files): Remove lib/tsearch.h.
89011         (Depends-on): Add search.
89012         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
89013         (Include): Change tsearch.h into search.h.
89015 2007-03-24  Bruno Haible  <bruno@clisp.org>
89017         * modules/fpucw: New file.
89018         * lib/fpucw.h: New file.
89019         * lib/frexp.c: Include fpucw.h.
89020         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
89021         (FUNC): Use them.
89022         * lib/printf-frexp.c: Include fpucw.h.
89023         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
89024         (FUNC): Use them.
89025         * lib/vasnprintf.c: Include fpucw.h.
89026         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
89027         'long double' calculations.
89028         * tests/test-frexpl.c: Include fpucw.h.
89029         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
89030         * tests/test-printf-frexpl.c: Include fpucw.h.
89031         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
89032         * modules/frexpl (Depends-on): Add fpucw.
89033         * modules/printf-frexpl (Depends-on): Likewise.
89034         * modules/fprintf-posix (Depends-on): Likewise.
89035         * modules/snprintf-posix (Depends-on): Likewise.
89036         * modules/sprintf-posix (Depends-on): Likewise.
89037         * modules/vasnprintf-posix (Depends-on): Likewise.
89038         * modules/vasprintf-posix (Depends-on): Likewise.
89039         * modules/vfprintf-posix (Depends-on): Likewise.
89040         * modules/vsnprintf-posix (Depends-on): Likewise.
89041         * modules/vsprintf-posix (Depends-on): Likewise.
89042         * modules/frexpl-tests (Depends-on): Likewise.
89043         * modules/printf-frexpl-tests (Depends-on): Likewise.
89045 2007-03-24  Bruno Haible  <bruno@clisp.org>
89047         * lib/float+.h: New file.
89048         * lib/isnan.c: Include float+.h.
89049         (SIZE): New macro.
89050         (FUNC): Compare only SIZE bytes of the value.
89051         * lib/vasnprintf.c: Include float+.h.
89052         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
89053         SIZEOF_LDBL or SIZEOF_DBL bytes.
89054         * modules/isnan-nolibm (Files): Add lib/float+.h.
89055         * modules/isnanl-nolibm (Files): Add lib/float+.h.
89056         * modules/isnanl (Files): Add lib/float+.h.
89057         * modules/vasnprintf (Files): Add lib/float+.h.
89059 2007-03-24  Bruno Haible  <bruno@clisp.org>
89061         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
89062         include isnanl-nolibm.h.
89064 2007-03-24  Bruno Haible  <bruno@clisp.org>
89066         * tests/test-read-file.c (main): Don't produce spurious output for
89067         expected situations. Make the test fail if it encountered unexpected
89068         results.
89070 2007-03-24  Bruno Haible  <bruno@clisp.org>
89072         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
89073         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
89075 2007-03-24  Bruno Haible  <bruno@clisp.org>
89077         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
89079 2007-03-24  Bruno Haible  <bruno@clisp.org>
89081         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
89082         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
89084         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
89085         * modules/utf8-ucs4: Turn into a symbolic link to module
89086         unistr/u8-mbtouc.
89088         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
89089         utf8-ucs4-unsafe.
89090         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
89091         unistr/u8-mbtouc-unsafe.
89093         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
89094         * modules/utf16-ucs4: Turn into a symbolic link to module
89095         unistr/u16-mbtouc.
89097         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
89098         utf16-ucs4-unsafe.
89099         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
89100         unistr/u16-mbtouc-unsafe.
89102         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
89103         * modules/ucs4-utf8: Turn into a symbolic link to module
89104         unistr/u8-ubtomb.
89106         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
89107         * modules/ucs4-utf16: Turn into a symbolic link to module
89108         unistr/u16-ubtomb.
89110 2007-03-24  Bruno Haible  <bruno@clisp.org>
89112         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
89113         Enable the function only if HAVE_INLINE.
89114         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
89115         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
89116         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
89117         Enable the function only if HAVE_INLINE.
89118         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
89119         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
89120         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
89121         Enable the function only if HAVE_INLINE.
89122         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
89123         Enable the function only if HAVE_INLINE.
89124         * modules/utf8-ucs4: Update.
89125         * modules/utf8-ucs4-unsafe: Update.
89126         * modules/utf16-ucs4: Update.
89127         * modules/utf16-ucs4-unsafe: Update.
89128         * modules/ucs4-utf8: Update.
89129         * modules/ucs4-utf16: Update.
89131 2007-03-24  Bruno Haible  <bruno@clisp.org>
89133         * lib/utf8-ucs4.h: Remove file.
89134         * lib/utf8-ucs4-unsafe.h: Remove file.
89135         * lib/utf16-ucs4.h: Remove file.
89136         * lib/utf16-ucs4-unsafe.h: Remove file.
89137         * lib/ucs4-utf8.h: Remove file.
89138         * lib/ucs4-utf16.h: Remove file.
89139         * lib/unistr.h: Include their previous contents.
89140         * m4/utf-ucs4.m4: Remove file.
89141         * m4/ucs4-utf.m4: Remove file.
89142         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
89143         (Depends-on): Add unistr/base.
89144         (configure.ac): Remove gl_UTF_UCS4.
89145         (Makefile.am): Update.
89146         (Include): Change to unistr.h.
89147         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
89148         (Depends-on): Add unistr/base.
89149         (configure.ac): Remove gl_UTF_UCS4.
89150         (Makefile.am): Update.
89151         (Include): Change to unistr.h.
89152         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
89153         (Depends-on): Add unistr/base.
89154         (configure.ac): Remove gl_UTF_UCS4.
89155         (Makefile.am): Update.
89156         (Include): Change to unistr.h.
89157         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
89158         (Depends-on): Add unistr/base.
89159         (configure.ac): Remove gl_UTF_UCS4.
89160         (Makefile.am): Update.
89161         (Include): Change to unistr.h.
89162         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
89163         (Depends-on): Add unistr/base.
89164         (configure.ac): Remove gl_UCS4_UTF.
89165         (Makefile.am): Update.
89166         (Include): Change to unistr.h.
89167         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
89168         (Depends-on): Add unistr/base.
89169         (configure.ac): Remove gl_UCS4_UTF.
89170         (Makefile.am): Update.
89171         (Include): Change to unistr.h.
89172         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
89173         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
89174         utf8-ucs4-unsafe.h.
89175         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
89176         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
89177         utf16-ucs4-unsafe.h.
89178         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
89179         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
89180         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
89181         * lib/unistr/u8-strchr.c: Likewise.
89182         * lib/unistr/u8-strrchr.c: Likewise.
89183         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
89184         * lib/unistr/u16-strchr.c: Likewise.
89185         * lib/unistr/u16-strrchr.c: Likewise.
89186         * lib/striconveh.c: Update.
89187         * lib/linebreak.c: Update.
89189 2007-03-24  Bruno Haible  <bruno@clisp.org>
89191         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
89192         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
89194 2007-03-22  Bruno Haible  <bruno@clisp.org>
89196         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
89198 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
89200         * MODULES.html.sh (File system functions): New module write-any-file.
89201         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
89202         * m4/write-any-file.m4: New files.
89204 2007-03-23  Eric Blake  <ebb9@byu.net>
89206         * gnulib-tool: Rearrange space-tab sequences, since some editors
89207         like to eat them.
89209 2007-03-23  Eric Blake  <ebb9@byu.net>
89211         * lib/version-etc.c (version_etc_va): Update license wording to
89212         be more concise.  Recommended by Richard Stallman.
89214 2007-03-22  Bruno Haible  <bruno@clisp.org>
89216         * lib/poll.c (MSG_PEEK): New fallback definition.
89218 2007-03-22  Bruno Haible  <bruno@clisp.org>
89220         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
89221         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
89222         (main): Update.
89223         Fixes a compilation error on BeOS.
89225 2007-03-22  Bruno Haible  <bruno@clisp.org>
89227         * modules/frexpl-tests: New file.
89228         * tests/test-frexpl.c: New file.
89230         * modules/frexpl: New file.
89231         * m4/frexpl.m4: New file.
89232         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
89233         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
89234         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
89235         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
89236         (Depends-on): Add frexpl. Remove isnanl-nolibm.
89237         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
89239 2007-03-22  Bruno Haible  <bruno@clisp.org>
89241         * lib/frexpl.c: Share code with lib/frexp.c.
89242         * modules/mathl (Files): Add lib/frexp.c.
89243         (Depends-on): Add isnanl-nolibm.
89245 2007-03-22  Bruno Haible  <bruno@clisp.org>
89247         * modules/printf-frexp (Files): Add m4/frexp.m4.
89248         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
89249         only if the found frexp function actually works.
89251 2007-03-22  Bruno Haible  <bruno@clisp.org>
89253         * lib/frexp.c: Remove older implementation that uses divisions.
89255 2007-03-21  Bruno Haible  <bruno@clisp.org>
89257         * modules/frexp-tests: New file.
89258         * tests/test-frexp.c: New file.
89260         * modules/frexp: New file.
89261         * lib/frexp.c: New file.
89262         * m4/frexp.m4: New file.
89263         * lib/math_.h (frexp): New declaration.
89264         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
89265         REPLACE_FREXP.
89266         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
89268 2007-03-21  Bruno Haible  <bruno@clisp.org>
89270         * modules/isnanl-tests: New file.
89271         * tests/test-isnanl.c: New file.
89273         * modules/isnanl: New file.
89274         * lib/isnanl.h: New file.
89275         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
89276         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
89277         gl_FUNC_ISNANL_WORKS.
89278         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
89279         New macros.
89281 2007-03-21  Bruno Haible  <bruno@clisp.org>
89283         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
89284         lib/isnanl.h.
89285         (Include): Update.
89286         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
89287         * lib/vasnprintf.c: Update.
89288         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
89289         tests/test-isnanl.h, remove tests/test-isnanl.c.
89290         (Makefile.am): Update.
89291         * tests/test-isnanl-nolibm.c: New file.
89292         * tests/test-isnanl.h: New file.
89293         * tests/test-isnanl.c: Remove file.
89295 2007-03-21  Jim Meyering  <jim@meyering.net>
89297         When trying to open ".", treat ESTALE like EACCES.
89298         * lib/savewd.c (savewd_save): Resort to forking not just upon
89299         failure with EACCES, but also when errno is ESTALE.
89301 2007-03-20  Bruno Haible  <bruno@clisp.org>
89303         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
89304         Needed on AIX 5.1. Reported by Matthew Woehlke.
89306 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
89308         Suggestions by Bruno Haible:
89309         * lib/acl-internal.h: Include "gettext.h" rather than rolling
89310         our own.
89311         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
89312         * modules/acl (Depends-on): Add gettext.
89314 2007-03-19  Bruno Haible  <bruno@clisp.org>
89316         * modules/iconvme: Remove file.
89317         * lib/iconvme.h: Remove file.
89318         * lib/iconvme.c: Remove file.
89319         * m4/iconvme.m4: Remove file.
89321 2007-03-19  Bruno Haible  <bruno@clisp.org>
89323         * doc/relocatable-maint.texi: Break long shell script line.
89324         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
89326 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
89328         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
89329         handle file_has_acl.
89330         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
89331         * lib/acl.c: Move header inclusions and related macro defns into
89332         lib/acl-internal.h.
89333         (S_ISLNK): Remove defn, since that's now done for us.
89334         (file_has_acl): Move to lib/file-has-acl.c.
89335         Call acl_trivial if available.  This is the crucial part of the fix.
89336         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
89337         shared within the library.  Rewrite a bit, partly to make it compatible
89338         with the GNU coding style.
89339         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
89340         Remove unnecessary double-quotes.
89341         Don't test for acl_to_text; the build will catch that.
89342         Replace acl_entries if it doesn't exist and it is needed.
89343         Check for -lsec and acl_trivial (as used on Solaris 10).
89344         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
89345         lib/file-has-acl.c.
89346         (Depends-on): Add sys_stat, for S_ISLNK.
89348 2007-03-19  Ben Pfaff  <blp@gnu.org>
89350         * doc/gnulib.texi: Fix typos.
89351         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
89353 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
89355         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
89356         If size is zero here, buf must be zero.
89358 2007-03-19  Simon Josefsson  <simon@josefsson.org>
89360         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
89361         <bruno@clisp.org>.
89363 2007-03-18  Bruno Haible  <bruno@clisp.org>
89365         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
89366         Suggested by Eric Blake.
89368 2007-03-18  Ben Pfaff  <blp@gnu.org>
89370         * doc/relocatable.texi: Recommend using as prefix a directory
89371         that does not exist and will never be created.  Based on
89372         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
89373         and others.
89375 2007-03-17  Bruno Haible  <bruno@clisp.org>
89377         * lib/fchownat.c: Include lchown.h.
89379 2007-03-17  Bruno Haible  <bruno@clisp.org>
89381         Fix endless loop when the given allocated size was > INT_MAX.
89382         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
89383         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
89384         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
89385         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
89386         * lib/sprintf.c (sprintf): Likewise.
89388 2007-03-17  Bruno Haible  <bruno@clisp.org>
89390         * tests/test-argp-2.sh (func_compare): Output a context diff.
89392 2007-03-17  Bruno Haible  <bruno@clisp.org>
89394         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
89395         locale's decimal-point character.
89397 2007-03-17  Bruno Haible  <bruno@clisp.org>
89399         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
89400         before comparing it. Needed because on some platforms (e.g. x86) a
89401         'long double' occupies less bytes than sizeof (long double).
89403 2007-03-17  Bruno Haible  <bruno@clisp.org>
89405         * tests/test-crc.c (main): Make printf statements 64-bit clean.
89406         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
89407         * tests/test-getaddrinfo.c (simple): Likewise.
89408         * tests/test-read-file.c (main): Likewise.
89410 2007-03-17  Bruno Haible  <bruno@clisp.org>
89412         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
89414 2007-03-17  Bruno Haible  <bruno@clisp.org>
89416         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
89417         unused variable.
89419 2007-03-17  Bruno Haible  <bruno@clisp.org>
89421         * tests/test-c-strcasecmp.c: Include c-strcase.h.
89422         * tests/test-c-strncasecmp.c: Likewise.
89424 2007-03-17  Bruno Haible  <bruno@clisp.org>
89426         * modules/stdlib (Depends-on): Add unistd.
89427         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
89428         Needed for MacOS X 10.3.
89430 2007-03-17  Bruno Haible  <bruno@clisp.org>
89432         * lib/unistr/u-strdup.h: Include <stdlib.h>.
89434 2007-03-17  Bruno Haible  <bruno@clisp.org>
89436         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
89438 2007-03-17  Bruno Haible  <bruno@clisp.org>
89440         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
89441         to reflect files copied from gnulib (with or without modifications).
89442         Suggested by Jim Meyering.
89444 2007-03-17  Eric Blake  <ebb9@byu.net>
89446         * NEWS: Document stdlib change from 2007-02-18.
89448 2007-03-17  Jim Meyering  <jim@meyering.net>
89450         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
89451         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
89452         someone uses a name containing shell meta-characters.
89453         Reported by Alfred M. Szmidt.
89455         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
89457 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
89459         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
89460         and copy gettext configuration files only if configure.ac contains
89461         a use of AM_GNU_GETTEXT_VERSION.
89463 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
89465         * build-aux/bootstrap (gnulib_name): New variable.
89466         (gnulib_tool_options): Use it.
89468 2007-03-13  Simon Josefsson  <simon@josefsson.org>
89470         * tests/test-des.c: Use new namespace.
89472 2007-03-15  Bruno Haible  <bruno@clisp.org>
89474         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
89475         Reported by James Youngman <jay@gnu.org>.
89477 2007-03-15  Bruno Haible  <bruno@clisp.org>
89479         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
89480         declared prototype. Needed with cc on OSF/1 5.1.
89482 2007-03-15  Bruno Haible  <bruno@clisp.org>
89484         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
89485         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
89486         (struct gl_list_implementation): Add dispose_fn argument to the
89487         'create_empty', 'create' methods.
89488         (struct gl_list_impl_base): Add field 'dispose_fn'.
89489         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
89490         argument.
89491         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
89492         dispose_fn argument.
89493         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
89494         dispose_fn on the dropped values.
89495         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
89496         dispose_fn argument.
89497         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
89498         dropped values.
89499         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
89500         (gl_tree_remove_node): Call dispose_fn on the dropped value.
89501         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
89502         (gl_tree_remove_node): Call dispose_fn on the dropped value.
89503         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
89504         argument.
89505         (gl_tree_list_free): Call dispose_fn on the dropped values.
89506         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
89507         the dropped values.
89508         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
89509         Add dispose_fn argument.
89510         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
89511         Call dispose_fn on the dropped values.
89512         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
89513         Add dispose_fn argument.
89514         (gl_sublist_create): Initialize the 'dispose_fn' field.
89515         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
89516         * tests/test-array_list.c (main): Update.
89517         * tests/test-carray_list.c (main): Update.
89518         * tests/test-avltree_list.c (main): Update.
89519         * tests/test-rbtree_list.c (main): Update.
89520         * tests/test-avltreehash_list.c (main): Update.
89521         * tests/test-rbtreehash_list.c (main): Update.
89522         * tests/test-linked_list.c (main): Update.
89523         * tests/test-linkedhash_list.c (main): Update.
89524         * tests/test-array_oset.c (main): Update.
89526 2007-03-15  Bruno Haible  <bruno@clisp.org>
89528         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
89529         (gl_oset_create_empty): Add dispose_fn argument.
89530         (struct gl_oset_implementation): Add dispose_fn argument to
89531         'create_empty' method.
89532         (struct gl_oset_impl_base): Add dispose_fn field.
89533         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
89534         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
89535         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
89536         values.
89537         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
89538         (gl_tree_oset_free): Call dispose_fn on the dropped values.
89539         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
89540         dropped value.
89541         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
89542         dropped value.
89543         * tests/test-array_oset.c (main): Update.
89544         * tests/test-avltree_oset.c (main): Update.
89545         * tests/test-rbtree_oset.c (main): Update.
89546         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
89548 2007-03-13  Bruno Haible  <bruno@clisp.org>
89550         * tests/test-stdbool.c (i): Update after last patch.
89552 2007-03-12  Bruno Haible  <bruno@clisp.org>
89554         * lib/quotearg.c: Include <wctype.h> early, before the definition of
89555         the iswprint macro. Needed on Solaris 2.5.1.
89557 2007-03-12  Bruno Haible  <bruno@clisp.org>
89559         * tests/test-printf-frexp.c (main): Declare x as volatile.
89561 2007-03-12  Simon Josefsson  <simon@josefsson.org>
89563         * doc/gnulib.texi (Build robot for gnulib): New section.
89565 2007-03-12  Jim Meyering  <jim@meyering.net>
89567         * build-aux/bootstrap: New file.
89568         * build-aux/bootstrap.conf: New file, from coreutils.
89570 2007-03-11  Bruno Haible  <bruno@clisp.org>
89572         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
89574 2007-03-12  Simon Josefsson  <simon@josefsson.org>
89576         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
89577         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
89578         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
89580 2007-03-11  Bruno Haible  <bruno@clisp.org>
89582         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
89583         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
89585 2007-03-11  Bruno Haible  <bruno@clisp.org>
89587         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
89588         formula. Needed for SunPRO C 5.0.
89590 2007-03-11  Bruno Haible  <bruno@clisp.org>
89592         * modules/long-options (Depends-on): Add getopt.
89594 2007-03-11  Bruno Haible  <bruno@clisp.org>
89596         * modules/modechange (Depends-on): Add stdbool.
89598 2007-03-11  Bruno Haible  <bruno@clisp.org>
89600         * modules/i-ring (Depends-on): Add stdbool.
89602 2007-03-11  Bruno Haible  <bruno@clisp.org>
89604         * modules/gc-des (Depends-on): Add stdbool.
89606 2007-03-11  Bruno Haible  <bruno@clisp.org>
89608         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
89610 2007-03-11  Bruno Haible  <bruno@clisp.org>
89612         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
89614 2007-03-11  Bruno Haible  <bruno@clisp.org>
89616         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
89618 2007-03-11  Bruno Haible  <bruno@clisp.org>
89620         * lib/vasnprintf.c (sprintf): Undefine.
89622 2007-03-11  Bruno Haible  <bruno@clisp.org>
89624         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
89625         initializers in SunPRO C and Compaq C compilers.
89627 2007-03-11  Bruno Haible  <bruno@clisp.org>
89629         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
89630         decrementing code ANSI C compliant.
89632 2007-03-11  Bruno Haible  <bruno@clisp.org>
89634         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
89635         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
89637 2007-03-11  Bruno Haible  <bruno@clisp.org>
89639         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
89640         <stdbool.h> substitute doesn't pass.
89642 2007-03-11  Bruno Haible  <bruno@clisp.org>
89644         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
89646 2007-03-11  Bruno Haible  <bruno@clisp.org>
89648         * gnulib-tool (func_create_megatestdir): Create also an autobuild
89649         script, for submission to autobuild.josefsson.org.
89651 2007-03-10  Bruno Haible  <bruno@clisp.org>
89653         * modules/canonicalize-lgpl-tests: New file.
89654         * tests/test-canonicalize-lgpl.sh: New file.
89655         * tests/test-canonicalize-lgpl.c: New file.
89657         * modules/c-strcase-tests: New file.
89658         * tests/test-c-strcase.sh: New file.
89659         * tests/test-c-strcasecmp.c: New file.
89660         * tests/test-c-strncasecmp.c: New file.
89662         * modules/atexit-tests: New file.
89663         * tests/test-atexit.sh: New file.
89664         * tests/test-atexit.c: New file.
89666 2007-03-10  Bruno Haible  <bruno@clisp.org>
89668         * tests/test-binary-io.sh: Use temporary filenames that are not so
89669         likely to clash with those of other tests (in a parallel make).
89670         * tests/test-binary-io.c: Likewise.
89672 2007-03-10  Bruno Haible  <bruno@clisp.org>
89674         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
89675         fallback; use #error instead.
89676         Suggested by Simon Josefsson.
89678 2007-03-10  Bruno Haible  <bruno@clisp.org>
89680         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
89681         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
89682         first and the last.
89684 2007-03-10  Bruno Haible  <bruno@clisp.org>
89686         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
89688 2007-03-10  Bruno Haible  <bruno@clisp.org>
89690         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
89691         "make distcheck".
89692         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
89693         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
89694         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
89696 2007-03-10  Bruno Haible  <bruno@clisp.org>
89698         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
89699         variable.
89700         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
89701         variable.
89703 2007-03-09  Eric Blake  <ebb9@byu.net>
89704         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
89706         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
89707         types are not being provided by gnulib.
89708         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
89709         types are supported.
89711 2007-03-10  Bruno Haible  <bruno@clisp.org>
89713         * lib/stdio_.h (__attribute__): New macro.
89714         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
89715         vsprintf): Specify __attribute__ __format__ for GCC.
89716         Suggested by Eric Blake.
89718 2007-03-09  Bruno Haible  <bruno@clisp.org>
89720         * modules/printf-posix-tests: New file.
89721         * tests/test-printf-posix.sh: New file.
89722         * tests/test-printf-posix.c: New file.
89724         * modules/printf-posix: New file.
89725         * lib/printf.c: New file.
89726         * m4/printf-posix-rpl.m4: New file.
89727         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
89728         REPLACE_PRINTF.
89729         * lib/stdio_.h (printf): New declaration.
89730         (format, __format__, ____printf____, ____scanf____, ____strftime____,
89731         ____strfmon____): New macros.
89732         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
89733         REPLACE_PRINTF.
89735 2007-03-09  Bruno Haible  <bruno@clisp.org>
89737         * tests/test-vasnprintf-posix2.sh: New file.
89738         * tests/test-vasnprintf-posix2.c: New file.
89739         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
89740         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
89741         (Makefile.am): Activate test-vasnprintf-posix2.sh.
89743         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
89744         a locale dependent decimal point, rather than always '.'.
89746 2007-03-09  Eric Blake  <ebb9@byu.net>
89748         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
89749         spite of platforms like Tandem/NSK that define it to -1.
89751 2007-03-08  Bruno Haible  <bruno@clisp.org>
89753         * modules/vprintf-posix-tests: New file.
89754         * tests/test-vprintf-posix.sh: New file.
89755         * tests/test-vprintf-posix.c: New file.
89756         * tests/test-printf-posix.h: New file.
89758         * modules/vprintf-posix: New file.
89759         * lib/vprintf.c: New file.
89760         * m4/vprintf-posix.m4: New file.
89761         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
89762         REPLACE_VPRINTF.
89763         * lib/stdio_.h (vprintf): New declaration.
89764         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
89765         REPLACE_VPRINTF.
89767 2007-03-08  Bruno Haible  <bruno@clisp.org>
89769         * modules/fprintf-posix-tests: New file.
89770         * tests/test-fprintf-posix.sh: New file.
89771         * tests/test-fprintf-posix.c: New file.
89773         * modules/fprintf-posix: New file.
89774         * lib/fprintf.c: New file.
89775         * m4/fprintf-posix.m4: New file.
89776         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
89777         REPLACE_FPRINTF.
89778         * lib/stdio_.h (fprintf): New declaration.
89779         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
89780         REPLACE_FPRINTF.
89782 2007-03-08  Bruno Haible  <bruno@clisp.org>
89784         * modules/vfprintf-posix-tests: New file.
89785         * tests/test-vfprintf-posix.sh: New file.
89786         * tests/test-vfprintf-posix.c: New file.
89787         * tests/test-fprintf-posix.h: New file.
89788         * tests/test-fprintf-posix.out: New file.
89790         * modules/vfprintf-posix: New file.
89791         * lib/vfprintf.c: New file.
89792         * m4/vfprintf-posix.m4: New file.
89793         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
89794         REPLACE_VFPRINTF.
89795         * lib/stdio_.h (vfprintf): New declaration.
89796         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
89797         REPLACE_VFPRINTF.
89799 2007-03-08  Bruno Haible  <bruno@clisp.org>
89801         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
89803 2007-03-08  Bruno Haible  <bruno@clisp.org>
89805         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
89806         instead of 'expr' invocations.
89807         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
89808         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
89809         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
89810         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
89811         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
89812         Suggested by Paul Eggert.
89814 2007-03-08  Bruno Haible  <bruno@clisp.org>
89816         * modules/fseterr-tests: New file.
89817         * tests/test-fseterr.c: New file.
89819         * modules/fseterr: New file.
89820         * lib/fseterr.h: New file.
89821         * lib/fseterr.c: New file.
89823 2007-03-08  Bruno Haible  <bruno@clisp.org>
89825         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
89826         * lib/getopt_.h: Likewise.
89827         * lib/mbswidth.h: Likewise.
89828         * lib/setenv.h: Likewise.
89829         * lib/vasnprintf.h: Likewise.
89830         * lib/vasprintf.h: Likewise.
89831         * lib/verror.h: Likewise.
89832         * lib/xsetenv.h: Likewise.
89833         * lib/xvasprintf.h: Likewise.
89835 2007-03-08  Jim Meyering  <jim@meyering.net>
89837         * users.txt: Add parted.
89839         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
89841 2007-03-07  Bruno Haible  <bruno@clisp.org>
89843         * m4/printf.m4: Make the shell script snippets copy&pastable.
89845 2007-03-02  Bruno Haible  <bruno@clisp.org>
89847         * lib/netinet_in_.h: New file.
89848         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
89849         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
89850         * modules/netinet_in (Files): Add lib/netinet_in_.h.
89851         (Depends-on): Add absolute-header.
89852         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
89853         into netinet/in.h.
89855 2007-03-03  Bruno Haible  <bruno@clisp.org>
89857         * lib/sys_select_.h: New file.
89858         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
89859         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
89860         * modules/sys_select (Files): Add lib/sys_select_.h.
89861         (Depends-on): Add absolute-header.
89862         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
89863         into sys/select.h.
89865 2007-03-02  Bruno Haible  <bruno@clisp.org>
89867         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
89868         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
89869         values.
89870         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
89871         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
89872         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
89873         * modules/sys_socket (Depends-on): Add absolute-header.
89874         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
89875         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
89876         (Include): Remove requirement of inclusion of <sys/types.h>.
89878 2007-03-02  Bruno Haible  <bruno@clisp.org>
89880         * lib/byteswap_.h (bswap_32): Fix formula.
89882 2007-03-06  Bruno Haible  <bruno@clisp.org>
89884         * modules/sprintf-posix-tests: New file.
89885         * tests/test-sprintf-posix.c: New file.
89887         * modules/sprintf-posix: New file.
89888         * lib/sprintf.c: New file.
89889         * m4/sprintf-posix.m4: New file.
89890         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
89891         REPLACE_SPRINTF.
89892         * lib/stdio_.h (sprintf): New declaration.
89893         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
89894         REPLACE_SPRINTF.
89896 2007-03-06  Bruno Haible  <bruno@clisp.org>
89898         * modules/vsprintf-posix-tests: New file.
89899         * tests/test-vsprintf-posix.c: New file.
89900         * tests/test-sprintf-posix.h: New file.
89902         * modules/vsprintf-posix: New file.
89903         * lib/vsprintf.c: New file.
89904         * m4/vsprintf-posix.m4: New file.
89905         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
89906         REPLACE_VSPRINTF.
89907         * lib/stdio_.h (vsprintf): New declaration.
89908         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
89909         REPLACE_VSPRINTF.
89911 2007-03-06  Bruno Haible  <bruno@clisp.org>
89913         * modules/vsnprintf (Depend-on): Remove minmax.
89915 2007-03-06  Bruno Haible  <bruno@clisp.org>
89917         * modules/snprintf-posix-tests: New file.
89918         * tests/test-snprintf-posix.c: New file.
89920         * modules/snprintf-posix: New file.
89921         * m4/snprintf-posix.m4: New file.
89922         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
89923         gl_FUNC_SNPRINTF.
89924         (gl_FUNC_SNPRINTF): Invoke it.
89925         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
89926         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
89927         is set.
89928         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
89930 2007-03-06  Bruno Haible  <bruno@clisp.org>
89932         * modules/vsnprintf-posix-tests: New file.
89933         * tests/test-vsnprintf-posix.c: New file.
89934         * tests/test-snprintf-posix.h: New file.
89936         * modules/vsnprintf-posix: New file.
89937         * m4/vsnprintf-posix.m4: New file.
89938         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
89939         gl_FUNC_VSNPRINTF.
89940         (gl_FUNC_VSNPRINTF): Invoke it.
89941         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
89942         * lib/stdio_.h (vsnprintf): Define as a replacement if
89943         REPLACE_VSNPRINTF is set.
89944         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
89946 2007-03-06  Bruno Haible  <bruno@clisp.org>
89948         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
89949         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
89951 2007-03-06  Bruno Haible  <bruno@clisp.org>
89953         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
89954         (asinl): Declare also if HAVE_DECL_ASINL is set.
89955         (atanl): Declare also if HAVE_DECL_ATANL is set.
89956         (ceill): Declare also if HAVE_DECL_CEILL is set.
89957         (cosl): Declare also if HAVE_DECL_COSL is set.
89958         (expl): Declare also if HAVE_DECL_EXPL is set.
89959         (floorl): Declare also if HAVE_DECL_FLOORL is set.
89960         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
89961         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
89962         (logl): Declare also if HAVE_DECL_LOGL is set.
89963         (sinl): Declare also if HAVE_DECL_SINL is set.
89964         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
89965         (tanl): Declare also if HAVE_DECL_TANL is set.
89966         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
89967         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
89968         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
89969         declaration of frexpl, ldexpl.
89970         * modules/printf-frexpl (Depends-on): Add math.
89971         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
89973 2007-03-05  Bruno Haible  <bruno@clisp.org>
89975         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
89976         frexpl and ldexpl are declared.
89977         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
89979 2007-03-05  Bruno Haible  <bruno@clisp.org>
89981         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
89982         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
89984 2007-03-05  Bruno Haible  <bruno@clisp.org>
89986         * lib/stdio_.h: Include <stddef.h>.
89988 2007-03-05  Bruno Haible  <bruno@clisp.org>
89990         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
89992 2007-03-05  Bruno Haible  <bruno@clisp.org>
89994         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
89995         NetBSD 4, from Ralf Wildenhues.
89997 2007-03-04  Bruno Haible  <bruno@clisp.org>
89999         * lib/vasprintf.h: Update #if logic for the case when the functions
90000         exist but are overridden.
90002 2007-03-04  Bruno Haible  <bruno@clisp.org>
90004         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
90005         implementations: glibc-2.4 and MacOS X 10.3.
90006         * tests/test-vasnprintf-posix.c (test_function): Test also the case
90007         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
90008         * tests/test-vasprintf-posix.c (test_function): Likewise.
90010 2007-03-04  Bruno Haible  <bruno@clisp.org>
90012         * modules/vasprintf-posix-tests: New file.
90013         * tests/test-vasprintf-posix.c: New file.
90015         * modules/vasprintf-posix: New file.
90016         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
90017         defined.
90018         * m4/vasprintf-posix.m4: New file.
90019         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
90020         gl_FUNC_VASPRINTF.
90021         (gl_FUNC_VASPRINTF): Invoke it.
90022         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
90023         here.
90024         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
90026 2007-03-04  Bruno Haible  <bruno@clisp.org>
90028         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
90029         REPLACE_GETTIMEOFDAY.
90030         * modules/sys_time (Makefile.am): Likewise.
90031         * m4/sys_time_h.m4: Likewise.
90032         * m4/gettimeofday.m4: Likewise.
90034 2007-03-04  Bruno Haible  <bruno@clisp.org>
90036         * modules/vasnprintf-posix-tests: New file.
90037         * tests/test-vasnprintf-posix.c: New file.
90039         * modules/vasnprintf-posix: New file.
90040         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
90041         printf-frexpl.h.
90042         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
90043         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
90044         REPLACE_VASNPRINTF is defined.
90045         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
90046         gl_FUNC_VASNPRINTF.
90047         (gl_FUNC_VASNPRINTF): Invoke it.
90048         * m4/vasnprintf-posix.m4: New file.
90049         * m4/printf.m4: New file.
90051 2007-03-04  Bruno Haible  <bruno@clisp.org>
90053         Compile progreloc.c only if --enable-relocatable is specified.
90054         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
90055         if --enable-relocatable was specified.
90056         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
90057         lib_SOURCES.
90059 2007-03-04  Jim Meyering  <jim@meyering.net>
90061         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
90062         Use it consistently, rather than enumerating errno constants.
90064 2007-03-04  Bruno Haible  <bruno@clisp.org>
90066         * modules/xvasprintf-tests: New file.
90067         * tests/test-xvasprintf.c: New file.
90069         * modules/vasprintf-tests: New file.
90070         * tests/test-vasprintf.c: New file.
90072         * modules/vasnprintf-tests: New file.
90073         * tests/test-vasnprintf.c: New file.
90075         * modules/vsnprintf-tests: New file.
90076         * tests/test-vsnprintf.c: New file.
90078         * modules/snprintf-tests: New file.
90079         * tests/test-snprintf.c: New file.
90081 2007-03-04  Bruno Haible  <bruno@clisp.org>
90083         Compile relocatable.c only if --enable-relocatable is specified.
90084         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
90085         gl_RELOCATABLE_LIBRARY.
90086         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
90087         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
90088         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
90089         gl_RELOCATABLE_LIBRARY.
90090         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
90091         (Makefile.am): Remove lib_SOURCES.
90092         * modules/relocatable-lib-lgpl (configure.ac): Invoke
90093         gl_RELOCATABLE_LIBRARY.
90094         (Makefile.am): Remove lib_SOURCES.
90095         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
90096         always.
90097         * modules/relocatable-prog-wrapper (configure.ac): Invoke
90098         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
90100 2007-03-04  Bruno Haible  <bruno@clisp.org>
90102         * modules/argmatch-tests: New file.
90103         * tests/test-argmatch.c: New file.
90105         * tests/test-allocsa.c (main): Halve the number of loop runs.
90107         * modules/alloca-opt-tests: New file.
90108         * tests/test-alloca-opt.c: New file.
90110 2007-03-04  Jim Meyering  <jim@meyering.net>
90112         Work around difference between Linux ACLs and Solaris 10 ZFS.
90113         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
90114         for EINVAL.
90116 2007-03-03  Bruno Haible  <bruno@clisp.org>
90118         * modules/relocatable-prog (Depends-on): Add back progreloc's
90119         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
90121 2007-03-03  Bruno Haible  <bruno@clisp.org>
90123         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
90124         * modules/relocatable-lib: New file.
90126 2007-03-03  Bruno Haible  <bruno@clisp.org>
90128         * modules/relocatable-prog: Renamed from modules/relocatable.
90129         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
90131 2007-03-03  Bruno Haible  <bruno@clisp.org>
90133         * modules/relocatable-script (Files): Add doc/relocatable.texi,
90134         m4/relocatable-lib.m4.
90135         (Depends-on): Remove 'relocatable'.
90136         (configure.ac): Add gl_RELOCATABLE_NOP.
90138 2007-03-03  Bruno Haible  <bruno@clisp.org>
90140         * modules/relocatable-prog-wrapper: New file.
90141         * modules/relocatable (Depends-on): Add it. Remove all other
90142         dependencies except progname.
90143         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
90145         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
90146         (gl_FUNC_STRERROR): Nop.
90147         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
90149         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
90150         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
90152         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
90153         (gl_FUNC_READLINK): Update.
90155         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
90157 2007-03-03  Bruno Haible  <bruno@clisp.org>
90159         * lib/xreadlink.c: Include <unistd.h> unconditionally.
90160         * modules/xreadlink (Depends-on): Add unistd.
90161         * modules/xreadlink-with-size (Depends-on): Likewise.
90163 2007-03-03  Bruno Haible  <bruno@clisp.org>
90165         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
90166         extracted from gt_FUNC_SETENV.
90167         (gt_FUNC_SETENV): Remove macro.
90168         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
90169         remove gt_FUNC_SETENV.
90171 2007-03-03  Bruno Haible  <bruno@clisp.org>
90173         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
90174         ENABLE_RELOCATABLE here.
90175         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
90177 2007-03-03  Bruno Haible  <bruno@clisp.org>
90179         * modules/rbtreehash-list-tests (Depends-on): Add progname.
90180         * tests/test-rbtreehash_list.c: Include progname.h.
90181         (main): Call set_program_name.
90183         * modules/rbtree-oset-tests (Depends-on): Add progname.
90184         * tests/test-rbtree_oset.c: Include progname.h.
90185         (main): Call set_program_name.
90187         * modules/rbtree-list-tests (Depends-on): Add progname.
90188         * tests/test-rbtree_list.c: Include progname.h.
90189         (main): Call set_program_name.
90191         * modules/linked-list-tests (Depends-on): Add progname.
90192         * tests/test-linked_list.c: Include progname.h.
90193         (main): Call set_program_name.
90195 2007-03-03  Bruno Haible  <bruno@clisp.org>
90197         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
90198         All uses of __restrict changed to _Restrict_.
90199         * lib/glob_.h (__restrict): Remove macro.
90201 2007-03-02  Bruno Haible  <bruno@clisp.org>
90203         * modules/gettext (configure.ac): Require gettext infrastructure
90204         from version 0.16.1.
90206 2007-03-02  Bruno Haible  <bruno@clisp.org>
90208         * modules/linkedhash-list-tests (Depends-on): Add progname.
90209         * tests/test-linkedhash_list.c: Include progname.h.
90210         (main): Call set_program_name.
90212         * modules/carray-list-tests (Depends-on): Add progname.
90213         * tests/test-carray_list.c: Include progname.h.
90214         (main): Call set_program_name.
90216         * modules/avltreehash-list-tests (Depends-on): Add progname.
90217         * tests/test-avltreehash_list.c: Include progname.h.
90218         (main): Call set_program_name.
90220         * modules/avltree-oset-tests (Depends-on): Add progname.
90221         * tests/test-avltree_oset.c: Include progname.h.
90222         (main): Call set_program_name.
90224         * modules/avltree-list-tests (Depends-on): Add progname.
90225         * tests/test-avltree_list.c: Include progname.h.
90226         (main): Call set_program_name.
90228         * modules/array-oset-tests (Depends-on): Add progname.
90229         * tests/test-array_oset.c: Include progname.h.
90230         (main): Call set_program_name.
90232         * modules/array-list-tests (Depends-on): Add progname.
90233         * tests/test-array_list.c: Include progname.h.
90234         (main): Call set_program_name.
90236         * modules/argp-tests (Depends-on): Add progname.
90237         * tests/test-argp.c: Include argp.h first. Include progname.h.
90238         (main): Call set_program_name.
90240 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
90242         * doc/gnulib-tool.texi (Initial import): Reword description of
90243         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
90244         limited effect even if defined after the first system include.
90246 2007-03-01  Bruno Haible  <bruno@clisp.org>
90248         * build-aux/config.libpath: Update to libtool-1.5.22.
90249         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
90251 2007-03-01  Bruno Haible  <bruno@clisp.org>
90253         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
90254         foo_CFLAGS.
90255         Reported by Ralf Wildenhues.
90257 2007-03-01  Bruno Haible  <bruno@clisp.org>
90259         * build-aux/install-reloc: Remove object files left over by some
90260         compilers.
90261         Reported by Ralf Wildenhues.
90263 2007-03-01  Bruno Haible  <bruno@clisp.org>
90265         * build-aux/install-reloc: Break long lines.
90267 2007-03-01  Bruno Haible  <bruno@clisp.org>
90269         * doc/relocatable.texi: Document that it may not work on OpenBSD.
90270         Reported by Ralf Wildenhues.
90272 2007-03-01  Bruno Haible  <bruno@clisp.org>
90274         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
90275         include ordering constraints.
90277 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
90279         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
90280         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00136.html>.
90281         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
90282         as another example.
90283         * lib/time_.h: Fix misspelling.
90284         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
90285         Require gl_HEADER_TIME_H_DEFAULTS.
90286         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
90287         * m4/time_r.m4 (gl_TIME_R): Likewise.
90288         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
90290 2007-03-01  Bruno Haible  <bruno@clisp.org>
90292         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
90293         * m4/utimens.m4 (gl_UTIMENS): Likewise.
90295 2007-03-01  Jim Meyering  <jim@meyering.net>
90297         * modules/xreadlink (Maintainer): Add my name.
90298         * modules/xreadlink-with-size (Depends-on): Alphabetize.
90300 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
90301             Bruno Haible  <bruno@clisp.org>
90303         * build-aux/install-reloc: Compile also c-ctype.c.
90304         * build-aux/relocatable.sh.in: New file.
90305         * doc/relocatable.texi: New file.
90306         * doc/relocatable-maint.texi: New file.
90307         * doc/gnulib.texi: Include relocatable-maint.texi.
90308         * lib/progreloc.c: Include unistd.h unconditionally.
90309         * lib/relocwrapper.c: Include unistd.h unconditionally.
90310         Include c-ctype.h.
90311         (add_dotbin): Use c_tolower.
90312         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
90313         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
90314         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
90315         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
90316         to m4/relocatable-lib.m4.
90317         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
90318         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
90319         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
90320         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
90321         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
90322         * modules/relocatable: New file.
90323         * modules/relocatable-lib: New file.
90324         * modules/relocatable-script: New file.
90326 2007-02-28  Bruno Haible  <bruno@clisp.org>
90328         Import --enable-relocatable infrastructure.
90329         * build-aux/config.libpath: New file, from GNU gettext.
90330         * build-aux/install-reloc: New file, from GNU gettext.
90331         * build-aux/reloc-ldflags: New file, from GNU gettext.
90332         * lib/relocatable.h: New file, from GNU gettext.
90333         * lib/relocatable.c: New file, from GNU gettext.
90334         * lib/relocwrapper.c: New file, from GNU gettext.
90335         * m4/relocatable.m4: New file, from GNU gettext.
90337 2007-02-28  Bruno Haible  <bruno@clisp.org>
90339         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
90341         * modules/xreadlink: New file, from GNU gettext with modifications.
90342         * lib/xreadlink.c: New file, from GNU gettext.
90343         * lib/xreadlink.h: Add comments.
90344         (xreadlink): New declaration.
90346         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
90347         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
90348         lib/xreadlink-with-size.c.
90349         (configure.ac): Remove gl_XREADLINK invocation.
90350         (Makefile.am): Augment lib_SOURCES.
90351         * m4/xreadlink.m4: Remove file.
90352         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
90353         (xreadlink_with_size): Renamed from xreadink.
90354         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
90355         * modules/canonicalize (Depends-on): Replace xreadlink with
90356         xreadlink-with-size.
90357         * lib/canonicalize.c (canonicalize_filename_mode): Update.
90359 2007-02-25  Jim Meyering  <jim@meyering.net>
90361         * build-aux/announce-gen: When complaining about excess arguments,
90362         list them.
90364 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
90366         * README: Document signed integer overflow situation more
90367         accurately.
90369 2007-02-25  Bruno Haible  <bruno@clisp.org>
90371         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
90372         'a' or 'A' conversion.
90374 2007-02-25  Bruno Haible  <bruno@clisp.org>
90376         * modules/filename: Renamed from modules/pathname.
90377         (Files): Replace lib/pathname.h with lib/filename.h. Replace
90378         lib/concatpath.c with lib/concat-filename.c.
90379         (Makefile.am): Update.
90380         (Include): Replace pathname.h with filename.h.
90381         * lib/filename.h: Renamed from lib/pathname.h.
90382         (concatenated_filename): Renamed from concatenated_pathname.
90383         * lib/concat-filename.c: Renamed from lib/concatpath.c.
90384         (concatenated_filename): Renamed from concatenated_pathname.
90385         * lib/findprog.c: Include filename.h instead of pathname.h.
90386         (find_in_path): Update.
90387         * lib/javacomp.c: Include filename.h instead of pathname.h.
90388         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
90389         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
90390         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
90391         is_oldgcj_14_13_usable, is_javac_usable): Update.
90392         * lib/javaexec.c: Include filename.h instead of pathname.h.
90393         (execute_java_class): Update.
90394         * modules/findprog: Update.
90395         * modules/javacomp: Update.
90396         * modules/javaexec: Update.
90397         * MODULES.html.sh (File system functions): Add 'filename', remove
90398         'pathname'.
90400 2007-02-25  Bruno Haible  <bruno@clisp.org>
90402         * modules/printf-frexpl-tests: New file.
90403         * tests/test-printf-frexpl.c: New file.
90405         * modules/printf-frexpl: New file.
90406         * lib/printf-frexpl.h: New file.
90407         * lib/printf-frexpl.c: New file.
90408         * m4/printf-frexpl.m4: New file.
90410 2007-02-25  Bruno Haible  <bruno@clisp.org>
90412         * modules/printf-frexp-tests: New file.
90413         * tests/test-printf-frexp.c: New file.
90415         * modules/printf-frexp: New file.
90416         * lib/printf-frexp.h: New file.
90417         * lib/printf-frexp.c: New file.
90418         * m4/printf-frexp.m4: New file.
90420 2007-02-25  Bruno Haible  <bruno@clisp.org>
90422         Assume automake >= 1.10 for the tests.
90423         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
90424         * modules/arctwo-tests: Likewise.
90425         * modules/argp-tests: Likewise.
90426         * modules/avltree-list-tests: Likewise.
90427         * modules/avltree-oset-tests: Likewise.
90428         * modules/avltreehash-list-tests: Likewise.
90429         * modules/carray-list-tests: Likewise.
90430         * modules/crc-tests: Likewise.
90431         * modules/des-tests: Likewise.
90432         * modules/gc-arcfour-tests: Likewise.
90433         * modules/gc-arctwo-tests: Likewise.
90434         * modules/gc-des-tests: Likewise.
90435         * modules/gc-hmac-md5-tests: Likewise.
90436         * modules/gc-hmac-sha1-tests: Likewise.
90437         * modules/gc-md2-tests: Likewise.
90438         * modules/gc-md4-tests: Likewise.
90439         * modules/gc-md5-tests: Likewise.
90440         * modules/gc-pbkdf2-sha1-tests: Likewise.
90441         * modules/gc-rijndael-tests: Likewise.
90442         * modules/gc-sha1-tests: Likewise.
90443         * modules/gc-tests: Likewise.
90444         * modules/getaddrinfo-tests: Likewise.
90445         * modules/hmac-md5-tests: Likewise.
90446         * modules/hmac-sha1-tests: Likewise.
90447         * modules/linked-list-tests: Likewise.
90448         * modules/linkedhash-list-tests: Likewise.
90449         * modules/lock-tests: Likewise.
90450         * modules/md2-tests: Likewise.
90451         * modules/md4-tests: Likewise.
90452         * modules/md5-tests: Likewise.
90453         * modules/rbtree-list-tests: Likewise.
90454         * modules/rbtree-oset-tests: Likewise.
90455         * modules/rbtreehash-list-tests: Likewise.
90456         * modules/read-file-tests: Likewise.
90457         * modules/rijndael-tests: Likewise.
90458         * modules/stdint-tests: Likewise.
90459         * modules/tls-tests: Likewise.
90461 2007-02-24  Bruno Haible  <bruno@clisp.org>
90463         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
90464         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
90465         function; instead check whether isnan with a double argument links.
90466         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
90467         function; instead check whether isnan with a 'long double' argument
90468         links.
90469         Reported by Eric Blake <ebb9@byu.net>.
90471 2007-02-24  Bruno Haible  <bruno@clisp.org>
90473         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
90474         defined.
90475         * lib/isnanl.c: Remove all code. Just include isnan.c.
90476         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
90478 2007-02-25  Jim Meyering  <jim@meyering.net>
90480         Avoid conflicting types for 'unsetenv' on FreeBSD.
90481         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
90482         conflicting with FreeBSD's (5.0 and 6.1) function declaration
90483         in stdlib.h.
90485 2007-02-24  Bruno Haible  <bruno@clisp.org>
90487         * modules/isnanl-nolibm-tests: New file.
90488         * tests/test-isnanl.c: New file.
90490         * modules/isnanl-nolibm: New file.
90491         * lib/isnanl.h: New file.
90492         * lib/isnanl.c: New file.
90493         * m4/isnanl.m4: New file.
90495 2007-02-24  Bruno Haible  <bruno@clisp.org>
90497         * modules/isnan-nolibm-tests: New file.
90498         * tests/test-isnan.c: New file.
90500         * modules/isnan-nolibm: New file.
90501         * lib/isnan.h: New file.
90502         * lib/isnan.c: New file.
90503         * m4/isnan.m4: New file.
90505 2007-02-24  Bruno Haible  <bruno@clisp.org>
90507         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
90508         assume that an exponent fits in 20 bits.
90510 2007-02-24  Jim Meyering  <jim@meyering.net>
90512         * m4/regex.m4: Update the description of the configure-time option,
90513         --without-included-regex, to state accurately what the defaults are,
90514         and perhaps to give people an idea why using this option is risky.
90516 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
90518         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
90519         loops on small arguments.  This attempts to avoid the problem
90520         Bruno Haible reported for AIX 4.3.2 in
90521         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00309.html>.
90523 2007-02-23  Bruno Haible  <bruno@clisp.org>
90525         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
90526         Needed for help2man.
90528 2007-02-23  Karl Berry  <karl@gnu.org>
90530         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
90531         exists, foo.h should be cvs-ignored, not committed.
90533 2007-02-23  Eric Blake  <ebb9@byu.net>
90535         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
90536         * lib/stat-time.h (includes): Likewise.
90537         * lib/utimecmp.c (includes): Likewise.
90538         * lib/utimens.h (includes): Likewise.
90539         * lib/getdate.y (includes): Also include "timespec.h" for use
90540         internal to the module.
90541         * modules/utimens (Depends-on): Revert yesterday's patch.
90542         * modules/nanosleep (Depends-on): Add missing dependency.
90544 2007-02-22  Bruno Haible  <bruno@clisp.org>
90546         * lib/glob.c: Don't include getlogin_r.h.
90548 2007-02-22  Jim Meyering  <jim@meyering.net>
90550         * modules/utimens (Depends-on): Add timespec, required for
90551         utimens.h's inclusion of timespec.h.
90553 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
90555         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
90556         long unreadable paths in GNU/Linux.  Problem reported by Andreas
90557         Schwab in
90558         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00261.html>.
90559         I'll try to think of a better way to fix the Solaris problem.
90561         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
90562         like glibc; on Solaris 10, it fails with errno == EINVAL.
90563         POSIX says the behavior is unspecified if the first argument is NULL,
90564         so play it safe and never pass NULL to the system getcwd.
90566 2007-02-21  Jim Meyering  <jim@meyering.net>
90568         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
90569         of gettimeofday.  It would conflict with the one now always
90570         provided via sys_time_.h.  Reported by Matthew Woehlke, as
90571         an IRIX 6.5 build failure.
90573 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
90575         Minor fixups to port to Solaris 10 with Sun C 5.8.
90576         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
90577         * modules/getcwd (Depends-on): Add dirfd.
90578         * lib/putenv.c (putenv): #undef it.
90579         (rpl_putenv): New decl.
90580         (malloc, free): Include <stdlib.h> rather than prototyping separately.
90582 2007-02-20  Bruno Haible  <bruno@clisp.org>
90584         * modules/stdio-tests: New file.
90585         * tests/test-stdio.c: New file.
90587         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
90588         (Depends-on): Add stdio.
90589         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
90590         (Include): Use <stdio.h> instead of vsnprintf.h.
90591         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
90592         HAVE_DECL_VSNPRINTF.
90593         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
90595         * modules/snprintf (Files): Remove lib/snprintf.h.
90596         (Depends-on): Add stdio.
90597         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
90598         (Include): Use <stdio.h> instead of snprintf.h.
90599         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
90600         HAVE_DECL_SNPRINTF.
90601         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
90602         * lib/getaddrinfo.c: Likewise.
90604         * modules/stdio: New file.
90605         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
90606         * lib/snprintf.h: Remove file.
90607         * lib/vsnprintf.h: Remove file.
90608         * lib/.cppi-disable: Remove snprintf.h.
90609         * m4/stdio_h.m4: New file.
90610         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
90612 2007-02-20  Jim Meyering  <jim@meyering.net>
90614         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
90615         used by e.g., mingw.  From Bruno Haible.
90617 2007-02-19  Bruno Haible  <bruno@clisp.org>
90619         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
90620         warnings.
90621         Reported by Ben Pfaff <blp@cs.stanford.edu>.
90623 2007-02-19  Bruno Haible  <bruno@clisp.org>
90625         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
90626         from mingw users.
90628 2007-02-19  Bruno Haible  <bruno@clisp.org>
90630         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
90631         warnings.
90632         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
90634 2007-02-19  Jim Meyering  <jim@meyering.net>
90636         Don't use FD after a successful "fdopendir (fd)".
90637         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
90638         Reset it by calling dirfd on the just-obtained DIR*.
90640         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
90641         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
90643 2007-02-18  Bruno Haible  <bruno@clisp.org>
90645         * lib/readlink.c: Include <unistd.h>.
90646         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
90647         HAVE_READLINK.
90648         * modules/readlink (Depends-on): Add unistd.
90649         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90650         (Include): Add <unistd.h>.
90652         * lib/getlogin_r.h: Remove file.
90653         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
90654         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
90655         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
90656         HAVE_DECL_GETLOGIN_R.
90657         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
90658         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90659         (Include): Use <unistd.h> instead of getlogin_r.h.
90661         * lib/getcwd.h: Remove file.
90662         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
90663         * lib/xgetcwd.c: Likewise.
90664         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
90665         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
90666         * modules/getcwd (Files): Remove lib/getcwd.h.
90667         (Depends-on): Add unistd.
90668         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90669         (Include): Use <unistd.h> instad of getcwd.h.
90671         * lib/ftruncate.c: Include <unistd.h> first.
90672         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
90673         Set HAVE_FTRUNCATE.
90674         * modules/ftruncate (Depends-on): Add unistd.
90675         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90677         * lib/fchdir.c: Include <unistd.h> first.
90678         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
90679         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
90680         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
90681         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90682         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
90684         * lib/dup2.c: Include <unistd.h> first.
90685         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
90686         HAVE_DUP2.
90687         * modules/dup2 (Depends-on): Add unistd.
90688         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90690         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
90691         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
90692         REPLACE_CHOWN. Don't define chown as a macro here.
90693         * modules/chown (Depends-on): Add unistd.
90694         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90696         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
90697         Add definition for GL_LINK_WARNING.
90698         (chown, dup2): New declarations.
90699         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
90700         link warning.
90701         (ftruncate): New declaration.
90702         (getcwd): New declaration, taken from old getcwd.h.
90703         (getlogin_r): New declaration, taken from old getlogin_r.h.
90704         (readlink): New declaration.
90705         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
90706         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
90707         (gl_PREREQ_UNISTD): Remove macro.
90708         (gl_UNISTD_MODULE_INDICATOR): New macro.
90709         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
90710         many new variables. Don't set UNISTD_H.
90711         * modules/unistd (Description): Change.
90712         (Depends-on): Add link-warning.
90713         (configure.ac): Update.
90714         (Makefile.am): Create unistd.h always. Substitute many new variables
90715         into it.
90717 2007-02-18  Bruno Haible  <bruno@clisp.org>
90719         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
90720         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
90721         HAVE_GETSUBOPT.
90722         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
90723         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
90724         * lib/getsubopt.h: Remove file.
90725         * modules/getsubopt (Files): Remove lib/getsubopt.h.
90726         (Depends-on): Add stdlib.
90727         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
90728         (Includes): Use <stdlib.h> instead of getsubopt.h.
90729         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
90730         Set HAVE_GETSUBOPT.
90731         * lib/getsubopt.c: Don't include getsubopt.h.
90733 2007-02-18  Bruno Haible  <bruno@clisp.org>
90735         * modules/fchdir (Depends-on): Add dup2.
90737 2007-02-18  Bruno Haible  <bruno@clisp.org>
90739         * lib/stdlib_.h: Handle glibc's special invocation convention
90740         specially.
90742 2007-02-18  Bruno Haible  <bruno@clisp.org>
90744         * modules/stdlib-tests: New file.
90745         * tests/test-stdlib.c: New file.
90747         * modules/mkstemp (Files): Remove lib/mkstemp.h.
90748         (Depends-on): Add stdlib.
90749         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
90750         (Includes): Use <stdlib.h> instead of mkstemp.h.
90751         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
90752         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
90753         * lib/mkstemp.c: Don't include mkstemp.h.
90754         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
90755         * lib/stdlib--.h: Don't include mkstemp.h.
90757         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
90758         (Depends-on): Add stdlib.
90759         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
90760         (Includes): Use <stdlib.h> instead of mkdtemp.h.
90761         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
90762         HAVE_MKDTEMP.
90763         * lib/mkdtemp.c: Don't include mkdtemp.h.
90764         * lib/clean-temp.c: Don't include mkdtemp.h.
90766         * modules/exit (Files): Remove lib/exit.h.
90767         (Depends-on): Add stdlib.
90768         (Makefile.am): Remove lib_SOURCES.
90769         (Include): Use <stdlib.h> instead of exit.h.
90770         * lib/argmatch.c: Don't include exit.h.
90771         * lib/execute.c: Likewise.
90772         * lib/pagealign_alloc.c: Likewise.
90773         * lib/pipe.c: Likewise.
90774         * lib/wait-process.c: Likewise.
90775         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
90776         * lib/exitfail.c: Likewise.
90777         * lib/savewd.c: Likewise.
90778         * lib/xsetenv.c: Likewise.
90780         * modules/stdlib: New file.
90781         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
90782         and extra comments about mkstemp().
90783         * lib/exit.h: Remove file.
90784         * lib/mkdtemp.h: Remove file.
90785         * lib/mkstemp.h: Remove file.
90786         * m4/stdlib_h.m4: New file.
90787         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
90789 2007-02-18  Bruno Haible  <bruno@clisp.org>
90791         * modules/math-tests: New file.
90792         * tests/test-math.c: New file.
90794         * modules/math: New file.
90795         * modules/mathl (Files): Remove lib/mathl.h.
90796         (Depends-on): Add math.
90797         (Makefile.am): Don't mention mathl.h.
90798         (Include): Use <math.h> instead of mathl.h.
90799         * lib/math_.h: New file.
90800         * lib/mathl.h: Remove file.
90801         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
90802         mathl.h.
90803         * lib/asinl.c: Likewise.
90804         * lib/atanl.c: Likewise.
90805         * lib/ceill.c: Likewise.
90806         * lib/cosl.c: Likewise.
90807         * lib/expl.c: Likewise.
90808         * lib/floorl.c: Likewise.
90809         * lib/frexpl.c: Likewise.
90810         * lib/ldexpl.c: Likewise.
90811         * lib/logl.c: Likewise.
90812         * lib/sincosl.c: Likewise.
90813         * lib/sinl.c: Likewise.
90814         * lib/sqrtl.c: Likewise.
90815         * lib/tanl.c: Likewise.
90816         * lib/trigl.c: Likewise.
90817         * m4/math_h.m4: New file.
90818         * MODULES.html.sh (Mathematics): Add math.
90820 2007-02-17  Bruno Haible  <bruno@clisp.org>
90822         * modules/wctype-tests: New file.
90823         * tests/test-wctype.c: New file.
90825         * modules/wchar-tests: New file.
90826         * tests/test-wchar.c: New file.
90828         * modules/unistd-tests: New file.
90829         * tests/test-unistd.c: New file.
90831         * modules/time-tests: New file.
90832         * tests/test-time.c: New file.
90834         * modules/sysexits-tests: New file.
90835         * tests/test-sysexits.c: New file.
90837         * modules/sys_time-tests: New file.
90838         * tests/test-sys_time.c: New file.
90840         * modules/sys_stat-tests: New file.
90841         * tests/test-sys_stat.c: New file.
90843         * modules/sys_socket-tests: New file.
90844         * tests/test-sys_socket.c: New file.
90846         * modules/sys_select-tests: New file.
90847         * tests/test-sys_select.c: New file.
90849         * modules/string-tests: New file.
90850         * tests/test-string.c: New file.
90852         * modules/stdbool-tests: New file.
90853         * tests/test-stdbool.c: New file.
90855         * modules/netinet_in-tests: New file.
90856         * tests/test-netinet_in.c: New file.
90858         * modules/inttypes-tests: New file.
90859         * tests/test-inttypes.c: New file.
90861         * modules/fcntl-tests: New file.
90862         * tests/test-fcntl.c: New file.
90864         * modules/byteswap-tests: New file.
90865         * tests/test-byteswap.c: New file.
90867         * modules/arpa_inet-tests: New file.
90868         * tests/test-arpa_inet.c: New file.
90870 2007-02-17  Bruno Haible  <bruno@clisp.org>
90872         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
90873         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
90874         if the corresponding module is not enabled. Emit link warnings if
90875         the function is used nevertheless.
90876         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
90877         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
90878         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
90879         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
90880         * modules/inttypes (Depends-on): Add link-warning.
90881         (Makefile.am): Copy the contents of build-aux/link-warning.h into
90882         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
90883         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
90884         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
90885         * modules/imaxdiv (configure.ac): Likewise.
90886         * modules/strtoimax (configure.ac): Likewise.
90887         * modules/strtoumax (configure.ac): Likewise.
90889 2007-02-17  Bruno Haible  <bruno@clisp.org>
90891         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
90892         gl_STRING_MODULE_INDICATOR_DEFAULTS.
90893         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
90894         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
90896 2007-02-17  Bruno Haible  <bruno@clisp.org>
90898         * modules/link-warning: New file.
90899         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
90900         * lib/string_.h (GL_LINK_WARNING): Remove definition.
90901         * modules/string (Depends-on): Add link-warning.
90902         (Makefile.am): Copy the contents of build-aux/link-warning.h into
90903         string.h.
90904         * MODULES.html.sh (Support for building libraries and executables): Add
90905         link-warning.
90907 2007-02-17  Bruno Haible  <bruno@clisp.org>
90909         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
90910         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
90911         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
90912         long lines.
90914 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
90915             Bruno Haible  <bruno@clisp.org>
90917         * modules/tmpfile: New file.
90918         * lib/tmpfile.c: New file.
90919         * m4/tmpfile.m4: New file.
90920         * MODULES.html.sh (func_all_modules): New section "Input/output".
90922 2007-02-15  Bruno Haible  <bruno@clisp.org>
90924         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
90925         (supports_delete_on_close): New function.
90926         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
90928 2007-02-14  Bruno Haible  <bruno@clisp.org>
90930         * modules/mbspcasecmp-tests: New file.
90931         * tests/test-mbspcasecmp.sh: New file.
90932         * tests/test-mbspcasecmp.c: New file.
90934         New module mbspcasecmp.
90935         * modules/mbspcasecmp: New file.
90936         * lib/mbspcasecmp.c: New file.
90937         * lib/string_.h (strncasecmp): Change warning message.
90938         (mbspcasecmp): New declaration.
90939         * m4/mbspcasecmp.m4: New file.
90940         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
90941         GNULIB_MBSPCASECMP.
90942         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
90943         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
90945 2007-02-14  Bruno Haible  <bruno@clisp.org>
90947         * modules/mbsncasecmp-tests: New file.
90948         * tests/test-mbsncasecmp.sh: New file.
90949         * tests/test-mbsncasecmp.c: New file.
90951         New module mbsncasecmp.
90952         * modules/mbsncasecmp: New file.
90953         * lib/mbsncasecmp.c: New file.
90954         * lib/string_.h (mbsncasecmp): New declaration.
90955         * m4/mbsncasecmp.m4: New file.
90956         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
90957         GNULIB_MBSNCASECMP.
90958         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
90959         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
90961 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
90963         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
90964         Verify that it doesn't overlap with our flags.
90965         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
90966         do not have the desired effect in multibyte locales; instead, use
90967         mbscasecmp.
90968         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
90969         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
90970         we don't require GNU fnmatch ourselves (if our users require it, they
90971         should do so explicitly).
90973         Fix regex code so it doesn't rely on strcasecmp.
90974         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
90975         Otherwise, include gnulib's langinfo.h.
90976         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
90977         undesirable behavior in non-C locales.  Instead, rely on localecharset.
90978         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
90979         * modules/regex (FILES): Remove m4/codeset.m4.
90980         (Depends-on): Add localcharset.  Remove strcase.
90982 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
90984         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
90985         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
90987 2007-02-13  Bruno Haible  <bruno@clisp.org>
90989         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
90990         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
90992 2007-02-12  Bruno Haible  <bruno@clisp.org>
90994         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
90995         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
90996         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
90997         time warning rather than a link error.
90999 2007-02-12  Bruno Haible  <bruno@clisp.org>
91001         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
91002         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
91003         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
91005 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
91007         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
91008         args, not 2.
91010 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
91012         New module 'time', so that apps can include <time.h> as per
91013         POSIX and GNU instead of separate include files like time_r.h
91014         and timegm.h.  This implementation tries out a simpler approach
91015         for replacing decls in standard include files (as compared to
91016         the string module), somewhat as an experiment.
91018         * config/srclist.txt: Comment out mktime.c for now.
91019         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
91020         since it doesn't apply any more.  Use generic wording instead.
91021         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
91022         'time'.
91023         * lib/time_.h, m4/time_h.m4, modules/time: New files.
91024         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
91025         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
91026         Don't include <sys/types.h>; no longer needed since we assume C89.
91027         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
91028         * lib/strftime.c: Likewise.
91029         * lib/time_r.c: Likewise.
91030         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
91031         * lib/nanosleep.c: Include <time.h> first, to check interface.
91032         * lib/strptime.c: Likewise.
91033         * lib/time_r.c: Likewise.
91034         * lib/timegm.c: Likewise.
91035         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
91036         needed.
91037         * lib/timegm.c: Don't include timegm.h; no longer needed.
91038         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
91039         time.h now handles any problems in that area.
91040         (struct timespec, nanosleep): Remove; time.h now arranges for these.
91041         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
91042         that time.h defines struct timespec.
91043         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
91044         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
91045         handles that.
91046         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
91047         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
91048         needed.  Set REPLACE_LOCALTIME.
91049         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
91050         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
91051         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
91052         nanosleep; time_h.m4 now does that.  Don't require
91053         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
91054         module handles this now.
91055         * modules/getdate (Depends-on): Remove timespec.  Add time.
91056         * modules/nanosleep (Depends-on): Likewise.
91057         * modules/stat-time (Depends-on): Likewise.
91058         * modules/nanosleep (Include): Include time.h, not timespec.h.
91059         * modules/strptime (Files): Remove lib/strptime.h.
91060         (Depends-on): Add extensions, time.
91061         (Include): Include time.h, not strptime.h.
91062         * modules/time_r (Files): Remove lib/time_r.h.
91063         (Depends-on): Add time.
91064         (Include): Include time.h, not time_r.h.
91065         * modules/timegm: Likewise.
91066         * modules/timespec (Description): Now does timespec-related decls
91067         of our own, instead of struct timespec itself.
91068         (Depends-on): Add time; remove extensions.
91069         (Maintainer): Add self.
91070         * modules/utimecmp (Depends-on): Add time; remove timespec.
91071         * modules/utimens (Depends-on): Likewise.
91072         * modules/xnanosleep (Depends-on): Likewise.
91074 2007-02-11  Bruno Haible  <bruno@clisp.org>
91076         * lib/c-strstr.c: Include allocsa.h.
91077         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
91078         * lib/c-strcasestr.c: Include allocsa.h.
91079         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
91080         * lib/strcasestr.c: Include allocsa.h.
91081         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
91082         * lib/mbsstr.c: Include allocsa.h.
91083         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
91084         allocsa/freesa instead of malloc/free.
91085         * lib/mbscasestr.c: Include allocsa.h.
91086         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
91087         allocsa/freesa instead of malloc/free.
91088         * modules/c-strstr (Depends-on): Add allocsa.
91089         * modules/c-strcasestr (Depends-on): Likewise.
91090         * modules/strcasestr (Depends-on): Likewise.
91091         * modules/mbsstr (Depends-on): Likewise.
91092         * modules/mbscasestr (Depends-on): Likewise.
91094 2007-02-11  Bruno Haible  <bruno@clisp.org>
91096         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
91098         * modules/mbsspn-tests: New file.
91099         * tests/test-mbsspn.sh: New file.
91100         * tests/test-mbsspn.c: New file.
91102 2007-02-11  Bruno Haible  <bruno@clisp.org>
91104         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
91106         * modules/mbspbrk-tests: New file.
91107         * tests/test-mbspbrk.sh: New file.
91108         * tests/test-mbspbrk.c: New file.
91110 2007-02-11  Bruno Haible  <bruno@clisp.org>
91112         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
91113         unneeded cast.
91115         * modules/mbscspn-tests: New file.
91116         * tests/test-mbscspn.sh: New file.
91117         * tests/test-mbscspn.c: New file.
91119 2007-02-11  Bruno Haible  <bruno@clisp.org>
91121         * modules/mbscasecmp-tests: New file.
91122         * tests/test-mbscasecmp.sh: New file.
91123         * tests/test-mbscasecmp.c: New file.
91125 2007-02-11  Bruno Haible  <bruno@clisp.org>
91127         Ensure O(n) worst-case complexity of mbscasestr.
91128         * lib/mbscasestr.c: Include stdbool.h.
91129         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
91130         functions.
91131         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
91132         the bookkeeping indicates that it's worth it.
91133         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
91135         * modules/mbscasestr-tests: New file.
91136         * tests/test-mbscasestr1.c: New file.
91137         * tests/test-mbscasestr2.sh: New file.
91138         * tests/test-mbscasestr2.c: New file.
91139         * tests/test-mbscasestr3.sh: New file.
91140         * tests/test-mbscasestr3.c: New file.
91141         * tests/test-mbscasestr4.sh: New file.
91142         * tests/test-mbscasestr4.c: New file.
91143         * m4/locale-tr.m4: New file.
91145 2007-02-11  Bruno Haible  <bruno@clisp.org>
91147         Ensure O(n) worst-case complexity of mbsstr.
91148         * lib/mbsstr.c: Include stdbool.h.
91149         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
91150         functions.
91151         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
91152         bookkeeping indicates that it's worth it.
91153         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
91155         * modules/mbsstr-tests: New file.
91156         * tests/test-mbsstr1.c: New file.
91157         * tests/test-mbsstr2.sh: New file.
91158         * tests/test-mbsstr2.c: New file.
91159         * tests/test-mbsstr3.sh: New file.
91160         * tests/test-mbsstr3.c: New file.
91161         * m4/locale-fr.m4: New file.
91163 2007-02-11  Bruno Haible  <bruno@clisp.org>
91165         * lib/mbsrchr.c (mbsrchr): Fix bug.
91167         * modules/mbsrchr-tests: New file.
91168         * tests/test-mbsrchr.sh: New file.
91169         * tests/test-mbsrchr.c: New file.
91171 2007-02-11  Bruno Haible  <bruno@clisp.org>
91173         * lib/mbschr.c (mbschr): Fix bug.
91175         * modules/mbschr-tests: New file.
91176         * tests/test-mbschr.sh: New file.
91177         * tests/test-mbschr.c: New file.
91178         * m4/locale-zh.m4: New file.
91180 2007-02-11  Bruno Haible  <bruno@clisp.org>
91182         Support for copying multibyte string iterators.
91183         * lib/mbiter.h: Include <string.h>.
91184         (mbiter_multi_copy): New function.
91185         (mbi_copy): New macro.
91186         * lib/mbuiter.h: Include <string.h>.
91187         (mbuiter_multi_copy): New function.
91188         (mbui_copy): New macro.
91190 2007-02-11  Bruno Haible  <bruno@clisp.org>
91192         New module mbslen.
91193         * modules/mbslen: New file.
91194         * lib/mbslen.c: New file.
91195         * lib/string_.h (mbslen): New declaration.
91196         * m4/mbslen.m4: New file.
91197         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91198         GNULIB_MBSLEN.
91199         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
91200         * MODULES.html.sh (Internationalization functions): Add mbslen.
91202 2007-02-11  Bruno Haible  <bruno@clisp.org>
91204         Ensure O(n) worst-case complexity of strcasestr substitute.
91205         * lib/strcasestr.c: Include stdbool.h.
91206         (knuth_morris_pratt): New function.
91207         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
91208         bookkeeping indicates that it's worth it.
91209         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
91211         * modules/strcasestr-tests: New file.
91212         * tests/test-strcasestr.c: New file.
91214 2007-02-11  Bruno Haible  <bruno@clisp.org>
91216         Ensure O(n) worst-case complexity of c_strcasestr.
91217         * lib/c-strcasestr.c: Include stdbool.h, string.h.
91218         (knuth_morris_pratt): New function.
91219         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
91220         the bookkeeping indicates that it's worth it.
91221         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
91223         * modules/c-strcasestr-tests: New file.
91224         * tests/test-c-strcasestr.c: New file.
91226 2007-02-11  Bruno Haible  <bruno@clisp.org>
91228         Ensure O(n) worst-case complexity of c_strstr.
91229         * lib/c-strstr.c: Include stdbool.h, string.h.
91230         (knuth_morris_pratt): New function.
91231         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
91232         bookkeeping indicates that it's worth it.
91233         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
91235         * lib/c-strstr.c: Complete rewrite for maintainability.
91237         * modules/c-strstr-tests: New file.
91238         * tests/test-c-strstr.c: New file.
91240 2007-02-11  Bruno Haible  <bruno@clisp.org>
91242         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
91243         5.2.1 and earlier, whereby \055 was treated just like the range
91244         delimiter '-'.
91245         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
91247 2007-02-08  Bruno Haible  <bruno@clisp.org>
91249         * modules/regex (Depends-on): Add stdbool.
91250         Reported by Dalibor Topic <robilad@kaffe.org>.
91252 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
91254         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
91255         Prefer returning from main to exiting from it.
91256         Remove unnecessary parens after sizeof.
91258 2007-02-05  Bruno Haible  <bruno@clisp.org>
91260         New module mbssep.
91261         * modules/mbssep: New file.
91262         * lib/mbssep.c: New file.
91263         * lib/string_.h (strsep): Add a conditional link warning.
91264         (mbssep): New declaration.
91265         * m4/mbssep.m4: New file.
91266         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91267         GNULIB_MBSSEP.
91268         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
91269         * MODULES.html.sh (Internationalization functions): Add mbssep.
91271 2007-02-05  Bruno Haible  <bruno@clisp.org>
91273         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
91274         Optimize search in case of 1 delimiter.
91276 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
91278         * lib/acl.h: Include sys/types.h before sys/acl.h.
91280 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
91282         Merge upstream fix for glibc bugzilla #3957:
91284         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
91286         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
91287         bit for RE_HAT_LISTS_NOT_NEWLINE.
91288         (build_charclass_op): Remove bogus comment.
91290 2007-02-05  Simon Josefsson  <simon@josefsson.org>
91292         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
91294 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
91296         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
91297         * lib/memmem.c [!defined _LIBC]: Include config.h.
91299 2007-02-04  Bruno Haible  <bruno@clisp.org>
91301         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
91302         warning message.
91304 2007-02-04  Bruno Haible  <bruno@clisp.org>
91306         New module mbstok_r.
91307         * modules/mbstok_r: New file.
91308         * lib/mbstok_r.c: New file.
91309         * lib/string_.h (strtok_r): Change argument names to match the
91310         comments. Add a conditional link warning.
91311         (mbstok_r): New declaration.
91312         * m4/mbstok_r.m4: New file.
91313         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91314         GNULIB_MBSTOK_R.
91315         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
91316         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
91318 2007-02-04  Bruno Haible  <bruno@clisp.org>
91320         New module mbsspn.
91321         * modules/mbsspn: New file.
91322         * lib/mbsspn.c: New file.
91323         * lib/string_.h (strspn): Add a conditional link warning.
91324         (mbsspn): New declaration.
91325         * m4/mbsspn.m4: New file.
91326         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91327         GNULIB_MBSSPN.
91328         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
91329         * MODULES.html.sh (Internationalization functions): Add mbsspn.
91331 2007-02-04  Bruno Haible  <bruno@clisp.org>
91333         New module mbspbrk.
91334         * modules/mbspbrk: New file.
91335         * lib/mbspbrk.c: New file.
91336         * lib/string_.h (strpbrk): Add a conditional link warning.
91337         (mbspbrk): New declaration.
91338         * m4/mbspbrk.m4: New file.
91339         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91340         GNULIB_MBSPBRK.
91341         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
91342         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
91344 2007-02-04  Bruno Haible  <bruno@clisp.org>
91346         New module mbscspn.
91347         * modules/mbscspn: New file.
91348         * lib/mbscspn.c: New file.
91349         * lib/string_.h (strcspn): Add a conditional link warning.
91350         (mbscspn): New declaration.
91351         * m4/mbscspn.m4: New file.
91352         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91353         GNULIB_MBSCSPN.
91354         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
91355         * MODULES.html.sh (Internationalization functions): Add mbscspn.
91357 2007-02-04  Bruno Haible  <bruno@clisp.org>
91359         New module mbscasestr, reduced goal of strcasestr.
91360         * modules/mbscasestr: New file.
91361         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
91362         (mbscasestr): Renamed from strcasestr.
91363         * lib/strcasestr.c: Don't include mbuiter.h.
91364         (strcasestr): Remove support for multibyte locales.
91365         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
91366         Change the conditional link warning.
91367         (mbscasestr): New declaration.
91368         * m4/mbscasestr.m4: New file.
91369         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
91370         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
91371         REPLACE_STRCASESTR.
91372         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
91373         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
91374         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
91375         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
91376         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
91377         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
91378         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
91379         (Depends-on): Remove mbuiter.
91380         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
91382 2007-02-04  Bruno Haible  <bruno@clisp.org>
91384         Simplify handling of strncasecmp.
91385         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
91386         the conditional link warning.
91387         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
91388         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
91389         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
91390         * modules/strcase (configure.ac): Don't invoke
91391         gl_STRING_MODULE_INDICATOR.
91392         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
91394 2007-02-04  Bruno Haible  <bruno@clisp.org>
91396         New module mbscasecmp, reduced goal of strcasecmp.
91397         * modules/mbscasecmp: New file.
91398         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
91399         (mbscasecmp): Renamed from strcasecmp.
91400         * lib/strcasecmp.c: Don't include mbuiter.h.
91401         (strcasecmp): Remove support for multibyte locales.
91402         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
91403         Change the conditional link warning.
91404         (mbscasecmp): New declaration.
91405         * m4/mbscasecmp.m4: New file.
91406         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
91407         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
91408         REPLACE_STRCASECMP.
91409         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
91410         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91411         GNULIB_MBSCASECMP.
91412         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
91413         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
91414         * modules/strcase (Files): Remove m4/mbrtowc.m4.
91415         (Depends-on): Remove mbuiter.
91416         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
91418 2007-02-04  Bruno Haible  <bruno@clisp.org>
91420         New module mbsstr. Remove module strstr.
91421         * modules/mbsstr: New file.
91422         * modules/strstr: Remove file.
91423         * lib/mbsstr.c: Renamed from lib/strstr.c.
91424         (mbsstr): Renamed from strstr.
91425         * lib/string_.h (strstr): Remove declaration. Change the conditional
91426         link warning.
91427         (mbsstr): New declaration.
91428         * m4/mbsstr.m4: New file.
91429         * m4/strstr.m4: Remove file.
91430         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
91431         REPLACE_STRSTR.
91432         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
91433         Don't initialize GNULIB_STRSTR.
91434         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
91435         substitute GNULIB_STRSTR and REPLACE_STRSTR.
91436         * MODULES.html.sh (Internationalization functions): Add mbsstr.
91437         (Support for systems lacking ANSI C 89): Remove strstr.
91439 2007-02-04  Bruno Haible  <bruno@clisp.org>
91441         New module mbsrchr.
91442         * modules/mbsrchr: New file.
91443         * lib/mbsrchr.c: New file.
91444         * lib/string_.h (strrchr): Add a conditional link warning.
91445         (mbsrchr): New declaration.
91446         * m4/mbsrchr.m4: New file.
91447         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91448         GNULIB_MBSRCHR.
91449         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
91450         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
91452 2007-02-04  Bruno Haible  <bruno@clisp.org>
91454         New module mbschr.
91455         * modules/mbschr: New file.
91456         * lib/mbschr.c: New file.
91457         * lib/string_.h (strchr): Add a conditional link warning.
91458         (mbschr): New declaration.
91459         * m4/mbschr.m4: New file.
91460         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91461         GNULIB_MBSCHR.
91462         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
91463         * MODULES.html.sh (Internationalization functions): Add mbschr.
91465 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
91467         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
91469         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
91471 2007-02-04  Bruno Haible  <bruno@clisp.org>
91473         New module description section 'configure.ac-early'.
91474         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
91475         (func_get_autoconf_early_snippet): New function.
91476         (func_import, func_create_testdir): Use it. Remove special cases for
91477         modules 'extensions' and 'lock'.
91478         * modules/extensions (configure.ac-early): Require
91479         gl_USE_SYSTEM_EXTENSIONS.
91480         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
91482 2007-02-04  Bruno Haible  <bruno@clisp.org>
91484         Make use of gcj-4.3's -fsource and -ftarget option.
91485         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
91486         and if so try the options -fsource and -ftarget.
91487         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
91488         source_version, ftarget_option, target_version arguments.
91489         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
91490         (is_envjavac_oldgcj_14_14_usable): Renamed from
91491         is_envjavac_gcj_14_14_usable.
91492         (is_envjavac_oldgcj_14_13_usable): Renamed from
91493         is_envjavac_gcj_14_13_usable.
91494         (is_gcj_present): Update.
91495         (is_gcj_43, is_gcj43_usable): New functions.
91496         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
91497         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
91498         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
91499         try the options -fsource and -ftarget.
91501 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
91503         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
91504         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
91505         larger value.
91507 2007-02-03  Jim Meyering  <jim@meyering.net>
91509         Give tools a better chance to allocate space for very large buffers.
91510         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
91512         Make pwd and readlink work also when run with an unreadable parent dir
91513         on systems with openat support.
91514         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
91515         provided getcwd function, even when we have openat support.
91516         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
91518 2007-02-02  Bruno Haible  <bruno@clisp.org>
91520         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
91521         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
91522         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
91523         portability problems if one of these functions is only used on specific
91524         platforms.
91525         Reported by Paul Eggert.
91527 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
91529         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
91530         is causing more trouble than it's curing.
91531         * lib/regex_internal.h (__mempcpy): Remove.
91532         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
91533         (and make the code a tad smaller to boot).
91534         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
91536 2007-02-02  Jim Meyering  <jim@meyering.net>
91538         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
91539         section, not in the Makefile.am: one.
91541 2007-02-02  Eric Blake  <ebb9@byu.net>
91543         * lib/strchrnul.c: Always include config.h first.
91545         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
91546         gnulib strstr is not necessary here.
91548 2007-02-02  Simon Josefsson  <simon@josefsson.org>
91550         * m4/socklen.m4: Fix typo.
91552 2007-02-02  Eric Blake  <ebb9@byu.net>
91554         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
91555         * modules/netinet_in (Makefile.am): Likewise.
91557 2007-02-01  Bruno Haible  <bruno@clisp.org>
91559         * lib/string_.h (GL_LINK_WARNING): New macro.
91560         (strcasecmp, strstr, strcasestr): If provided by the system,
91561         conditionally define as a macro that leads to a warning instead of to
91562         an error.
91563         (strncasecmp): Conditionally define as a macro that leads to a warning.
91565 2007-02-01  Karl Berry  <karl@gnu.org>
91567         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
91569 2007-02-01  Bruno Haible  <bruno@clisp.org>
91571         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
91572         renamings.
91574 2007-02-01  Eric Blake  <ebb9@byu.net>
91576         * modules/regex (Depends-on): Revert dependence on mempcpy.
91577         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
91578         module's definition of mempcpy.
91579         Reported by Paul Eggert.
91581 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
91583         * lib/string_.h: If the gnulib module XYZ is not present, undefine
91584         the symbol XYZ before redefining it.  This fixes a problem with
91585         programs that don't use XYZ, when compiled on systems that define
91586         XYZ to something else.
91588 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
91590         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
91591         occurs when "mkdir -m foo" creates a setgid directory that is (1)
91592         writeable to group or other and (2) is intended to have a special
91593         mode bit that is set or cleared.  In such a case, the directory
91594         should be neither group- nor other-writeable until the special
91595         mode bits are right.
91597 2007-01-31  Eric Blake  <ebb9@byu.net>
91599         * modules/mountlist (Depends-on): Add strstr.
91601         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
91602         bug.
91603         * modules/string (Makefile.am): Remove redundant replacement.
91604         * modules/regex (Depends-on): Add mempcpy.
91606 2007-01-31  Bruno Haible  <bruno@clisp.org>
91608         New module description field 'Link'.
91609         * gnulib-tool (func_usage): Document --extract-link-directive.
91610         (sed_extract_prog): Recognize 'Link' directive.
91611         (func_get_link_directive): New function.
91612         (func_import): Show summary of link directives.
91613         Handle --extract-link-directive option.
91614         * modules/acl (Link): New section.
91615         * modules/clock-time (Link): New section.
91616         * modules/euidaccess (Link): New section.
91617         * modules/gettext (Link): New section.
91618         * modules/iconv (Link): New section.
91619         * modules/lock (Link): New section.
91620         * modules/nanosleep (Link): New section.
91621         * modules/readline (Link): New section.
91623 2007-01-27  Bruno Haible  <bruno@clisp.org>
91625         Enforce the use of gnulib modules for unportable <string.h> functions.
91626         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
91627         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
91628         (gl_HEADER_STRING_H_BODY): Require it.
91629         * lib/string_.h: If the gnulib module XYZ is not present, redefine
91630         the symbol XYZ to one that gives a link error.
91631         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
91632         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
91633         * modules/mempcpy (configure.ac): Likewise.
91634         * modules/memrchr (configure.ac): Likewise.
91635         * modules/stpcpy (configure.ac): Likewise.
91636         * modules/stpncpy (configure.ac): Likewise.
91637         * modules/strcase (configure.ac): Likewise.
91638         * modules/strcasestr (configure.ac): Likewise.
91639         * modules/strchrnul (configure.ac): Likewise.
91640         * modules/strdup (configure.ac): Likewise.
91641         * modules/strndup (configure.ac): Likewise.
91642         * modules/strnlen (configure.ac): Likewise.
91643         * modules/strpbrk (configure.ac): Likewise.
91644         * modules/strsep (configure.ac): Likewise.
91645         * modules/strstr (configure.ac): Likewise.
91646         * modules/strtok_r (configure.ac): Likewise.
91648 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
91650         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
91652 2007-01-30  Jim Meyering  <jim@meyering.net>
91654         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
91656 2007-01-29  Bruno Haible  <bruno@clisp.org>
91658         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
91659         * lib/execute.c: Likewise.
91660         * lib/pipe.c: Likewise.
91661         * lib/printf-args.h: Likewise.
91662         * lib/printf-args.c: Likewise.
91663         * lib/printf-parse.c: Likewise.
91664         * lib/vasnprintf.c: Likewise.
91666 2007-01-29  Eric Blake  <ebb9@byu.net>
91668         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
91669         declaration.
91671 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
91673         * lib/strptime.h (strptime): Use 'restrict' for args where
91674         POSIX requires this.
91675         * lib/strptime.c (strptime): Likewise.
91676         Change license notice from LGPL to GPL, since gnulib-tool will
91677         change this as needed.
91678         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
91679         defined.
91680         Include "strptime.h" first, to check interface.
91681         Do not #undef _LIBC and _NL_CURRENT.
91682         Do not include <stdlib.h>; no longer needed.
91683         Include "time_r.h" and declare ptime_locale_status
91684         only if _LIBC is not defined.
91685         (__P): Remove unused macro.
91686         (match_string): Bring back glibc version, but use it only if _LIBC
91687         is defined.
91688         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
91689         Remove unnecessary assertion and abort() call.
91690         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
91691         * m4/strptime.m4: Fix serial number comment.
91692         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
91693         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
91694         (Depends-on): Add time_r.
91696 2007-01-29  Bruno Haible  <bruno@clisp.org>
91698         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
91699         strptime.
91700         * modules/strptime (Depends-on): Add stdbool.
91701         * lib/strptime.h: Include <time.h> always. Add comments.
91703 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
91705         * modules/strptime: New file.
91706         * lib/strptime.h: New file.
91707         * lib/strptime.c: New file.
91708         * m4/strptime.m4: New file.
91710 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
91712         * MODULES.html.sh: New module mpsort.
91713         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
91715         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
91716         a circularity problem with HP-UX ia64 reported by Bob Proulx in
91717         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00394.html>.
91718         All uses changed.
91719         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
91720         All uses changed.
91721         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
91722         to _Restrict_.
91723         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
91724         the parameter matches the prototype.
91726 2007-01-28  Jim Meyering  <jim@meyering.net>
91728         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
91729         sys/time.h here, reverting that part of the previous patch:
91730         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
91732 2007-01-28  Bruno Haible  <bruno@clisp.org>
91734         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
91735         value of $(SYS_TIME_H).
91736         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
91737         remove it conditionally, too. [added by Jim Meyering]
91738         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
91739         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
91740         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
91741         GETTIMEOFDAY_REPLACEMENT to 1.
91743 2007-01-28  Bruno Haible  <bruno@clisp.org>
91745         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
91746         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
91747         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
91748         Set UNISTD_H instead of UNISTD_H2.
91749         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
91751 2007-01-28  Bruno Haible  <bruno@clisp.org>
91753         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
91754         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
91756 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91758         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
91759         (func_create_testdir): Ensure C locale for `grep' and `tr'
91760         character ranges.
91761         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
91762         ACLOCAL_AMFLAGS parsing state machine.
91764 2007-01-27  Bruno Haible  <bruno@clisp.org>
91766         * modules/unistr/base: Update.
91768 2007-01-27  Bruno Haible  <bruno@clisp.org>
91770         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
91771         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
91772         * modules/unistr/u32-mbtouc-unsafe: Renamed from
91773         modules/unistr/u32-mbtouc.
91774         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
91775         * lib/unistr.h: Update.
91776         * lib/linebreak.c: Update.
91777         * modules/unistr/u32-mbtouc: Renamed from
91778         modules/unistr/u32-mbtouc-safe.
91779         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
91780         * lib/unistr.h: Update.
91781         * lib/unistr/u32-to-u8.c: Update.
91782         * lib/unistr/u32-to-u16.c: Update.
91784 2007-01-27  Bruno Haible  <bruno@clisp.org>
91786         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
91787         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
91788         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
91789         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
91790         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
91791         * modules/unistr/u16-mbtouc-unsafe: Renamed from
91792         modules/unistr/u16-mbtouc.
91793         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
91794         * lib/unistr.h: Update.
91795         * lib/linebreak.c: Update.
91796         * modules/linebreak: Update.
91797         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
91798         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
91799         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
91800         * modules/unistr/u16-mbtouc: Renamed from
91801         modules/unistr/u16-mbtouc-safe.
91802         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
91803         * lib/unistr.h: Update.
91804         * lib/unistr/u16-to-u8.c: Update.
91805         * modules/unistr/u16-to-u8: Update.
91806         * lib/unistr/u16-to-u32.c: Update.
91807         * modules/unistr/u16-to-u32: Update.
91809 2007-01-27  Bruno Haible  <bruno@clisp.org>
91811         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
91812         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
91813         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
91814         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
91815         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
91816         * modules/unistr/u8-mbtouc-unsafe: Renamed from
91817         modules/unistr/u8-mbtouc.
91818         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
91819         * lib/unistr.h: Update.
91820         * lib/striconveh.c: Update.
91821         * modules/striconveh: Update.
91822         * lib/linebreak.c: Update.
91823         * modules/linebreak: Update.
91824         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
91825         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
91826         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
91827         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
91828         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
91829         * lib/unistr.h: Update.
91830         * lib/striconveh.c: Update.
91831         * modules/striconveh: Update.
91832         * lib/unistr/u8-to-u16.c: Update.
91833         * modules/unistr/u8-to-u16: Update.
91834         * lib/unistr/u8-to-u32.c: Update.
91835         * modules/unistr/u8-to-u32: Update.
91837 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91839         Sync from Libtool.
91840         * lib/argz.c: Do not include strings.h nor memory.h, include
91841         string.h unconditionally.  Patch by Simon Josefsson.
91843 2007-01-27  Bruno Haible  <bruno@clisp.org>
91845         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
91846         from gl_HEADER_STRING_H_BODY.
91847         (gl_HEADER_STRING_H_BODY): Require it.
91848         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
91849         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
91850         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
91851         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
91852         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
91853         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
91854         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
91855         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
91856         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
91857         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
91858         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
91859         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
91860         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
91861         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
91862         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
91864 2007-01-27  Bruno Haible  <bruno@clisp.org>
91866         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
91867         check_PROGRAMS into noinst_PROGRAMS.
91868         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
91869         check_PROGRAMS in this case.
91870         (func_import): Set for_test to false.
91871         (func_create_testdir): Set for_test to true.
91873 2007-01-27  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91874             Bruno Haible  <bruno@clisp.org>
91876         * modules/strcasestr (Files): Remove lib/strcasestr.h.
91877         (Depends-on): Add string.
91878         (Includes): Use <string.h> instead of strcasestr.h.
91879         * modules/string (Makefile.am): Also substitute the value of
91880         REPLACE_STRCASESTR.
91881         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
91882         assume strcasestr is declared in <string.h> not <strings.h>. Also
91883         set REPLACE_STRCASESTR.
91884         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
91885         REPLACE_STRCASESTR.
91886         * lib/strcasestr.h: Remove file.
91887         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
91888         * lib/string_.h (strcasestr): New declaration.
91890 2007-01-27  Bruno Haible  <bruno@clisp.org>
91892         * lib/string_.h: Use 'extern'.
91894 2007-01-27  Jim Meyering  <jim@meyering.net>
91896         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
91897         of set-but-not-used local, "q".
91899         * lib/mempcpy.c: Include <config.h> before <string.h>.
91900         This fixes a compilation error on HP-UX, due to the system's
91901         "restrict"-using mempcpy prototype.
91903 2007-01-26  Bruno Haible  <bruno@clisp.org>
91905         Small optimization.
91906         * lib/javacomp.c: Include c-strstr.h.
91907          (is_envjavac_gcj): Use c_strstr instead of strstr.
91908         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
91910 2007-01-26  Bruno Haible  <bruno@clisp.org>
91912         * MODULES.html.sh (Unicode string functions): Add the new modules.
91914         * modules/uniconv/u32-strconv-to-locale: New file.
91915         * lib/uniconv/u32-strconv-to-locale.c: New file.
91917         * modules/uniconv/u16-strconv-to-locale: New file.
91918         * lib/uniconv/u16-strconv-to-locale.c: New file.
91920         * modules/uniconv/u8-strconv-to-locale: New file.
91921         * lib/uniconv/u8-strconv-to-locale.c: New file.
91923         * modules/uniconv/u32-strconv-from-locale: New file.
91924         * lib/uniconv/u32-strconv-from-locale.c: New file.
91926         * modules/uniconv/u16-strconv-from-locale: New file.
91927         * lib/uniconv/u16-strconv-from-locale.c: New file.
91929         * modules/uniconv/u8-strconv-from-locale: New file.
91930         * lib/uniconv/u8-strconv-from-locale.c: New file.
91932         * modules/uniconv/u32-strconv-to-enc: New file.
91933         * lib/uniconv/u32-strconv-to-enc.c: New file.
91934         * modules/uniconv/u32-strconv-to-enc-tests: New file.
91935         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
91937         * modules/uniconv/u16-strconv-to-enc: New file.
91938         * lib/uniconv/u16-strconv-to-enc.c: New file.
91939         * lib/uniconv/u-strconv-to-enc.h: New file.
91940         * modules/uniconv/u16-strconv-to-enc-tests: New file.
91941         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
91943         * modules/uniconv/u8-strconv-to-enc: New file.
91944         * lib/uniconv/u8-strconv-to-enc.c: New file.
91945         * modules/uniconv/u8-strconv-to-enc-tests: New file.
91946         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
91948         * modules/uniconv/u32-strconv-from-enc: New file.
91949         * lib/uniconv/u32-strconv-from-enc.c: New file.
91950         * modules/uniconv/u32-strconv-from-enc-tests: New file.
91951         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
91953         * modules/uniconv/u16-strconv-from-enc: New file.
91954         * lib/uniconv/u16-strconv-from-enc.c: New file.
91955         * modules/uniconv/u16-strconv-from-enc-tests: New file.
91956         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
91958         * modules/uniconv/u8-strconv-from-enc: New file.
91959         * lib/uniconv/u8-strconv-from-enc.c: New file.
91960         * lib/uniconv/u-strconv-from-enc.h: New file.
91961         * modules/uniconv/u8-strconv-from-enc-tests: New file.
91962         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
91964         * modules/uniconv/u32-conv-from-enc: New file.
91965         * lib/uniconv/u32-conv-from-enc.c: New file.
91966         * modules/uniconv/u32-conv-from-enc-tests: New file.
91967         * tests/uniconv/test-u32-conv-from-enc.c: New file.
91969         * modules/uniconv/u16-conv-from-enc: New file.
91970         * lib/uniconv/u16-conv-from-enc.c: New file.
91971         * lib/uniconv/u-conv-from-enc.h: New file.
91972         * modules/uniconv/u16-conv-from-enc-tests: New file.
91973         * tests/uniconv/test-u16-conv-from-enc.c: New file.
91975         * modules/uniconv/u8-conv-from-enc: New file.
91976         * lib/uniconv/u8-conv-from-enc.c: New file.
91977         * modules/uniconv/u8-conv-from-enc-tests: New file.
91978         * tests/uniconv/test-u8-conv-from-enc.c: New file.
91980         * modules/uniconv/base: New file.
91981         * lib/uniconv.h: New file.
91983 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
91985         * doc/gnulib-tool.texi (Initial import): Update to match current
91986         behavior with strdup module.
91987         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
91988         * lib/memmem.h: Remove; all uses removed.  This is now done
91989         by <string.h>.
91990         * lib/mempcpy.h: Likewise.
91991         * lib/memrchr.h: Likewise.
91992         * lib/stpcpy.h: Likewise.
91993         * lib/stpncpy.h: Likewise.
91994         * lib/strcase.h: Likewise.
91995         * lib/strchrnul.h: Likewise.
91996         * lib/strdup.h: Likewise.
91997         * lib/strndup.h: Likewise.
91998         * lib/strnlen.h: Likewise.
91999         * lib/strpbrk.h: Likewise.
92000         * lib/strsep.h: Likewise.
92001         * lib/strstr.h: Likewise.
92002         * lib/strtok_r.h: Likewise.
92003         * lib/string_.h: New file.
92004         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
92005         Rely on <string.h> instead.
92006         * lib/canon-host.c: Likewise.
92007         * lib/chdir-long.c: Likewise.
92008         * lib/concatpath.c: Likewise.
92009         * lib/exclude.c: Likewise.
92010         * lib/fchdir.c: Likewise.
92011         * lib/getaddrinfo.c: Likewise.
92012         * lib/getcwd.c: Likewise.
92013         * lib/getsubopt.c: Likewise.
92014         * lib/glob.c: Likewise.
92015         * lib/hard-locale.c: Likewise.
92016         * lib/iconvme.c: Likewise.
92017         * lib/javacomp.c: Likewise.
92018         * lib/mempcpy.c: Likewise.
92019         * lib/memrchr.c: Likewise.
92020         * lib/regex_internal.h: Likewise.
92021         * lib/stpncpy.c: Likewise.
92022         * lib/strcasecmp.c: Likewise.
92023         * lib/strchrnul.c: Likewise.
92024         * lib/strdup.c: Likewise.
92025         * lib/striconv.c: Likewise.
92026         * lib/striconveh.c: Likewise.
92027         * lib/striconveha.c: Likewise.
92028         * lib/strncasecmp.c: Likewise.
92029         * lib/strndup.c: Likewise.
92030         * lib/strnlen.c: Likewise.
92031         * lib/strsep.c: Likewise.
92032         * lib/strstr.c: Likewise.
92033         * lib/strtok_r.c: Likewise.
92034         * lib/userspec.c: Likewise.
92035         * lib/w32spawn.h: Likewise.
92036         * lib/xstrndup.c: Likewise.
92037         * lib/mountlist.c (strstr): Remove decl.
92038         * m4/string_h.m4: New file.
92039         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
92040         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
92041         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
92042         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
92043         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
92044         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
92045         Set REPLACE_STRCASECMP if necessary.
92046         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
92047         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
92048         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
92049         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
92050         HAVE_DECL_STRDUP if necessary.
92051         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
92052         since gl_FUNC_STRNDUP does that now.
92053         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
92054         Check for decl here...
92055         (gl_PREREQ_STRNLEN): ... not here.
92056         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
92057         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
92058         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
92059         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
92060         necessary.
92061         * modules/string: New file.
92062         * modules/memmem (Files): Remove special-purpose include file.
92063         (Depends-on): Add string.
92064         (Include): Include <string.h>, not the removed file.
92065         * modules/mempcpy: Likewise.
92066         * modules/memrchr: Likewise.
92067         * modules/stpcpy: Likewise.
92068         * modules/stpncpy: Likewise.
92069         * modules/strcase: Likewise.
92070         * modules/strchrnul: Likewise.
92071         * modules/strdup: Likewise.
92072         * modules/strndup: Likewise.
92073         * modules/strnlen: Likewise.
92074         * modules/strpbrk: Likewise.
92075         * modules/strsep: Likewise.
92076         * modules/strstr: Likewise.
92077         * modules/strtok_r: Likewise.
92078         * tests/test-dirname.c: Don't include "strdup.h", since
92079         <string.h> now suffices.
92080         * tests/test-memmem.c: Don't include "memmem.h", since
92081         <string.h> now suffices.
92083 2007-01-25  Bruno Haible  <bruno@clisp.org>
92085         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
92086         *resultp is 0.
92088         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
92089         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
92090         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
92091         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
92093         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
92094         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
92095         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
92096         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
92097         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
92098         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
92100 2007-01-24  Bruno Haible  <bruno@clisp.org>
92102         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
92103         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00279.html>.
92104         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
92105         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
92106         gl_FUNC_FTS_CORE.
92107         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
92108         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
92109         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
92110         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
92111         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
92112         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
92113         gl_FUNC_FCHOWNAT.
92114         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
92115         gl_FUNC_STRFTIME.
92116         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
92117         Reported by Ralf Wildenhues.
92119 2007-01-24  Bruno Haible  <bruno@clisp.org>
92121         Drop AC_REQUIRE calls that are redundant with the module dependencies.
92122         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
92123         gl_GETADDRINFO.
92124         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
92125         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
92126         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
92128 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
92130         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
92131         Don't use 'exit'; just return from 'main'.
92132         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
92134         * lib/fnmatch_.h: Readjust white space and comments to match
92135         glibc, to avoid spurious diffs.
92137 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
92139         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
92140         2004-12-01 change by Jakub Jelinek, since this code won't compile
92141         if !LIBC.  Problem reported by Bob Proulx.
92143 2007-01-23  Bruno Haible  <bruno@clisp.org>
92145         * lib/striconveh.c: Include c-strcaseeq.h.
92146         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
92147         * modules/striconveh (Depends-on): Add c-strcaseeq.
92149 2007-01-23  Bruno Haible  <bruno@clisp.org>
92151         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
92153         * modules/c-strcaseeq: New file.
92154         * lib/c-strcaseeq.h: New file.
92156         * modules/streq: New file.
92157         * lib/streq.h: New file.
92159 2007-01-23  Bruno Haible  <bruno@clisp.org>
92161         * modules/striconveha-tests: New file.
92162         * tests/test-striconveha.c: New file.
92164         * lib/striconveha.h: Include <stdbool.h>.
92165         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
92166         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
92167         (mem_iconveha_notranslit): Renamed from mem_iconveha.
92168         (mem_iconveha): New function.
92169         (str_iconveha_notranslit): Renamed from str_iconveha.
92170         (str_iconveha): New function.
92171         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
92172         c-strcase.
92174 2007-01-23  Bruno Haible  <bruno@clisp.org>
92176         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
92177         encodings without forgiving before trying any encoding with handler.
92178         (str_iconveha): Try all encodings without forgiving before trying any
92179         encoding with handler.
92181 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
92183         Import the following changes from libc.
92185         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
92187         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
92189         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
92191         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
92192         normal_bracket label.
92194         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
92196         [BZ #361]
92197         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
92198         to normal_bracket after fetching the next character.
92200 2007-01-22  Bruno Haible  <bruno@clisp.org>
92202         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
92203         argument.
92204         * lib/striconveh.c (iconv_carefully_1): New function.
92205         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
92206         argument.
92207         (str_cd_iconveh): Update.
92208         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
92209         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
92210         * tests/test-striconveh.c (MAGIC): New macro.
92211         (new_offsets): New function.
92212         (main): Test call with and without offsets.
92214 2007-01-22  Bruno Haible  <bruno@clisp.org>
92216         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
92217         * modules/sys_select (Makefile.am): Likewise.
92218         * modules/sys_socket (Makefile.am): Likewise.
92219         * modules/sys_time (Makefile.am): Likewise.
92221 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
92223         * modules/gettimeofday (License): Change from GPL to LGPL, since
92224         gettimeofday is a library function.
92226 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92228         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
92230 2007-01-21  Bruno Haible  <bruno@clisp.org>
92232         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
92234 2007-01-21  Bruno Haible  <bruno@clisp.org>
92236         * modules/striconveha: New file.
92237         * lib/striconveha.h: New file.
92238         * lib/striconveha.c: New file.
92239         * MODULES.html.sh (Internationalization functions): Add striconveha.
92240         * lib/striconv.c (str_iconv): Optimize the case of an empty input
92241         string.
92242         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
92244 2007-01-21  Bruno Haible  <bruno@clisp.org>
92246         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
92247         * lib/striconveh.c (str_iconveh): Likewise.
92249 2007-01-21  Bruno Haible  <bruno@clisp.org>
92251         * lib/striconveh.h (mem_iconveh): New declaration.
92252         * lib/striconveh.c (mem_iconveh): New function.
92253         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
92255 2007-01-21  Bruno Haible  <bruno@clisp.org>
92257         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
92259         * lib/striconveh.h (mem_cd_iconveh): Change specification.
92260         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
92261         original result buffer.
92262         (str_cd_iconveh): Update.
92263         * tests/test-striconveh.c (main): Update.
92265         * lib/striconv.h (mem_cd_iconv): Change specification.
92266         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
92267         result buffer.
92268         (str_cd_iconv): Update.
92269         * tests/test-striconv.c (main): Update.
92271 2007-01-21  Bruno Haible  <bruno@clisp.org>
92273         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
92275 2007-01-20  Jim Meyering  <jim@meyering.net>
92277         * lib/userspec.c (parse_with_separator): If a user or group string
92278         starts with "+", skip the corresponding name-to-ID look-up, since
92279         such a look-up must fail: user and group names may not include "+".
92281 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
92283         * lib/poll.c: Include sys/time.h and time.h unconditionally,
92284         since we now assume the sys_time module.
92285         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
92286         check for sys/time.h; no longer needed.
92287         * modules/poll (Depends-on): Depend on sys_time.
92289 2007-01-18  Bruno Haible  <bruno@clisp.org>
92291         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
92292         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
92294         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
92295         gettimeofday.
92297         * tests/test-gettimeofday.c: Include <time.h>.
92298         (dummy): Remove variable.
92300         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
92301         gl_HEADER_SYS_TIME_H.
92302         (gl_HEADER_SYS_TIME_H): New macro.
92304         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
92305         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92306         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
92307         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
92308         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92309         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
92310         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
92311         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92312         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
92313         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
92314         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92316         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
92317         last change; it caused a compilation error when cross-compiling to
92318         Cygwin.
92320 2007-01-18  Jim Meyering  <jim@meyering.net>
92322         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
92323         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
92324         than the race-prone "test -d sys || mkdir sys".
92325         (configure.ac): Use AC_PROG_MKDIR_P.
92326         * modules/sys_select: Likewise.
92327         * modules/sys_socket: Likewise.
92328         * modules/sys_time: Likewise.
92330 2007-01-18  Eric Blake  <ebb9@byu.net>
92332         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
92333         replace gettimeofday.
92334         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
92335         name, to avoid infinite recursion.
92337 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
92339         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
92340         module sys_time.
92341         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
92342         assume timespec.h defines struct timeval.
92343         * lib/settime.c: Likewise.
92344         * lib/utimens.c: Likewise.
92345         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
92346         since we now assume the gettimeofday module.
92347         * lib/tempname.c (__gen_tempname): Likewise.
92348         * lib/gettimeofday.h: Remove.
92349         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
92350         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
92351         Include <time.h>, for 'time()'.
92352         (localtime_buffer_addr): Also use this workaround if
92353         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
92354         to simplify the uses.  All uses changed.
92355         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
92356         that #undef is inside {}, and 'const' follows type name consistently.
92357         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
92358         (gettimeofday): Do not use the maximum possible value for
92359         tv->tv_usec, since that might break usages other than ls.c.
92360         Instead, we'll leave ls.c alone.  This undoes today's patch
92361         by Bruno.  Add a compile-time warning for 1s-clock resolution;
92362         we've never observed the problem but might as well keep the
92363         canary.
92364         * lib/nanosleep.c: Include timespec.h first, for interface check.
92365         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
92366         now assume the sys_time module.
92367         * lib/tempname.c: Likewise.
92368         * lib/timespec.h: Likewise.
92369         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
92370         needed.
92371         * lib/strftime.c: Likewise.
92372         * lib/timespec.h: Likewise.
92373         * lib/posixtm.c: Include posixtm.h first, for interface check.
92374         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
92375         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
92376         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
92377         * lib/sys_time_.h: New file.
92378         * lib/timespec.h (struct timespec): Use long int, not long.
92379         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
92380         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
92381         Remove obsolescent call to AC_HEADER_TIME.
92382         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
92383         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
92384         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
92385         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
92386         Likewise.
92387         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
92388         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
92389         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
92390         into the sys_time module.  Check for gettimeofday just once.
92391         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
92392         for gettimeofday signature to just check the signature.  Merely
92393         compile it, since linking doesn't test signature.  Improve test for
92394         whether gettimeofday.o is actually needed.
92395         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
92396         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
92397         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
92398         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92399         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
92400         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
92401         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
92402         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
92403         than worrying about sys/time.h.
92404         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
92405         Don't bother worrying about TIME_WITH_SYS_TIME.
92406         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
92407         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
92408         * m4/sys_time_h.m4: New file.
92409         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
92410         Don't include sys/time.h.  Return from main rather than exiting.
92411         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
92412         all uses changed.
92413         * modules/gethrxtime (Depends-on): Add sys_time.
92414         * modules/gettime (Depends-on): Likewise.
92415         * modules/gettimeofday (Depends-on): Likewise.
92416         * modules/nanosleep (Depends-on): Likewise.
92417         * modules/settime (Depends-on): Likewise.
92418         * modules/tempname (Depends-on): Likewise.
92419         * modules/utimens (Depends-on): Likewise.
92420         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
92421         (Include): Change back to <sys/time.h>.
92422         (Maintainer): Add self.
92423         * modules/sys_time: New file.
92424         * modules/tempname (Depends-on): Add gettimeofday.
92425         * tests/test-gettimeofday.c: Include <sys/time.h>
92426         rather than gettimeofday.h.
92428 2007-01-17  Bruno Haible  <bruno@clisp.org>
92430         * gnulib-tool (func_get_license): Revert last patch. Instead, let
92431         the license default to GPL.
92432         (func_create_testdir): Don't complain if a module is LGPL and its
92433         tests module depends on GPLed modules.
92435 2007-01-17  Bruno Haible  <bruno@clisp.org>
92437         * lib/gettimeofday.c (gettimeofday): Add code for the case
92438         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
92439         maximum possible value for tv->tv_usec, rather than the minimum one.
92441 2005-10-08  Martin Lambers  <marlam@marlam.de>
92442 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
92443 2007-01-16  Bruno Haible  <bruno@clisp.org>
92445         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
92446         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
92447         gl_FUNC_GETTIMEOFDAY.
92448         (Include): Add gettimeofday.h.
92449         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
92450         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
92451         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
92452         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
92453         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
92454         * lib/gettimeofday.h: New file.
92455         * lib/gettimeofday.c: Include <sys/timeb.h>.
92456         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
92457         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92458         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
92459         fall back on time().
92461         * tests/test-gettimeofday.c: New file.
92462         * modules/gettimeofday-tests: New file.
92464 2007-01-16  Eric Blake  <ebb9@byu.net>
92466         * modules/fnmatch (Depends-on): Depend on wchar.
92467         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
92468         * m4/fnmatch.m4: Likewise.
92469         * modules/mbchar (Makefile.am): Assume <wchar.h>.
92470         * m4/mbchar.m4: Likewise.
92471         * modules/mbswidth (Depends-on): Depend on wchar.
92472         * lib/mbswidth.c: Assume <wchar.h>.
92473         * m4/mbswidth.m4: Likewise.
92474         * modules/quotearg (Depends-on): Depend on wchar.
92475         * lib/quotearg.c: Assume <wchar.h>.
92476         * m4/quotearg.m4: Likewise.
92477         * modules/regex (Depends-on): Depend on wchar.
92478         * lib/regex_internal.h: Assume <wchar.h>.
92479         * m4/regex.m4: Likewise.
92480         * modules/stdint (Depends-on): Depend on wchar.
92481         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
92482         * m4/stdint.m4: Likewise.
92483         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
92484         * modules/strftime (Depends-on): Depend on wchar.
92485         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
92486         * modules/strtol (Depends-on): Depend on wchar.
92487         * lib/strtol.c: Assume <wchar.h>.
92488         * modules/wcwidth (Depends-on): Depend on wchar.
92489         * lib/wcwidth.h: Assume <wchar.h>.
92490         * m4/wcwidth.m4: Likewise.
92492 2007-01-16  Bruno Haible  <bruno@clisp.org>
92494         * modules/csharpexec-script: New, created from...
92495         * modules/csharpexec: ... this.
92497 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
92499         * modules/javaexec-script: New, created from...
92500         * modules/javaexec: ... this.
92502 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92504         * modules/poll (Dependencies): Add sys_select.
92506 2007-01-15  Jim Meyering  <jim@meyering.net>
92508         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
92509         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
92510         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
92511         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
92513 2007-01-15  Bruno Haible  <bruno@clisp.org>
92515         * modules/striconveh: New file.
92516         * lib/striconveh.h: New file.
92517         * lib/striconveh.c: New file.
92518         * MODULES.html.sh (Internationalization functions): Add striconveh.
92520         * modules/striconveh-tests: New file.
92521         * tests/test-striconveh.c: New file.
92523 2007-01-15  Bruno Haible  <bruno@clisp.org>
92525         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
92526         not from GNU libiconv or GNU libc.
92528 2007-01-15  Bruno Haible  <bruno@clisp.org>
92530         * doc/gnulib-intro.texi (Copyright): Explain the different license
92531         terms for module descriptions, autoconf macros, tests, documentation.
92533 2007-01-14  Bruno Haible  <bruno@clisp.org>
92535         * modules/striconv-tests: New file.
92536         * tests/test-striconv.c: New file.
92538 2007-01-14  Bruno Haible  <bruno@clisp.org>
92540         * modules/iconv-tests: New file.
92541         * tests/test-iconv.c: New file.
92543 2007-01-14  Bruno Haible  <bruno@clisp.org>
92545         * gnulib-tool (func_get_license): For test modules, use the license of
92546         the main module.
92548 2007-01-14  Bruno Haible  <bruno@clisp.org>
92550         * modules/iconv (Include): Clarify that <iconv.h> can only be included
92551         if iconv is found to exist.
92553 2007-01-14  Bruno Haible  <bruno@clisp.org>
92555         * modules/c-ctype-tests: New file.
92556         * tests/test-c-ctype.c: New file.
92558 2007-01-14  Bruno Haible  <bruno@clisp.org>
92560         * modules/binary-io-tests: New file.
92561         * tests/test-binary-io.sh: New file.
92562         * tests/test-binary-io.c: New file.
92564 2007-01-14  Bruno Haible  <bruno@clisp.org>
92566         * modules/array-oset-tests: New file.
92567         * tests/test-array_oset.c: New file.
92569 2007-01-14  Bruno Haible  <bruno@clisp.org>
92571         * modules/array-list-tests: New file.
92572         * tests/test-array_list.c: New file.
92574 2007-01-14  Bruno Haible  <bruno@clisp.org>
92576         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
92577         and make.
92578         Reported by Simon Josefsson in
92579         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00139.html>
92581 2007-01-14  Bruno Haible  <bruno@clisp.org>
92583         * modules/allocsa-tests: New file.
92584         * tests/test-allocsa.c: New file.
92586 2007-01-14  Bruno Haible  <bruno@clisp.org>
92588         * modules/fchdir (Depends-on): Add absolute-header.
92589         * modules/unistd (Depends-on): Likewise.
92591 2006-12-30  Bruno Haible  <bruno@clisp.org>
92593         * modules/fchdir: New file.
92594         * modules/unistd (Files): Add lib/unistd_.h.
92595         (Makefile.am): Generate unistd.h from unistd_.h.
92596         * lib/fchdir.c: New file.
92597         * lib/dirent_.h: New file.
92598         * lib/unistd_.h: New file.
92599         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
92600         * m4/fchdir.m4: New file.
92601         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
92602         (gl_HEADER_UNISTD): Invoke it.
92603         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
92604         function.
92605         * lib/backupfile.c (opendir, closedir): Undefine.
92606         * lib/chown.c (open, close): Undefine.
92607         * lib/clean-temp.c (open, close): Undefine.
92608         * lib/copy-file.c (open, close): Undefine.
92609         * lib/execute.c (open, close): Undefine.
92610         * lib/fsusage.c (open, close): Undefine.
92611         * lib/gc-gnulib.c (open, close): Undefine.
92612         * lib/getcwd.c (opendir, closedir): Undefine.
92613         * lib/glob.c (opendir, closedir): Undefine.
92614         * lib/javacomp.c (open, close): Undefine.
92615         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
92616         * lib/openat-proc.c (open, close): Undefine.
92617         * lib/pagealign_alloc.c (open, close): Undefine.
92618         * lib/pipe.c (open, close): Undefine.
92619         * lib/progreloc.c (open, close): Undefine.
92620         * lib/savedir.c (opendir, closedir): Undefine.
92621         * lib/utime.c (open, close): Undefine.
92622         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
92624 2007-01-10  Bruno Haible  <bruno@clisp.org>
92626         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
92628 2007-01-12  Eric Blake  <ebb9@byu.net>
92630         Provide a robust <wchar.h>.  Further simplifications are now
92631         possible in other modules, but not included here.
92632         * modules/wchar: New module.
92633         * m4/wchar.m4: New file.
92634         * lib/wchar_.h: Likewise.
92635         * modules/mbchar (Depends-on): Depend on wchar, as the first use
92636         of the new module.
92637         * MODULES.html.sh (Extended multibyte and wide character utilities):
92638         New section.
92640 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
92642         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
92643         to a reasonable default for memory allocation.
92644         (xreadlink): Don't allocate a huge buffer, to work around a buggy
92645         file system that reports garbage st_size values for symlinks.
92646         Problem reported by Liyang Hu.
92648 2007-01-11  Simon Josefsson  <simon@josefsson.org>
92650         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
92651         Emacs .#* auto-save files).
92653 2007-01-11  Bruno Haible  <bruno@clisp.org>
92655         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
92656         directory.
92658 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
92660         Use @...@ consistently in lib/wctype_.h.
92661         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
92662         on it being set to 1 or 0.
92663         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
92664         go back to AC_SUBSTing it.
92665         * modules/wctype (Makefile.am): Undo previous change.
92667 2007-01-10  Eric Blake  <ebb9@byu.net>
92669         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
92670         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
92671         * modules/wctype (Makefile.am): Likewise.
92672         Reported by Chris McGuire.
92674 2007-01-10  Jim Meyering  <jim@meyering.net>
92676         fts.c: a small readability/maintainability improvement
92677         * lib/fts.c (fts_read): Make this code slightly more readable and
92678         maintainable by hoisting the "sp->fts_cur = p" assignments to
92679         immediately follow the statements that set P.  Derived from
92680         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
92682 2007-01-10  Eric Blake  <ebb9@byu.net>
92684         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
92685         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
92686         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
92687         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
92688         Reported by Chris McGuire.
92690 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92692         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
92693         in sed script.
92695 2007-01-09  Bruno Haible  <bruno@clisp.org>
92697         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
92698         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
92699         variables.
92700         (func_module): Use them.
92702 2007-01-09  Bruno Haible  <bruno@clisp.org>
92704         * modules/unistr/base: New file.
92705         * lib/unistr.h: New file.
92707         * modules/unistr/u8-to-u16: New file.
92708         * lib/unistr/u8-to-u16.c: New file.
92710         * modules/unistr/u8-to-u32: New file.
92711         * lib/unistr/u8-to-u32.c: New file.
92713         * modules/unistr/u16-to-u8: New file.
92714         * lib/unistr/u16-to-u8.c: New file.
92716         * modules/unistr/u16-to-u32: New file.
92717         * lib/unistr/u16-to-u32.c: New file.
92719         * modules/unistr/u32-to-u8: New file.
92720         * lib/unistr/u32-to-u8.c: New file.
92722         * modules/unistr/u32-to-u16: New file.
92723         * lib/unistr/u32-to-u16.c: New file.
92725         * modules/unistr/u8-check: New file.
92726         * modules/unistr/u16-check: New file.
92727         * modules/unistr/u32-check: New file.
92728         * lib/unistr/u8-check.c: New file.
92729         * lib/unistr/u16-check.c: New file.
92730         * lib/unistr/u32-check.c: New file.
92732         * modules/unistr/u8-chr: New file.
92733         * modules/unistr/u16-chr: New file.
92734         * modules/unistr/u32-chr: New file.
92735         * lib/unistr/u8-chr.c: New file.
92736         * lib/unistr/u16-chr.c: New file.
92737         * lib/unistr/u32-chr.c: New file.
92739         * modules/unistr/u8-cmp: New file.
92740         * modules/unistr/u16-cmp: New file.
92741         * modules/unistr/u32-cmp: New file.
92742         * lib/unistr/u8-cmp.c: New file.
92743         * lib/unistr/u16-cmp.c: New file.
92744         * lib/unistr/u32-cmp.c: New file.
92746         * modules/unistr/u8-cpy: New file.
92747         * modules/unistr/u16-cpy: New file.
92748         * modules/unistr/u32-cpy: New file.
92749         * lib/unistr/u8-cpy.c: New file.
92750         * lib/unistr/u16-cpy.c: New file.
92751         * lib/unistr/u32-cpy.c: New file.
92752         * lib/unistr/u-cpy.h: New file.
92754         * modules/unistr/u8-cpy-alloc: New file.
92755         * modules/unistr/u16-cpy-alloc: New file.
92756         * modules/unistr/u32-cpy-alloc: New file.
92757         * lib/unistr/u8-cpy-alloc.c: New file.
92758         * lib/unistr/u16-cpy-alloc.c: New file.
92759         * lib/unistr/u32-cpy-alloc.c: New file.
92760         * lib/unistr/u-cpy-alloc.h: New file.
92762         * modules/unistr/u8-endswith: New file.
92763         * modules/unistr/u16-endswith: New file.
92764         * modules/unistr/u32-endswith: New file.
92765         * lib/unistr/u8-endswith.c: New file.
92766         * lib/unistr/u16-endswith.c: New file.
92767         * lib/unistr/u32-endswith.c: New file.
92768         * lib/unistr/u-endswith.h: New file.
92770         * modules/unistr/u8-mblen: New file.
92771         * modules/unistr/u16-mblen: New file.
92772         * modules/unistr/u32-mblen: New file.
92773         * lib/unistr/u8-mblen.c: New file.
92774         * lib/unistr/u16-mblen.c: New file.
92775         * lib/unistr/u32-mblen.c: New file.
92777         * modules/unistr/u8-mbtouc: New file.
92778         * modules/unistr/u16-mbtouc: New file.
92779         * modules/unistr/u32-mbtouc: New file.
92780         * lib/unistr/u8-mbtouc.c: New file.
92781         * lib/unistr/u16-mbtouc.c: New file.
92782         * lib/unistr/u32-mbtouc.c: New file.
92784         * modules/unistr/u8-mbtouc-safe: New file.
92785         * modules/unistr/u16-mbtouc-safe: New file.
92786         * modules/unistr/u32-mbtouc-safe: New file.
92787         * lib/unistr/u8-mbtouc-safe.c: New file.
92788         * lib/unistr/u16-mbtouc-safe.c: New file.
92789         * lib/unistr/u32-mbtouc-safe.c: New file.
92791         * modules/unistr/u8-move: New file.
92792         * modules/unistr/u16-move: New file.
92793         * modules/unistr/u32-move: New file.
92794         * lib/unistr/u8-move.c: New file.
92795         * lib/unistr/u16-move.c: New file.
92796         * lib/unistr/u32-move.c: New file.
92797         * lib/unistr/u-move.h: New file.
92799         * modules/unistr/u8-next: New file.
92800         * modules/unistr/u16-next: New file.
92801         * modules/unistr/u32-next: New file.
92802         * lib/unistr/u8-next.c: New file.
92803         * lib/unistr/u16-next.c: New file.
92804         * lib/unistr/u32-next.c: New file.
92806         * modules/unistr/u8-prev: New file.
92807         * modules/unistr/u16-prev: New file.
92808         * modules/unistr/u32-prev: New file.
92809         * lib/unistr/u8-prev.c: New file.
92810         * lib/unistr/u16-prev.c: New file.
92811         * lib/unistr/u32-prev.c: New file.
92813         * modules/unistr/u8-set: New file.
92814         * modules/unistr/u16-set: New file.
92815         * modules/unistr/u32-set: New file.
92816         * lib/unistr/u8-set.c: New file.
92817         * lib/unistr/u16-set.c: New file.
92818         * lib/unistr/u32-set.c: New file.
92819         * lib/unistr/u-set.h: New file.
92821         * modules/unistr/u8-startswith: New file.
92822         * modules/unistr/u16-startswith: New file.
92823         * modules/unistr/u32-startswith: New file.
92824         * lib/unistr/u8-startswith.c: New file.
92825         * lib/unistr/u16-startswith.c: New file.
92826         * lib/unistr/u32-startswith.c: New file.
92827         * lib/unistr/u-startswith.h: New file.
92829         * modules/unistr/u8-stpcpy: New file.
92830         * modules/unistr/u16-stpcpy: New file.
92831         * modules/unistr/u32-stpcpy: New file.
92832         * lib/unistr/u8-stpcpy.c: New file.
92833         * lib/unistr/u16-stpcpy.c: New file.
92834         * lib/unistr/u32-stpcpy.c: New file.
92835         * lib/unistr/u-stpcpy.h: New file.
92837         * modules/unistr/u8-stpncpy: New file.
92838         * modules/unistr/u16-stpncpy: New file.
92839         * modules/unistr/u32-stpncpy: New file.
92840         * lib/unistr/u8-stpncpy.c: New file.
92841         * lib/unistr/u16-stpncpy.c: New file.
92842         * lib/unistr/u32-stpncpy.c: New file.
92843         * lib/unistr/u-stpncpy.h: New file.
92845         * modules/unistr/u8-strcat: New file.
92846         * modules/unistr/u16-strcat: New file.
92847         * modules/unistr/u32-strcat: New file.
92848         * lib/unistr/u8-strcat.c: New file.
92849         * lib/unistr/u16-strcat.c: New file.
92850         * lib/unistr/u32-strcat.c: New file.
92851         * lib/unistr/u-strcat.h: New file.
92853         * modules/unistr/u8-strchr: New file.
92854         * modules/unistr/u16-strchr: New file.
92855         * modules/unistr/u32-strchr: New file.
92856         * lib/unistr/u8-strchr.c: New file.
92857         * lib/unistr/u16-strchr.c: New file.
92858         * lib/unistr/u32-strchr.c: New file.
92860         * modules/unistr/u8-strcmp: New file.
92861         * modules/unistr/u16-strcmp: New file.
92862         * modules/unistr/u32-strcmp: New file.
92863         * lib/unistr/u8-strcmp.c: New file.
92864         * lib/unistr/u16-strcmp.c: New file.
92865         * lib/unistr/u32-strcmp.c: New file.
92867         * modules/unistr/u8-strcpy: New file.
92868         * modules/unistr/u16-strcpy: New file.
92869         * modules/unistr/u32-strcpy: New file.
92870         * lib/unistr/u8-strcpy.c: New file.
92871         * lib/unistr/u16-strcpy.c: New file.
92872         * lib/unistr/u32-strcpy.c: New file.
92873         * lib/unistr/u-strcpy.h: New file.
92875         * modules/unistr/u8-strcspn: New file.
92876         * modules/unistr/u16-strcspn: New file.
92877         * modules/unistr/u32-strcspn: New file.
92878         * lib/unistr/u8-strcspn.c: New file.
92879         * lib/unistr/u16-strcspn.c: New file.
92880         * lib/unistr/u32-strcspn.c: New file.
92881         * lib/unistr/u-strcspn.h: New file.
92883         * modules/unistr/u8-strdup: New file.
92884         * modules/unistr/u16-strdup: New file.
92885         * modules/unistr/u32-strdup: New file.
92886         * lib/unistr/u8-strdup.c: New file.
92887         * lib/unistr/u16-strdup.c: New file.
92888         * lib/unistr/u32-strdup.c: New file.
92889         * lib/unistr/u-strdup.h: New file.
92891         * modules/unistr/u8-strlen: New file.
92892         * modules/unistr/u16-strlen: New file.
92893         * modules/unistr/u32-strlen: New file.
92894         * lib/unistr/u8-strlen.c: New file.
92895         * lib/unistr/u16-strlen.c: New file.
92896         * lib/unistr/u32-strlen.c: New file.
92897         * lib/unistr/u-strlen.h: New file.
92899         * modules/unistr/u8-strmblen: New file.
92900         * modules/unistr/u16-strmblen: New file.
92901         * modules/unistr/u32-strmblen: New file.
92902         * lib/unistr/u8-strmblen.c: New file.
92903         * lib/unistr/u16-strmblen.c: New file.
92904         * lib/unistr/u32-strmblen.c: New file.
92906         * modules/unistr/u8-strmbtouc: New file.
92907         * modules/unistr/u16-strmbtouc: New file.
92908         * modules/unistr/u32-strmbtouc: New file.
92909         * lib/unistr/u8-strmbtouc.c: New file.
92910         * lib/unistr/u16-strmbtouc.c: New file.
92911         * lib/unistr/u32-strmbtouc.c: New file.
92913         * modules/unistr/u8-strncat: New file.
92914         * modules/unistr/u16-strncat: New file.
92915         * modules/unistr/u32-strncat: New file.
92916         * lib/unistr/u8-strncat.c: New file.
92917         * lib/unistr/u16-strncat.c: New file.
92918         * lib/unistr/u32-strncat.c: New file.
92919         * lib/unistr/u-strncat.h: New file.
92921         * modules/unistr/u8-strncmp: New file.
92922         * modules/unistr/u16-strncmp: New file.
92923         * modules/unistr/u32-strncmp: New file.
92924         * lib/unistr/u8-strncmp.c: New file.
92925         * lib/unistr/u16-strncmp.c: New file.
92926         * lib/unistr/u32-strncmp.c: New file.
92928         * modules/unistr/u8-strncpy: New file.
92929         * modules/unistr/u16-strncpy: New file.
92930         * modules/unistr/u32-strncpy: New file.
92931         * lib/unistr/u8-strncpy.c: New file.
92932         * lib/unistr/u16-strncpy.c: New file.
92933         * lib/unistr/u32-strncpy.c: New file.
92934         * lib/unistr/u-strncpy.h: New file.
92936         * modules/unistr/u8-strnlen: New file.
92937         * modules/unistr/u16-strnlen: New file.
92938         * modules/unistr/u32-strnlen: New file.
92939         * lib/unistr/u8-strnlen.c: New file.
92940         * lib/unistr/u16-strnlen.c: New file.
92941         * lib/unistr/u32-strnlen.c: New file.
92942         * lib/unistr/u-strnlen.h: New file.
92944         * modules/unistr/u8-strpbrk: New file.
92945         * modules/unistr/u16-strpbrk: New file.
92946         * modules/unistr/u32-strpbrk: New file.
92947         * lib/unistr/u8-strpbrk.c: New file.
92948         * lib/unistr/u16-strpbrk.c: New file.
92949         * lib/unistr/u32-strpbrk.c: New file.
92950         * lib/unistr/u-strpbrk.h: New file.
92952         * modules/unistr/u8-strrchr: New file.
92953         * modules/unistr/u16-strrchr: New file.
92954         * modules/unistr/u32-strrchr: New file.
92955         * lib/unistr/u8-strrchr.c: New file.
92956         * lib/unistr/u16-strrchr.c: New file.
92957         * lib/unistr/u32-strrchr.c: New file.
92959         * modules/unistr/u8-strspn: New file.
92960         * modules/unistr/u16-strspn: New file.
92961         * modules/unistr/u32-strspn: New file.
92962         * lib/unistr/u8-strspn.c: New file.
92963         * lib/unistr/u16-strspn.c: New file.
92964         * lib/unistr/u32-strspn.c: New file.
92965         * lib/unistr/u-strspn.h: New file.
92967         * modules/unistr/u8-strstr: New file.
92968         * modules/unistr/u16-strstr: New file.
92969         * modules/unistr/u32-strstr: New file.
92970         * lib/unistr/u8-strstr.c: New file.
92971         * lib/unistr/u16-strstr.c: New file.
92972         * lib/unistr/u32-strstr.c: New file.
92973         * lib/unistr/u-strstr.h: New file.
92975         * modules/unistr/u8-strtok: New file.
92976         * modules/unistr/u16-strtok: New file.
92977         * modules/unistr/u32-strtok: New file.
92978         * lib/unistr/u8-strtok.c: New file.
92979         * lib/unistr/u16-strtok.c: New file.
92980         * lib/unistr/u32-strtok.c: New file.
92981         * lib/unistr/u-strtok.h: New file.
92983         * modules/unistr/u8-uctomb: New file.
92984         * modules/unistr/u16-uctomb: New file.
92985         * modules/unistr/u32-uctomb: New file.
92986         * lib/unistr/u8-uctomb.c: New file.
92987         * lib/unistr/u16-uctomb.c: New file.
92988         * lib/unistr/u32-uctomb.c: New file.
92990         * MODULES.html.sh (Unicode string functions): Add the new modules.
92992 2007-01-08  Bruno Haible  <bruno@clisp.org>
92994         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
92995         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
92996         subdirectories.
92998 2007-01-08  Karl Berry  <karl@gnu.org>
93000         * doc/error.texi: mention that main() fns must set program_name
93001         when progname is used.
93003 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
93005         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
93006         WCTYPE_H is empty, for the benefit of builds from non-distclean
93007         directories.  Problem reported by Eric Blake in
93008         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00157.html>.
93010 2007-01-08  Bruno Haible  <bruno@clisp.org>
93012         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
93013         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
93014         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
93015         PROVIDE_CANONICALIZE_FILENAME_MODE.
93016         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
93018 2007-01-08  Bruno Haible  <bruno@clisp.org>
93020         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
93021         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
93022         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
93023         * lib/fts.c: Likewise.
93024         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
93026 2006-12-25  Bruno Haible  <bruno@clisp.org>
93028         * modules/utf8-ucs4-safe: New file.
93029         * lib/utf8-ucs4-safe.h: New file.
93030         * lib/unistr/utf8-ucs4-safe.c: New file.
93032         * modules/utf16-ucs4-safe: New file.
93033         * lib/utf16-ucs4-safe.h: New file.
93034         * lib/unistr/utf16-ucs4-safe.c: New file.
93036         * MODULES.html.sh (Unicode string functions): Add the new modules.
93038 2007-01-08  Bruno Haible  <bruno@clisp.org>
93040         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
93041         (Depends-on): Add unitypes.
93042         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
93043         (u8_mbtouc_aux): Move out to separate file.
93044         (u8_mbtouc): Use ucs4_t, uint8_t types.
93045         * lib/unistr/utf8-ucs4.c: New file.
93047         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
93048         (Depends-on): Add unitypes.
93049         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
93050         (u16_mbtouc_aux): Move out to separate file.
93051         (u16_mbtouc): Use ucs4_t, uint16_t types.
93052         * lib/unistr/utf16-ucs4.c: New file.
93054         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
93055         (Depends-on): Add unitypes.
93056         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
93057         (u8_uctomb_aux): Move out to separate file.
93058         (u8_uctomb): Use ucs4_t, uint8_t types.
93059         * lib/unistr/ucs4-utf8.c: New file.
93061         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
93062         (Depends-on): Add unitypes.
93063         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
93064         (u16_uctomb_aux): Move out to separate file.
93065         (u16_uctomb): Use ucs4_t, uint16_t types.
93066         * lib/unistr/ucs4-utf16.c: New file.
93068 2006-12-25  Bruno Haible  <bruno@clisp.org>
93070         * modules/unitypes: New file.
93071         * lib/unitypes.h: New file.
93072         * MODULES.html.sh (func_all_modules): New section "Unicode string
93073         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
93074         this section. Add unitypes.
93076 2007-01-08  Bruno Haible  <bruno@clisp.org>
93078         Avoid variable names that conflict with those from libtool.
93079         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
93080         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
93081         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
93082         library_names_spec to acl_library_names_spec, hardcode_* to
93083         acl_hardcode_*.
93084         Reported by Ralf Wildenhues.
93086 2007-01-08  Bruno Haible  <bruno@clisp.org>
93088         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
93089         definition.
93090         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
93091         definition.
93092         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
93093         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
93094         definition.
93095         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
93096         definition.
93097         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
93098         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
93099         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
93100         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
93101         definition.
93102         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
93103         definition.
93104         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
93105         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
93106         GC_USE_<algorithm>.
93107         * lib/gc-libgcrypt.c: Likewise.
93108         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
93109         * modules/gc-arctwo (configure.ac): Likewise.
93110         * modules/gc-des (configure.ac): Likewise.
93111         * modules/gc-hmac-md5 (configure.ac): Likewise.
93112         * modules/gc-hmac-sha1 (configure.ac): Likewise.
93113         * modules/gc-md2 (configure.ac): Likewise.
93114         * modules/gc-md4 (configure.ac): Likewise.
93115         * modules/gc-md5 (configure.ac): Likewise.
93116         * modules/gc-random (configure.ac): Likewise.
93117         * modules/gc-rijndael (configure.ac): Likewise.
93118         * modules/gc-sha1 (configure.ac): Likewise.
93120 2007-01-08  Bruno Haible  <bruno@clisp.org>
93122         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
93123         macro definition.
93124         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
93125         definition.
93126         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
93127         definition.
93128         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
93129         * modules/fcntl-safer (configure.ac): Likewise.
93130         * modules/fopen-safer (configure.ac): Likewise.
93131         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
93132         GNULIB_FWRITEERROR macro definition.
93134 2007-01-08  Bruno Haible  <bruno@clisp.org>
93136         * m4/gnulib-common.m4: New file.
93137         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
93138         (func_get_filelist): Add m4/gnulib-common.m4.
93140 2007-01-08  Bruno Haible  <bruno@clisp.org>
93142         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
93143         command.
93145 2007-01-08  Jim Meyering  <jim@meyering.net>
93147         Use a more robust test for a "can't happen" condition.
93148         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
93149         narrowed the st_size value.  Presuming the "can't happen" condition
93150         is true, that narrowing could conceivably convert an invalid st_size
93151         value into a valid one.  Instead, use a change based on Matthew
93152         Woehlke's original patch.
93154         Slight readability improvement: use an assert-like macro
93155         in place of literal "abort ()" uses.
93156         * lib/fts.c (fts_assert): Define.
93157         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
93158         Use this macro instead of a bare 'abort'.
93160 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
93162         Don't worry about using IRIX 5.3's wctype.h broken definitions;
93163         simply work around them.
93164         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
93165         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
93166         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
93167         declaring.
93168         Don't bother to define as macros, since the standard doesn't require it.
93169         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
93170         longer worry about IRIX 5.3.
93171         (HAVE_WCTYPE_CTMP_BUG): Remove.
93173 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
93175         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
93176         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
93177         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
93178         Problems reported by Georg Schwarz for IRIX 5.3.
93180         * gnulib-tool (autoconf_minversion): Take the maximum version number
93181         found, not the minimum.  Problem reported by James Youngman.
93183 2007-01-03  Karl Berry  <karl@gnu.org>
93185         * doc/error.texi: new file, explaining interaction with progname.
93186         * doc/gnulib.texi: include it.  Update copyright.
93188 2007-01-03  Simon Josefsson  <simon@josefsson.org>
93190         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
93191         AC_CANONICAL_HOST, to improve autobuild outputs.
93193 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
93194             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
93196         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
93197         sockets, server sockets, and other file descriptors.  Count errors
93198         to compute the return value.  Reorder the code a bit to be easier
93199         to follow.  Don't set event bits that were not requested (except
93200         POLLERR and POLLHUP).
93202 2007-01-01  Bruno Haible  <bruno@clisp.org>
93204         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
93206 2007-01-03  Jim Meyering  <jim@meyering.net>
93208         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
93210 2007-01-02  Bruno Haible  <bruno@clisp.org>
93212         * modules/settime (Include): Require timespec.h.
93213         * modules/nanosleep (Include): Likewise.
93215 2007-01-01  Bruno Haible  <bruno@clisp.org>
93217         * gnulib-tool (func_emit_copyright_notice): Bump year.
93218         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
93220 2007-01-01  Bruno Haible  <bruno@clisp.org>
93222         Improve support for OpenBSD.
93223         * build-aux/config.rpath (libname_spec): Export.
93224         (library_names_spec): New variable. Export.
93225         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
93226         library_names_spec from the config.rpath output. Locate shared library
93227         through the name pattern in library_names_spec.
93229 2007-01-01  Eric Blake  <ebb9@byu.net>
93231         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
93233 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
93235         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
93236         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
93237         assume the C locale, and avoid an "eval" that could cause trouble.
93238         Problem with SORT reported by Bob Proulx.
93240         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
93241         Define.  Trivial patch from Henning Nielsen Lund, originally
93242         sent to bug-grep@gnu.org today.
93244 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
93246         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
93247         struct stat.  Problem reported by Henning Nielsen Lund.
93248         * lib/acl.c: Include acl.h first, to check interface.  Don't
93249         bother to include sys/types.h and sys/stat.h again.
93251 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
93253         Import the following change from libc; problem reported by
93254         Sven Verdoolaege.
93256         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
93258         [BZ #1373]
93259         * lib/argp.h: Remove __NTH for __argp_usage inline function.
93261 2006-12-28  Jim Meyering  <jim@meyering.net>
93263         * build-aux/announce-gen: Do not assume that the package
93264         builds any of tar.gz, tar.bz2, and .xdelta files.
93265         Suggestion from Simon Josefsson.
93267 2006-12-28  Simon Josefsson  <simon@josefsson.org>
93269         * modules/announce-gen: New file.
93271 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
93273         * lib/mbchar.h: Just include <wctype.h>; the wctype module
93274         handles its gotchas now.
93275         * lib/mbswidth.c: Likewise.
93276         * lib/wcwidth.h: Likewise.
93277         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
93278         and iswcntrl; the wctype module does this stuff now.
93279         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
93280         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
93281         * modules/mbchar (Depends-on): Add wctype.
93282         * modules/mbswidth (Depends-on): Likewise.
93283         * modules/wcwidth (Depends-on): Likewise.
93285 2006-12-27  Eric Blake  <ebb9@byu.net>
93287         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
93288         module uses more than what <wctype.h> is required to provide.
93290 2006-12-26  Eric Blake  <ebb9@byu.net>
93292         * gnulib-tool (sed_extract_prog): Avoid space-tab.
93294 2006-12-26  Eric Blake  <ebb9@byu.net>
93296         * modules/absolute-header: New module.
93297         * modules/fcntl (Depends-on): Depend on it.
93298         * modules/inttypes (Depends-on): Likewise.
93299         * modules/stdint (Depends-on): Likewise.
93300         * modules/sys_stat (Depends-on): Likewise.
93301         * modules/wctype (Depends-on): Likewise.
93302         * MODULES.html.sh (Support for building libraries and
93303         executables): Document it.
93305 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
93307         * gnulib-tool (SED): Remove, undoing previous change.
93308         The problem was that it broke coreutils on Solaris, because
93309         "sed --posix" leaked into a makefile.
93310         (sed): New alias, if 'alias' and GNU sed.
93312 2006-12-24  Jim Meyering  <jim@meyering.net>
93314         Work around an fchownat bug in glibc-2.4:
93315         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
93316         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
93317         in spite of the -P option.
93318         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
93319         New macros.
93320         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
93321         * modules/openat (Files): Add lib/fchownat.c.
93322         * lib/openat.c (fchownat): Don't define here.  Move to...
93323         * lib/fchownat.c: ...this new file.
93325 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
93327         Fix bug reported by Bruno Haible in
93328         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00228.html>
93329         where quotearg.c didn't compile on Mac OS X 10.2 because it
93330         lacks <wchar.h> and wint_t.
93331         * lib/wctype_.h (__wctype_wint_t): New type.
93332         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
93333         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
93334         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
93335         Arg is now of type __wctype_wint_t, not wint_t.
93336         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
93337         substitute HAVE_WINT_T.
93338         * modules/wctype (Files): Add m4/wint_t.m4.
93339         (wctype.h): Substitute HAVE_WINT_T.
93341 2006-12-23  Bruno Haible  <bruno@clisp.org>
93343         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
93345 2006-12-23  Bruno Haible  <bruno@clisp.org>
93347         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
93348         S_ISLNK.
93349         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
93350         mingw.
93352 2006-12-22  Bruno Haible  <bruno@clisp.org>
93354         * lib/copy-file.c: Include acl.h.
93355         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
93356         Close the file descriptors only after being done with copy_acl.
93357         * modules/copy-file (Depends-on): Add acl.
93359 2006-12-22  Bruno Haible  <bruno@clisp.org>
93361         * gnulib-tool (SED): New variable.
93362         Use $SED instead of sed everywhere.
93364 2006-12-22  Bruno Haible  <bruno@clisp.org>
93366         * modules/no-c++: New file.
93367         * m4/no-c++.m4: New file.
93368         * MODULES.html.sh (Support for building libraries and executables):
93369         Add no-c++.
93371 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
93373         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
93374         Include <limits.h>, and use its INT_MAX to rewrite the
93375         j loop so that it does not overflow 'int'.  Problem reported by
93376         Ralf Wildenhues in
93377         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00084.html>.
93378         Play it safe by shifting left by 1 rather than multiplying by 2,
93379         as GCC is less likely to optimize this away when the value
93380         is signed (when it assumes overflow leads to undefined behavior).
93381         Also, don't assume time_t uses two's complement.
93383 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
93385         * MODULES.html.sh: New module wctype.
93386         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
93387         * lib/fnmatch.c: Don't bother to include <wchar.h> before
93388         <wctype.h>, since the new wctype module should fix this.
93389         * lib/quotearg.c: Include <wctype.h> unconditionally, since
93390         the wctype module should arrange for it.
93391         * lib/regex_internal.h: Likewise.
93392         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
93393         since the wctype module should handle this now.
93394         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
93395         * modules/fnmatch (Depends-on): Add wctype.
93396         * modules/quotearg (Depends-on): Likewise.
93397         * modules/regex (Depends-on): Likewise.
93399 2006-12-19  Bruno Haible  <bruno@clisp.org>
93401         * lib/strdup.h [C++]: Wrap definitions in extern "C".
93402         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
93404 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93406         * modules/savewd (Depends-on): Fix dependency on fcntl.
93408 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
93410         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
93411         conforms to C99, rather than relying on the user's environment
93412         setting of STDINT_H.
93414 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
93415         and Eric Blake  <ebb9@byu.net>
93417         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
93418         This is more consistent with the other defines here.
93419         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
93420         Port to z/OS.  Problem reported by Paul Gilmartin.
93421         Change local vars to use gl_ prefix rather than ac_.
93422         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
93423         with other defines.
93424         * modules/double-slash-root: New module.
93425         * modules/dirname (Files): Remove m4/double-slash-root.m4.
93426         (Depends-on): Add double-slash-root.
93427         * MODULES.html.sh (File system functions): Mention new module.
93429 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
93431         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
93432         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
93433         This is for the benefit of gzip, which doesn't do i18n.
93435 2006-12-12  Jim Meyering  <jim@meyering.net>
93437         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
93438         Reported by Andreas Schwab <schwab@suse.de>.
93440 2006-12-12  Bruno Haible  <bruno@clisp.org>
93442         Merge these changes.
93443         2006-09-05  Bruno Haible  <bruno@clisp.org>
93444         * lib/iconvme.c (iconv_string): No need to save and restore errno when
93445         iconv_alloc succeeded.
93446         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
93447         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
93448         test for " && dest " at the end - dest is always != NULL there. Call
93449         iconv with 4xNULL arguments initially, to reset the state. Call iconv
93450         with 2xNULL arguments, also to flush the state storage. Handle the
93451         IRIX iconv behaviour. Realloc the final result, to throw away unused
93452         memory.
93454 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
93456         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
93457         and fchmodat unconditionally, since glibc 2.4 has them.
93458         Problem reported by Arkadiusz Miskiewicz.
93460 2006-12-10  Bruno Haible  <bruno@clisp.org>
93462         * gnulib-tool (func_import): Show the include files only for those
93463         modules that are copied and specified.
93464         Reported by Karl Berry.
93466 2006-12-08  Jim Meyering  <jim@meyering.net>
93468         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
93469         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
93471         * build-aux/announce-gen: Add two new options, both optional:
93472         --bootstrap-tools=TOOL_LIST
93473               a comma-separated list of tools, e.g.,
93474               autoconf,automake,bison,gnulib
93475         --gnulib-snapshot-date=DATE
93476               if gnulib is in the bootstrap tool list,
93477               then report this as the snapshot date.
93478               If not specified, use the current date/time.
93479               If you specify a date here, be sure it's UTC.
93481 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93483         * tests/test-argp-2.sh: Fix test to match actual output.
93484         (func_compare): Fix sed script to be portable.
93486 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
93488         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
93489         workaround for this case.  It is not autoconfigured now; offhand
93490         it's hard to see how to autoconfigure it.
93492 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
93494         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
93495         a directory that is about to be chowned.  Such a directory's
93496         initial file permissions should permit the owner only and this
93497         should not be changed until after the chown, since the group and
93498         other bits would be incorrect if they granted permission before
93499         the chown.
93501         Fix porting problem for iswctype reported by Georg Schwarz in:
93502         http://lists.gnu.org/r/bug-coreutils/2006-12/msg00017.html
93503         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
93504         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
93505         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
93506         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
93508 2006-12-03  Jim Meyering  <jim@meyering.net>
93510         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
93511         p->fts_statp may not yet be defined.
93512         (fts_read): Instead, set it in the caller, once p->fts_statp is
93513         sure to be defined, and corresponds to a top-level directory.
93514         This bug made du -x fail.  Here's the coreutils test case:
93515         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
93516         Reported by Mike Frysinger.
93518 2006-12-01  Jim Meyering  <jim@meyering.net>
93520         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
93521         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
93522         Reported by Simon Josefsson.
93524 2006-11-30  Jim Meyering  <jim@meyering.net>
93526         * m4/warning.m4: Use the all-permissive copyright notice
93527         recommended by RMS (rather than LGPL).
93528         * m4/vararrays.m4: Likewise.
93529         * m4/flexmember.m4: Likewise.
93531 2006-11-29  Bruno Haible  <bruno@clisp.org>
93533         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
93534         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
93535         using +=.
93536         Reported by Simon Josefsson <simon@josefsson.org>.
93538 2006-11-28  James Youngman  <jay@gnu.org>
93540         * README: Advise users that they might find the bug-gnulib@gnu.org
93541         and autotools-announce@gnu.org mailing lists useful.
93543 2006-11-28  Bruno Haible  <bruno@clisp.org>
93545         * m4/ptrdiff_max.m4: Remove file.
93547 2006-11-21  Bruno Haible  <bruno@clisp.org>
93549         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
93550         _AC_COMPUTE_INT.
93551         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
93552         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
93553         _AC_COMPUTE_INT.
93554         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
93555         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
93556         _AC_COMPUTE_INT.
93557         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
93559 2006-11-28  Jim Meyering  <jim@meyering.net>
93561         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
93562         warning from "gcc -Wshadow" about shadowing the builtin.
93564 2006-11-27  Bruno Haible  <bruno@clisp.org>
93566         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
93567         _AC_COMPUTE_INT.
93568         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
93570 2006-11-27  Bruno Haible  <bruno@clisp.org>
93571             Paul Eggert  <eggert@cs.ucla.edu>
93573         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
93575 2006-11-26  Bruno Haible  <bruno@clisp.org>
93577         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
93578         noinst_LTLIBRARIES.
93580 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
93581             Bruno Haible  <bruno@clisp.org>
93583         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
93584         if compiling with "gcc -ansi".
93586 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
93588         Fix some incompatibilities with gcc -ansi -pedantic.
93589         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
93590         if compiling pedantically with GCC, unless it's C99 or later.
93591         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
93592         it mishandles gcc -ansi -pedantic as well.
93593         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
93594         if gcc -pedantic.
93595         * lib/regexec.c (check_node_accept_bytes): Don't use auto
93596         initializers for struct if -pedantic, unless it's C99 or later.
93598 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
93600         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
93601         Don't close an fd more than once. Identical atimes indicate
93602         success, not failure.
93604 2006-11-22  Robinson Mittmann  <bob@hoplon.com>  (tiny change)
93606         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
93608 2006-11-23  Jim Meyering  <jim@meyering.net>
93610         * build-aux/announce-gen: New file.  From coreutils.
93612 2006-11-22  Jim Meyering  <jim@meyering.net>
93614         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
93615         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
93616         (fts_read): Use a temporary to narrow the overused st_size member
93617         before using it in a switch statement.  Reported by Matthew Woehlke.
93619         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
93620         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
93622 2006-11-20  Bruno Haible  <bruno@clisp.org>
93624         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
93625         changequote instead of pairs of brackets.
93626         Reported by Andreas Schwab <schwab@suse.de>.
93628 2006-11-21  Jim Meyering  <jim@meyering.net>
93630         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
93631         so as to remain compatible with older compilers.
93632         Patch from Michael Deutschmann.
93634 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
93636         * MODULES.html.sh (File system functions): Add openat.
93638         * lib/openat.h (rpl_fstatat): New macro, if
93639         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
93640         (fstatat): Define to rpl_fstatat under the same conditions,
93641         unless COMPILING_FSTATAT.
93642         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
93643         seems to have the bug.
93644         * lib/fstatat.c: New file.
93645         * modules/openat (Files): Add it.
93647 2006-11-20  Bruno Haible  <bruno@clisp.org>
93649         * Makefile: New file.
93651 2006-11-20  Jim Meyering  <jim@meyering.net>
93653         The beginnings of syntax-related checks for gnulib.
93654         * lib/Makefile: New file.
93655         * lib/t-idcache: New script.  Ensure that the two halves of
93656         idcache.c stay in sync.
93658         * lib/idcache.c: Adjust comments in user- and group- portions to
93659         be more accurate, and to be consistent with one another.
93661 2006-11-20  Jim Meyering  <jim@meyering.net>
93663         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
93664         continue using the flexible array member (thus, this module performs
93665         half as many malloc calls), with the addition that...
93666         (getgroup, getuser): Consistently record a non-match via an empty
93667         "name" string, and map an empty string match to a NULL return value.
93668         * modules/idcache (Depends-on): Re-add flexmember.
93670         * lib/idcache.c (getuser): Remove all uses of the register keyword.
93671         (getuidbyname, getgroup, getgidbyname): Likewise.
93673         Use cleaner syntax: NULL rather than 0.
93674         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
93676 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
93678         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
93679         It mishandled the case where the group was missing.
93680         Problem reported by Greg Schafer.
93681         * modules/idcache: Likewise.
93683 2006-11-18  Jim Meyering  <jim@meyering.net>
93685         * check-module (%exempt_header): Add exception for some
93686         conditionally-included headers.
93688         * modules/i-ring (Depends-on): Add verify.
93689         (License): Change to LGPL.
93691 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
93693         * modules/getaddrinfo (Depends-on): Remove inttostr; add snprintf.
93694         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
93695         and inttostr.h.  Use snprintf rather than uinttostr, so that
93696         LGPLed code doesn't depend on GPLed.
93698 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
93700         * modules/inline (License): Change from GPL to LGPL.
93702 2006-11-17  Jim Meyering  <jim@meyering.net>
93704         * modules/d-type (License): Switch to LGPL.
93706 2006-11-15  Bruno Haible  <bruno@clisp.org>
93708         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
93710 2006-11-15  Eric Blake  <ebb9@byu.net>
93712         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
93713         the module dependency.
93715 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93716             Bruno Haible  <bruno@clisp.org>
93718         * gnulib-tool (func_create_testdir): Add license consistency check.
93720 2006-11-15  Eric Blake  <ebb9@byu.net>
93722         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
93723         random "(cached)" in configure output.
93725 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93727         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
93728         test for conforming inttypes.h is both announced and cached.
93730         * MODULES.html.sh (seen_modules, seen_files): New variables.
93731         (func_module): Rewrite to use a few less gnulib-tool and sed
93732         invocations.  Avoid a couple of quadratic algorithms for ...
93733         (missed_modules, missed_files): ... these, with ...
93734         (func_append, func_tmpdir): ... these new functions, from
93735         gnulib-tool.  Analogously, install traps for cleanup.
93737         * tests/test-gc.c (main): Remove unused variables.
93738         * tests/test-read-file.c: Include stdlib.h, for 'free'.
93740 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
93742         * modules/inttostr (License): Change to LGPL.
93744 2006-11-14  Eric Blake  <ebb9@byu.net>
93746         * modules/tempname (License): Change to LGPL.
93748 2006-11-14  Eric Blake  <ebb9@byu.net>
93750         * doc/functions.texi (Function Portability): *printf functions on
93751         Cygwin now understand all POSIX size specifiers.
93753 2006-11-14  Bruno Haible  <bruno@clisp.org>
93755         * modules/c-ctype (License): Change to LGPL.
93757 2006-11-12  Bruno Haible  <bruno@clisp.org>
93759         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
93760         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
93761         for GNOME libraries, for which the include files are installed in
93762         subdirectories of $prefix/include.
93764 2006-11-12  Bruno Haible  <bruno@clisp.org>
93766         * m4/lib-link.m4: Require at least autoconf-2.54.
93767         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
93768         name to underscores for the --with option.
93770 2006-11-13  Bruno Haible  <bruno@clisp.org>
93772         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
93773         the tests directory.
93774         Reported by Ralf Wildenhues.
93776 2006-11-13  Bruno Haible  <bruno@clisp.org>
93778         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
93779         (func_emit_initmacro_end): Undo the override here.
93780         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
93781         Works around the famous automake error in coreutils.
93783 2006-11-13  Eric Blake  <ebb9@byu.net>
93785         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
93786         element, not its node.
93788 2006-11-12  Bruno Haible  <bruno@clisp.org>
93790         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
93791         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
93793 2006-11-12  Bruno Haible  <bruno@clisp.org>
93795         * gnulib-tool: New option --local-symlink.
93796         (func_usage): Document it.
93797         (lsymbolic): New variable.
93798         (func_import, func_create_testdir): If --symlink was not specified,
93799         test whether --local-symlink was specified and the file comes from
93800         the local_gnulib_dir.
93802 2006-11-12  Bruno Haible  <bruno@clisp.org>
93804         * gnulib-tool (func_ln): New function.
93805         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
93807 2006-11-12  Bruno Haible  <bruno@clisp.org>
93809         Finish support for source files in subdirectories.
93810         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
93811         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
93812         AUTOMAKE_OPTIONS.
93813         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
93815 2006-11-12  Bruno Haible  <bruno@clisp.org>
93817         * gnulib-tool (func_get_automake_snippet): Synthesize also an
93818         EXTRA_lib_SOURCES augmentation.
93819         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
93821 2006-11-12  Jim Meyering  <jim@meyering.net>
93823         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
93824         file descriptors.  This also averts a failure on systems with
93825         native openat support when a traversed directory lacks "x" access.
93826         * lib/fts_.h: Include "i-ring.h"
93827         (struct FTS) [fts_fd_ring]: New member.
93828         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
93829         (FCHDIR): Add parentheses.
93830         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
93831         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
93832         When descending, rather than simply closing the previous
93833         fts_cwd_fd value, push that file descriptor onto the ring.
93834         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
93835         (fts_open): Initialize the new fd_ring member.
93836         (fts_close): Clear the ring.
93837         (fts_safe_changedir): When possible, use our new fd_ring to skip
93838         the diropen and fstat and dev/ino comparison that would normally
93839         accompany a virtual `chdir ("..")'.
93841         * modules/fts (Depends-on): Add i-ring.
93842         * modules/i-ring: New module.
93843         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
93844         * m4/i-ring.m4: New file.
93846 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93848         * gnulib-tool (func_create_testdir): Fix replacement of
93849         `build-aux' in configure.ac.  Run autotools in gltests
93850         subdirectory.
93851         (func_create_testdir, func_create_megatestdir, test): There is
93852         no need for '--force' in most autotool invocations in a new
93853         tree.  Actually fail the whole test if any of the tools, or the
93854         configure or make stages fail.
93856         Sync from Automake.
93857         * build-aux/gnupload: Revert last change.  Add pointer to upload
93858         instructions of the GNU Maintenance Instructions.
93859         Suggestion by Karl Berry.
93861 2006-11-10  Jim Meyering  <jim@meyering.net>
93863         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
93865 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
93867         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
93868         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
93869         (bind_textdomain_codeset) [! ENABLE_NLS]:
93870         Evaluate all the arguments.  That way, callers get compatible behavior
93871         if the arguments have side effects.  Also, it avoids some GCC
93872         diagnostics in some cases; Joel E. Denny reported problems when Bison
93873         was configured with --enable-gcc-warnigs.
93875 2006-11-10  Jim Meyering  <jim@meyering.net>
93877         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
93878         relevant options in CFLAGS (like -O, -fno-inline) are taken into
93879         account.
93881 2006-11-10  Jim Meyering  <jim@meyering.net>
93883         * modules/inline: New file/module.
93884         * modules/xalloc (Files): Remove m4/inline.m4.
93885         (Depends-on): Add inline, instead.
93886         * modules/oset: Likewise.
93887         * modules/list: Likewise.
93889 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
93891         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
93892         Problem reported by Matthew Woehlke.
93894 2006-11-09  Bruno Haible  <bruno@clisp.org>
93896         * lib/tempname.c (gen_tempname): Remove variant that invokes
93897         __gen_tempname.
93898         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
93899         __gen_tempname.
93901 2006-11-08  Bruno Haible  <bruno@clisp.org>
93903         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
93904         to 'yes' instead of 'cross-compiling'.
93906 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
93908         * lib/quotearg.h (quotearg_free): New decl.
93909         * lib/quotearg.c (quotearg_free): New function.
93910         (slot0, nslots, slotvec0, slotvec):
93911         Now file-scope so that quotearg_free can get at them.
93913 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93915         Sync from Automake.
93916         * build-aux/gnupload: Add missing 'gnu' to example URL.
93917         Report by Karl Berry.
93919 2006-11-08  Bruno Haible  <bruno@clisp.org>
93921         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
93922         Suggested by Paul Eggert.
93924 2006-11-08  Jim Meyering  <jim@meyering.net>
93926         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
93927         It's already included if !_LIBC.
93928         (fts_safe_changedir): Add a comment.
93930 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
93932         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
93933         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
93934         Matthew Woehlke.
93936         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
93937         definitions up, to avoid colliding with change below.
93938         (static_inline) [HAVE_INLINE]: New macro.
93939         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
93940         Provide extern decls when !HAVE_INLINE.  Do not define unless
93941         static_inline is defined, either by us or by xmalloc.c.  Use
93942         static_inline rather than static inline.
93943         (XCALLOC): Optimize sizeof(T) = 1 case.
93944         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
93946 2006-11-07  Bruno Haible  <bruno@clisp.org>
93948         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
93949         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
93950         AC_C_INLINE.
93951         * modules/xalloc (Files): Add m4/inline.m4.
93953 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93955         * README: Fix typo.
93956         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
93957         (Miscellanous Notes): ...from this.
93959 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
93961         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
93962         Mention that offsetof should be used instead of sizeof.
93963         From Bruno Haible.
93965 2006-11-07  Bruno Haible  <bruno@clisp.org>
93967         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
93969 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
93971         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
93972         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
93973         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
93974         (gl_tree_add_before, gl_tree_add_after):
93975         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
93976         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
93977         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
93978         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
93979         (gl_linked_add_after, gl_linked_add_at): Likewise.
93980         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
93981         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
93982         (gl_tree_add_before, gl_tree_add_after): Likewise.
93983         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
93984         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
93985         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
93987 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93989         * lib/gl_oset.h: Use C comment style, not C++ comment style.
93991 2006-11-06  Bruno Haible  <bruno@clisp.org>
93993         * m4/inline.m4: New file.
93994         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
93995         * modules/list (Files): Add m4/inline.m4.
93996         * modules/oset (Files): Likewise.
93998 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
94000         * lib/idcache.c: Include <stddef.h>, for offsetof.
94001         (struct userid.name): Change from char * to a flexible array member.
94002         All uses changed.
94003         * modules/idcache (Depends-on): Add flexmember.
94005         * MODULES.html.sh (Core language properties): New module flexmember.
94006         * modules/flexmember, m4/flexmember.m4: New files.
94008         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
94009         inline functions that are identical with the old xnmalloc_inline,
94010         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
94011         that we can avoid some unnecessary integer multiplications and
94012         divisions in the common case where the element size is known at
94013         compile time.
94014         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
94015         needed.
94016         (xnboundedmalloc): Remove.
94017         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
94018         arguments, for consistency with rest of this header.
94019         (xcharalloc): Rewrite using XNMALLOC.
94020         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
94021         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
94022         versions have been moved to lib/xalloc.h and renamed to be the
94023         non-*_inline versions.
94024         (xmalloc, xrealloc): Implement without reference to the xnmalloc
94025         and xnrealloc functions, since those functions are now inline and
94026         now call us.
94027         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
94028         renaming described above.
94029         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
94030         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
94031         captures the dependency in AC_C_INLINE.
94033         New module canonicalize-lgpl, proposed by Charles Wilson in
94034         <http://lists.gnu.org/r/bug-gnulib/2006-11/msg00020.html>
94035         with a few small changes afterwards.
94036         * MODULES.html.sh (File system functions): New module
94037         canonicalize-lgpl.
94038         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
94039         and canonicalize_file_name.
94040         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
94041         * modules/canonicalize-lgpl: New files.
94043 2006-11-05  Bruno Haible  <bruno@clisp.org>
94045         * gnulib-tool (func_import, func_create_testdir): Create directories
94046         also for files in subdirectories of lib/.
94048 2006-11-05  Bruno Haible  <bruno@clisp.org>
94050         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
94051         ANSI C compliant.
94053 2006-11-03  Bruno Haible  <bruno@clisp.org>
94055         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
94056         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
94057         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
94058         (xnboundedmalloc): New inline function.
94059         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
94060         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
94061         xmalloc.
94062         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
94063         xmalloc.
94064         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
94065         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
94066         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
94067         xmalloc.
94068         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
94069         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
94070         xmalloc.
94071         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
94072         gl_tree_add_after): Use XMALLOC instead of xmalloc.
94073         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
94074         xmalloc.
94075         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
94076         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
94077         gl_tree_add_after): Use XMALLOC instead of xmalloc.
94078         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
94079         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
94080         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
94081         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
94083 2006-11-03  Bruno Haible  <bruno@clisp.org>
94085         * lib/c-ctype.h [C++]: Define functions without name mangling.
94086         * lib/fwriteerror.h [C++]: Likewise.
94087         * lib/gcd.h [C++]: Likewise.
94088         * lib/linebreak.h [C++]: Likewise.
94090 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
94092         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
94093         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
94094         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
94095         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
94096         Check for functions and headers just once.
94097         Check for declaration of canonicalize_file_name.
94098         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
94100 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
94102         * gnulib-tool (func_import): Fix typo in actioncmd.
94104 2006-11-02  Bruno Haible  <bruno@clisp.org>
94106         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
94107         newline sequence in the Makefile.am snippet as a space, like "make"
94108         does.
94109         Reported by Roger Persson <perrog@gmail.com>.
94111 2006-11-01  Bruno Haible  <bruno@clisp.org>
94113         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
94114         already declared in <string.h>.
94115         * lib/strcase.h (strncasecmp): Don't declare it if yes.
94117 2006-11-01  Bruno Haible  <bruno@clisp.org>
94119         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
94120         * lib/strcase.h: Include <string.h>.
94121         (strcasecmp): Define to rpl_strcasecmp here.
94123 2006-11-01  Bruno Haible  <bruno@clisp.org>
94125         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
94127 2006-11-01  Eric Blake  <ebb9@byu.net>
94129         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
94131         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
94133 2006-10-29  Bruno Haible  <bruno@clisp.org>
94135         Make it compile in C++ mode.
94136         * lib/full-write.c (full_rw): Add a cast.
94138 2006-11-01  Bruno Haible  <bruno@clisp.org>
94140         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
94141         be POSIX compliant.
94142         Reported by Roger Persson <perrog@gmail.com>.
94144 2006-11-01  Eric Blake  <ebb9@byu.net>
94146         * lib/getopt_.h: Fix comments.
94148 2006-10-31  Eric Blake  <ebb9@byu.net>
94150         * modules/tmpdir (Depends-on): Add sys_stat.
94151         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
94152         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
94153         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
94154         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
94155         tempname.
94157 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
94159         Avoid some C++ diagnostics reported by Bruno Haible.
94160         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
94161         xmalloc.
94162         (quotearg_alloc): Use xcharalloc rather than xmalloc.
94163         (struct slotvec): Move to top level.
94164         (quotearg_n_options): Rewrite to avoid xmalloc.
94165         * lib/xalloc.h (xcharalloc): New function.
94166         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
94167         [defined __cplusplus]: Add function template that provides result
94168         type propagation.  This part of the change is from Bruno Haible.
94170 2006-10-29  Bruno Haible  <bruno@clisp.org>
94172         Make it compile in C++ mode.
94173         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
94174         * lib/strnlen1.c (strnlen1): Cast memchr result.
94175         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
94176         * lib/clean-temp.c (string_equals, string_hash): Add casts.
94177         (create_temp_dir): Rename local variable 'template'.
94178         (compile_csharp_using_sscli): Add cast.
94179         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
94180         * lib/findprog.c (find_in_path): Likewise.
94181         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
94182         * lib/wait-process.c (register_slave_subprocess): Likewise.
94184 2006-10-22  Bruno Haible  <bruno@clisp.org>
94186         * modules/tsearch: New file.
94187         * lib/tsearch.h: New file.
94188         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
94189         * m4/tsearch.m4: New file.
94190         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
94192 2006-10-29  Eric Blake  <ebb9@byu.net>
94194         * lib/arcfour.c: Assume config.h.
94195         * lib/arctwo.c: Likewise.
94196         * lib/base64.c: Likewise.
94197         * lib/check-version.c: Likewise.
94198         * lib/crc.c: Likewise.
94199         * lib/des.c: Likewise.
94200         * lib/gc-gnulib.c: Likewise.
94201         * lib/gc-libgcrypt.c: Likewise.
94202         * lib/gc-pbkdf2-sha1.c: Likewise.
94203         * lib/getaddrinfo.c: Likewise.
94204         * lib/getdelim.c: Likewise.
94205         * lib/getline.c: Likewise.
94206         * lib/hmac-md5.c: Likewise.
94207         * lib/hmac-sha1.c: Likewise.
94208         * lib/iconvme.c: Likewise.
94209         * lib/md2.c: Likewise.
94210         * lib/md4.c: Likewise.
94211         * lib/memxor.c: Likewise.
94212         * lib/read-file.c: Likewise.
94213         * lib/readline.c: Likewise.
94214         * lib/rijndael-alg-fst.c: Likewise.
94215         * lib/rijndael-api-fst.c: Likewise.
94216         * lib/xgetdomainname.c: Likewise.
94218 2006-10-28  Eric Blake  <ebb9@byu.net>
94220         * lib/xstrndup.c: Assume config.h.
94222 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
94224         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
94225         stat-macros.h is now for our own macros, whereas stat_h is for
94226         macros in the <sys/stat.h> name space.
94227         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
94228         (STAT_MACROS_H): Remove.
94229         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
94230         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
94231         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
94232         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
94233         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
94234         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
94235         Move these macros to ...
94236         * lib/stat_.h: here.  Don't include stat-macros.h.
94237         * lib/canonicalize.c: Don't include stat-macros.h.
94238         * lib/chown.c: Likewise.
94239         * lib/euidaccess.c: Likewise.
94240         * lib/file-type.c: Likewise.
94241         * lib/filemode.c: Likewise.
94242         * lib/glob.c: Likewise.
94243         * lib/isapipe.c: Likewise.
94244         * lib/lchown.c: Likewise.
94245         * lib/lstat.c: Likewise.
94246         * lib/mkdir-p.c: Likewise.
94247         * lib/rmdir.c: Likewise.
94248         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
94249         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
94250         unless mkdir isn't declared, to speed up 'configure'.
94251         Always create sys/stat.h, since it's unlikely any real sys/stat.h
94252         would define all the S_* symbols.
94253         * modules/canonicalize (Depends-on):
94254         Depend on sys_stat, not stat-macros.
94255         * modules/chown: Likewise.
94256         * modules/euidaccess: Likewise.
94257         * modules/filemode: Likewise.
94258         * modules/file-type: Likewise.
94259         * modules/glob: Likewise.
94260         * modules/isapipe: Likewise.
94261         * modules/lchown: Likewise.
94262         * modules/lstat: Likewise.
94263         * modules/mkancesdirs: Likewise.
94264         * modules/rmdir: Likewise.
94265         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
94266         * modules/modechange: Likewise.
94267         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
94268         (configure.ac): Remove gl_STAT_MACROS.
94269         * modules/sys_stat (Depends-on): Remove stat-macros.
94271 2006-10-27  Bruno Haible  <bruno@clisp.org>
94273         * m4/signed.m4: Remove file.
94274         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
94275         invocation.
94276         * modules/vasnprintf (Files): Remove m4/signed.m4.
94278 2006-10-27  Bruno Haible  <bruno@clisp.org>
94280         Update to GNU gettext 0.16.
94281         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
94282         m4/inttypes-h.m4, m4/signed.m4.
94283         * m4/gettext.m4: Update to GNU gettext 0.16.
94284         * m4/intl.m4: New file, from GNU gettext.
94285         * m4/intldir.m4: New file, from GNU gettext.
94286         * config/srclist.txt: Update
94288 2006-10-27  Eric Blake  <ebb9@byu.net>
94290         * MODULES.html.sh: Document tempname.
94291         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
94292         dependencies.
94293         (Files): Move lib/tempname.c...
94294         * modules/tempname: ...to this new module.
94295         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
94296         (gl_PREREQ_TEMPNAME): Move...
94297         * m4/tempname.m4: ...to this new file.
94298         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
94299         * modules/sys_stat (Depends-on): Add stat-macros.
94300         * lib/stat_.h (includes): Pick up stat macros.
94301         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
94302         if stat macros are broken.
94303         * lib/tempname.c (includes): No need to include "stat-macros.h".
94304         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
94305         (direxists, __path_search) [!_LIBC]: Don't compile these in
94306         gnulib; the tmpdir module covers that.
94307         * lib/tempname.h: New file.
94309 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
94311         * COPYING: Explain how gnulib-tool converts licence headers.
94312         Almost all wording by Eric Blake.
94314 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
94316         * lib/mbchar.h (is_basic_table): Make read-only.
94317         * lib/mbchar.c (is_basic_table): Likewise.
94318         Reported by John Darrington.
94320 2006-10-25  Bruno Haible  <bruno@clisp.org>
94322         * lib/progname.h (set_program_name): Undefine before defining.
94324 2006-10-25  Bruno Haible  <bruno@clisp.org>
94326         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
94327         false for non-gcc C++ compilers.
94328         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
94330 2006-10-24  Bruno Haible  <bruno@clisp.org>
94332         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
94333         iconv implementations like Irix iconv.
94335 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
94337         * modules/vararrays: New file.
94338         * m4/vararrays.m4: New file, taken from diffutils.
94339         * MODULES.html.sh: New module vararrays.
94341 2006-10-24  Karl Berry  <karl@gnu.org>
94343         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
94344         Don't call GNU Unix.
94346 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94348         * users.txt: Add Libtool.
94350         Sync from Libtool:
94352         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
94354         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
94355         to gnulib's policy of including config.h unconditionally.
94357 2006-10-24  Bruno Haible  <bruno@clisp.org>
94359         * modules/wcwidth (Files): Add m4/wint_t.m4.
94360         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
94361         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
94363 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
94365         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
94366         to pacify GCC with some -W flags enabled.  Problem reported by
94367         Bruno Haible.
94369 2006-10-24  Jim Meyering  <jim@meyering.net>
94371         * MODULES.html.sh: Remove uinttostr.  It's not a module.
94372         Reported by Karl Berry.
94374 2006-10-23  Bruno Haible  <bruno@clisp.org>
94376         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
94378 2006-10-24  Bruno Haible  <bruno@clisp.org>
94380         * lib/gl_list.h: Use C comment style, not C++ comment style.
94382 2006-10-23  Eric Blake  <ebb9@byu.net>
94384         * lib/getaddrinfo.c (includes): Add missing include.
94386 2006-10-23  Bruno Haible  <bruno@clisp.org>
94387             Paul Eggert  <eggert@cs.ucla.edu>
94389         Ability to rename obstack_free.
94390         * lib/obstack.h (__obstack_free): New macro. Declare instead of
94391         obstack_free.
94392         (obstack_free): Invoke the __obstack_free macro.
94393         * lib/obstack.c (obstack_free): Use __obstack_free macro.
94395 2006-10-23  Bruno Haible  <bruno@clisp.org>
94396             Paul Eggert  <eggert@cs.ucla.edu>
94398         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
94399         __argc, __argv from the declaration. (They are defined as macros on
94400         mingw.)
94402 2006-10-22  Bruno Haible  <bruno@clisp.org>
94404         * doc/gnulib-intro.texi: New file.
94405         * doc/gnulib.texi: Include it.
94407 2006-10-21  Bruno Haible  <bruno@clisp.org>
94409         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
94410         "Introduction", "Miscellanous Notes", "Particular Modules".
94412 2006-10-21  Bruno Haible  <bruno@clisp.org>
94414         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
94415         Change mostlyclean-local rule to avoid sh syntax error from bash
94416         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
94418 2006-10-23  Jim Meyering  <jim@meyering.net>
94420         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
94421         in place of snprintf.
94423         * modules/inttostr (Files): Add lib/uinttostr.c.
94424         * lib/uinttostr.c (inttostr): New file/function.
94425         * lib/inttostr.h (uinttostr): Declare.
94426         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
94427         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
94428         Add uinttostr.
94429         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
94431 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
94433         * lib/canonicalize.c (ELOOP): Define if not already defined.
94434         Problem reported by Bruno Haible in
94435         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00282.html>.
94437 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
94439         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
94440         Problem reported by Perry Smith and Ville Laurikari.
94442         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
94443         uses.
94445 2006-10-19  Bruno Haible  <bruno@clisp.org>
94447         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
94448         for mingw.
94450 2006-10-19  Bruno Haible  <bruno@clisp.org>
94452         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
94453         Needed for mingw.
94455 2006-10-19  Bruno Haible  <bruno@clisp.org>
94457         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
94459 2006-10-19  Bruno Haible  <bruno@clisp.org>
94461         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
94462         it.
94464 2006-10-19  Bruno Haible  <bruno@clisp.org>
94466         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
94467         invocation.
94469 2006-10-19  Bruno Haible  <bruno@clisp.org>
94471         * gnulib-tool (func_create_testdir): Don't include ftruncate and
94472         mountlist by default.
94474 2006-10-16  Bruno Haible  <bruno@clisp.org>
94476         * lib/c-strstr.c: Include c-strstr.h.
94478 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
94480         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
94481         in a slash.
94483 2006-10-18  Bruno Haible  <bruno@clisp.org>
94485         * lib/lock.h [C++]: Wrap definitions in extern "C".
94487 2006-10-18  Bruno Haible  <bruno@clisp.org>
94489         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
94490         gl_LIBOBJS list.
94492 2006-10-18  Bruno Haible  <bruno@clisp.org>
94494         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
94496 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
94498         * lib/xstrtol.h: Include gettext.h.
94499         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
94500         Problem reported by Eric Blake.
94501         * modules/xstrtol (Depends-on): Add gettext-h.
94503 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
94505         * lib/strftime.c (advance): New macro.
94506         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
94507         incomplete type, so you can't add 0 to it.  Problem and patch
94508         reported by Eelco Dolstra for dietlibc.
94510 2006-10-18  Jim Meyering  <jim@meyering.net>
94512         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
94513         type for a local, and rename it: s/up/user_proc/.
94515 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
94517         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
94518         READ_UTMP_USER_PROCESS.
94519         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
94521 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
94523         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
94524         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
94526 2006-10-17  Eric Blake  <ebb9@byu.net>
94528         * lib/sigprocmask.c (sigprocmask): Fix typo.
94530         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
94532         * modules/clean-temp (Makefile.am): Don't add to make output...
94533         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
94534         config.h.
94536 2006-10-17  Bruno Haible  <bruno@clisp.org>
94538         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
94539         differently if DEFAULT_TEXT_DOMAIN is set.
94541 2006-10-16  Bruno Haible  <bruno@clisp.org>
94543         * lib/clean-temp.c: Include fwriteerror.h.
94545 2006-10-16  Bruno Haible  <bruno@clisp.org>
94547         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
94549 2006-10-16  Bruno Haible  <bruno@clisp.org>
94551         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
94552         * lib/sigprocmask.h: Include <sys/types.h>.
94553         (sigset_t): Use the system's definition if present.
94555 2006-10-17  Eric Blake  <ebb9@byu.net>
94557         * lib/xvasprintf.c (includes): Assume config.h.
94558         * lib/xasprintf.c (includes): Likewise.
94560 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
94562         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
94563         at least as wide as intmax_t.
94565 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
94567         (Imported from Automake.)
94568         * build-aux/gnupload: Update to version 1.1 of directive file.
94570 2006-10-16  Eric Blake  <ebb9@byu.net>
94572         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
94573         match Automake 1.10a.
94575 2006-10-14  Bruno Haible  <bruno@clisp.org>
94577         * modules/sigprocmask: New file.
94578         * lib/sigprocmask.h: New file.
94579         * lib/sigprocmask.c: New file.
94580         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
94581         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
94582         request sigprocmask.o.
94583         (gl_PREREQ_SIGPROCMASK): New macro.
94584         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
94585         (Depends-on): Add sigprocmask.
94586         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
94587         gt_SIGNALBLOCKING. Test for 'raise' only once.
94588         * lib/fatal-signal.c: Include sigprocmask.h.
94589         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
94590         unblock_fatal_signals): Define always.
94591         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
94592         sigprocmask.
94594 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
94596         Sync from Automake.
94597         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
94598         which incorrectly sets the mode of an existing destination
94599         directory.  In some cases the unpatched install-sh could do the
94600         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
94601         system.  We hope this is rare in practice, but it's clearly worth
94602         fixing.  Problem reported by Alex Unleashed in
94603         <http://lists.gnu.org/r/bug-autoconf/2006-10/msg00012.html>.
94604         Also, don't bother to check for -m bugs unless we're using -m;
94605         suggested by Stepan Kasal.
94607 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94609         Sync from Automake.
94610         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
94611         `-c' flag, so they appear at the same position as in %FASTDEP%
94612         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
94613         which ignores unknown options only after the first non-option.
94614         Bug report against M4 by Nelson H. F. Beebe.
94616 2006-10-13  Jim Meyering  <jim@meyering.net>
94618         Fix a bug in yesterday's change.
94619         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
94620         p->fts_statp->st_dev would be used uninitialized.
94621         Ensures that we always call fts_stat on the very first entry.
94622         Miklos Szeredi reported that find -xdev stopped working.
94624 2006-10-12  Bruno Haible  <bruno@clisp.org>
94626         * gnulib-tool (func_get_automake_snippet): Append an automatically
94627         computed EXTRA_DIST augmentation.
94628         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
94629         * modules/alloca-opt (Makefile.am): Likewise.
94630         * modules/allocsa (Makefile.am): Likewise.
94631         * modules/arcfour (Makefile.am): Likewise.
94632         * modules/arctwo (Makefile.am): Likewise.
94633         * modules/argmatch (Makefile.am): Likewise.
94634         * modules/argz (Makefile.am): Likewise.
94635         * modules/atexit (Makefile.am): Likewise.
94636         * modules/backupfile (Makefile.am): Likewise.
94637         * modules/byteswap (Makefile.am): Likewise.
94638         * modules/c-strtod (Makefile.am): Likewise.
94639         * modules/c-strtold (Makefile.am): Likewise.
94640         * modules/calloc (Makefile.am): Likewise.
94641         * modules/canon-host (Makefile.am): Likewise.
94642         * modules/canonicalize (Makefile.am): Likewise.
94643         * modules/chdir-long (Makefile.am): Likewise.
94644         * modules/chdir-safer (Makefile.am): Likewise.
94645         * modules/check-version (Makefile.am): Likewise.
94646         * modules/chown (Makefile.am): Likewise.
94647         * modules/cloexec (Makefile.am): Likewise.
94648         * modules/close-stream (Makefile.am): Likewise.
94649         * modules/closeout (Makefile.am): Likewise.
94650         * modules/crc (Makefile.am): Likewise.
94651         * modules/csharpexec (Makefile.am): Likewise.
94652         * modules/cycle-check (Makefile.am): Likewise.
94653         * modules/des (Makefile.am): Likewise.
94654         * modules/dev-ino (Makefile.am): Likewise.
94655         * modules/dirfd (Makefile.am): Likewise.
94656         * modules/dirname (Makefile.am): Likewise.
94657         * modules/dup2 (Makefile.am): Likewise.
94658         * modules/eealloc (Makefile.am): Likewise.
94659         * modules/error (Makefile.am): Likewise.
94660         * modules/euidaccess (Makefile.am): Likewise.
94661         * modules/exclude (Makefile.am): Likewise.
94662         * modules/exitfail (Makefile.am): Likewise.
94663         * modules/fcntl-safer (Makefile.am): Likewise.
94664         * modules/fcntl (Makefile.am): Likewise.
94665         * modules/file-type (Makefile.am): Likewise.
94666         * modules/fileblocks (Makefile.am): Likewise.
94667         * modules/filemode (Makefile.am): Likewise.
94668         * modules/filenamecat (Makefile.am): Likewise.
94669         * modules/fnmatch (Makefile.am): Likewise.
94670         * modules/fopen-safer (Makefile.am): Likewise.
94671         * modules/fpending (Makefile.am): Likewise.
94672         * modules/fprintftime (Makefile.am): Likewise.
94673         * modules/free (Makefile.am): Likewise.
94674         * modules/fsusage (Makefile.am): Likewise.
94675         * modules/ftruncate (Makefile.am): Likewise.
94676         * modules/fts (Makefile.am): Likewise.
94677         * modules/gc-arcfour (Makefile.am): Likewise.
94678         * modules/gc-des (Makefile.am): Likewise.
94679         * modules/gc-hmac-md5 (Makefile.am): Likewise.
94680         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
94681         * modules/gc-md4 (Makefile.am): Likewise.
94682         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
94683         * modules/gc-sha1 (Makefile.am): Likewise.
94684         * modules/gc (Makefile.am): Likewise.
94685         * modules/getaddrinfo (Makefile.am): Likewise.
94686         * modules/getcwd (Makefile.am): Likewise.
94687         * modules/getdelim (Makefile.am): Likewise.
94688         * modules/getdomainname (Makefile.am): Likewise.
94689         * modules/getgroups (Makefile.am): Likewise.
94690         * modules/gethostname (Makefile.am): Likewise.
94691         * modules/gethrxtime (Makefile.am): Likewise.
94692         * modules/getline (Makefile.am): Likewise.
94693         * modules/getloadavg (Makefile.am): Likewise.
94694         * modules/getlogin_r (Makefile.am): Likewise.
94695         * modules/getndelim2 (Makefile.am): Likewise.
94696         * modules/getopt (Makefile.am): Likewise.
94697         * modules/getpagesize (Makefile.am): Likewise.
94698         * modules/getpass-gnu (Makefile.am): Likewise.
94699         * modules/getpass (Makefile.am): Likewise.
94700         * modules/getsubopt (Makefile.am): Likewise.
94701         * modules/gettime (Makefile.am): Likewise.
94702         * modules/gettimeofday (Makefile.am): Likewise.
94703         * modules/getugroups (Makefile.am): Likewise.
94704         * modules/getusershell (Makefile.am): Likewise.
94705         * modules/glob (Makefile.am): Likewise.
94706         * modules/group-member (Makefile.am): Likewise.
94707         * modules/hard-locale (Makefile.am): Likewise.
94708         * modules/hash (Makefile.am): Likewise.
94709         * modules/hmac-md5 (Makefile.am): Likewise.
94710         * modules/hmac-sha1 (Makefile.am): Likewise.
94711         * modules/human (Makefile.am): Likewise.
94712         * modules/idcache (Makefile.am): Likewise.
94713         * modules/imaxabs (Makefile.am): Likewise.
94714         * modules/imaxdiv (Makefile.am): Likewise.
94715         * modules/inet_ntop (Makefile.am): Likewise.
94716         * modules/inet_pton (Makefile.am): Likewise.
94717         * modules/intprops (Makefile.am): Likewise.
94718         * modules/inttostr (Makefile.am): Likewise.
94719         * modules/inttypes (Makefile.am): Likewise.
94720         * modules/isapipe (Makefile.am): Likewise.
94721         * modules/javaversion (Makefile.am): Likewise.
94722         * modules/lchmod (Makefile.am): Likewise.
94723         * modules/lchown (Makefile.am): Likewise.
94724         * modules/localcharset (Makefile.am): Likewise.
94725         * modules/long-options (Makefile.am): Likewise.
94726         * modules/lstat (Makefile.am): Likewise.
94727         * modules/malloc (Makefile.am): Likewise.
94728         * modules/mathl (Makefile.am): Likewise.
94729         * modules/mbchar (Makefile.am): Likewise.
94730         * modules/md2 (Makefile.am): Likewise.
94731         * modules/md4 (Makefile.am): Likewise.
94732         * modules/md5 (Makefile.am): Likewise.
94733         * modules/memcasecmp (Makefile.am): Likewise.
94734         * modules/memchr (Makefile.am): Likewise.
94735         * modules/memcmp (Makefile.am): Likewise.
94736         * modules/memcoll (Makefile.am): Likewise.
94737         * modules/memcpy (Makefile.am): Likewise.
94738         * modules/memmem (Makefile.am): Likewise.
94739         * modules/memmove (Makefile.am): Likewise.
94740         * modules/mempcpy (Makefile.am): Likewise.
94741         * modules/memrchr (Makefile.am): Likewise.
94742         * modules/memset (Makefile.am): Likewise.
94743         * modules/memxor (Makefile.am): Likewise.
94744         * modules/mkancesdirs (Makefile.am): Likewise.
94745         * modules/mkdir-p (Makefile.am): Likewise.
94746         * modules/mkdir (Makefile.am): Likewise.
94747         * modules/mkdtemp (Makefile.am): Likewise.
94748         * modules/mkstemp (Makefile.am): Likewise.
94749         * modules/mktime (Makefile.am): Likewise.
94750         * modules/modechange (Makefile.am): Likewise.
94751         * modules/mountlist (Makefile.am): Likewise.
94752         * modules/nanosleep (Makefile.am): Likewise.
94753         * modules/obstack (Makefile.am): Likewise.
94754         * modules/openat (Makefile.am): Likewise.
94755         * modules/pagealign_alloc (Makefile.am): Likewise.
94756         * modules/pathmax (Makefile.am): Likewise.
94757         * modules/physmem (Makefile.am): Likewise.
94758         * modules/poll (Makefile.am): Likewise.
94759         * modules/posixtm (Makefile.am): Likewise.
94760         * modules/posixver (Makefile.am): Likewise.
94761         * modules/putenv (Makefile.am): Likewise.
94762         * modules/quote (Makefile.am): Likewise.
94763         * modules/quotearg (Makefile.am): Likewise.
94764         * modules/raise (Makefile.am): Likewise.
94765         * modules/read-file (Makefile.am): Likewise.
94766         * modules/readline (Makefile.am): Likewise.
94767         * modules/readlink (Makefile.am): Likewise.
94768         * modules/readtokens (Makefile.am): Likewise.
94769         * modules/readutmp (Makefile.am): Likewise.
94770         * modules/realloc (Makefile.am): Likewise.
94771         * modules/regex (Makefile.am): Likewise.
94772         * modules/rename-dest-slash (Makefile.am): Likewise.
94773         * modules/rename (Makefile.am): Likewise.
94774         * modules/rijndael (Makefile.am): Likewise.
94775         * modules/rmdir (Makefile.am): Likewise.
94776         * modules/rpmatch (Makefile.am): Likewise.
94777         * modules/safe-read (Makefile.am): Likewise.
94778         * modules/safe-write (Makefile.am): Likewise.
94779         * modules/same-inode (Makefile.am): Likewise.
94780         * modules/same (Makefile.am): Likewise.
94781         * modules/save-cwd (Makefile.am): Likewise.
94782         * modules/savedir (Makefile.am): Likewise.
94783         * modules/setenv (Makefile.am): Likewise.
94784         * modules/settime (Makefile.am): Likewise.
94785         * modules/sha1 (Makefile.am): Likewise.
94786         * modules/sig2str (Makefile.am): Likewise.
94787         * modules/snprintf (Makefile.am): Likewise.
94788         * modules/stat-macros (Makefile.am): Likewise.
94789         * modules/stat-time (Makefile.am): Likewise.
94790         * modules/stdbool (Makefile.am): Likewise.
94791         * modules/stdint (Makefile.am): Likewise.
94792         * modules/stdlib-safer (Makefile.am): Likewise.
94793         * modules/stpcpy (Makefile.am): Likewise.
94794         * modules/stpncpy (Makefile.am): Likewise.
94795         * modules/strcase (Makefile.am): Likewise.
94796         * modules/strcasestr (Makefile.am): Likewise.
94797         * modules/strchrnul (Makefile.am): Likewise.
94798         * modules/strcspn (Makefile.am): Likewise.
94799         * modules/strdup (Makefile.am): Likewise.
94800         * modules/strerror (Makefile.am): Likewise.
94801         * modules/strftime (Makefile.am): Likewise.
94802         * modules/strndup (Makefile.am): Likewise.
94803         * modules/strnlen (Makefile.am): Likewise.
94804         * modules/strpbrk (Makefile.am): Likewise.
94805         * modules/strsep (Makefile.am): Likewise.
94806         * modules/strstr (Makefile.am): Likewise.
94807         * modules/strtod (Makefile.am): Likewise.
94808         * modules/strtoimax (Makefile.am): Likewise.
94809         * modules/strtok_r (Makefile.am): Likewise.
94810         * modules/strtol (Makefile.am): Likewise.
94811         * modules/strtoll (Makefile.am): Likewise.
94812         * modules/strtoul (Makefile.am): Likewise.
94813         * modules/strtoull (Makefile.am): Likewise.
94814         * modules/strtoumax (Makefile.am): Likewise.
94815         * modules/strverscmp (Makefile.am): Likewise.
94816         * modules/sys_socket (Makefile.am): Likewise.
94817         * modules/sys_stat (Makefile.am): Likewise.
94818         * modules/sysexits (Makefile.am): Likewise.
94819         * modules/time_r (Makefile.am): Likewise.
94820         * modules/timegm (Makefile.am): Likewise.
94821         * modules/timespec (Makefile.am): Likewise.
94822         * modules/tmpfile-safer (Makefile.am): Likewise.
94823         * modules/trim (Makefile.am): Likewise.
94824         * modules/unistd-safer (Makefile.am): Likewise.
94825         * modules/unlinkdir (Makefile.am): Likewise.
94826         * modules/unlocked-io (Makefile.am): Likewise.
94827         * modules/userspec (Makefile.am): Likewise.
94828         * modules/utime (Makefile.am): Likewise.
94829         * modules/utimecmp (Makefile.am): Likewise.
94830         * modules/utimens (Makefile.am): Likewise.
94831         * modules/vasnprintf (Makefile.am): Likewise.
94832         * modules/vasprintf (Makefile.am): Likewise.
94833         * modules/vsnprintf (Makefile.am): Likewise.
94834         * modules/xalloc (Makefile.am): Likewise.
94835         * modules/xgetcwd (Makefile.am): Likewise.
94836         * modules/xnanosleep (Makefile.am): Likewise.
94837         * modules/xreadlink (Makefile.am): Likewise.
94838         * modules/xstrtod (Makefile.am): Likewise.
94839         * modules/xstrtol (Makefile.am): Likewise.
94840         * modules/xstrtold (Makefile.am): Likewise.
94841         * modules/yesno (Makefile.am): Likewise.
94842         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
94844 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
94846         * modules/error (Makefile.am): Distribute files through
94847         EXTRA_DIST, not lib_SOURCES.
94849 2006-10-12  Eric Blake  <ebb9@byu.net>
94851         * modules/error (Makefile.am): Distribute files in /lib.
94852         * modules/obstack (Makefile.am): Likewise.
94854 2006-10-12  Bruno Haible  <bruno@clisp.org>
94856         * modules/acl (Makefile.am): Distribute all files in lib/ through
94857         EXTRA_DIST.
94858         * modules/arcfour (Makefile.am): Likewise.
94859         * modules/arctwo (Makefile.am): Likewise.
94860         * modules/argmatch (Makefile.am): Likewise.
94861         * modules/argz (Makefile.am): Likewise.
94862         * modules/atexit (Makefile.am): Likewise.
94863         * modules/backupfile (Makefile.am): Likewise.
94864         * modules/c-strtod (Makefile.am): Likewise.
94865         * modules/c-strtold (Makefile.am): Likewise.
94866         * modules/calloc (Makefile.am): Likewise.
94867         * modules/canon-host (Makefile.am): Likewise.
94868         * modules/canonicalize (Makefile.am): Likewise.
94869         * modules/chdir-long (Makefile.am): Likewise.
94870         * modules/chdir-safer (Makefile.am): Likewise.
94871         * modules/check-version (Makefile.am): Likewise.
94872         * modules/chown (Makefile.am): Likewise.
94873         * modules/cloexec (Makefile.am): Likewise.
94874         * modules/close-stream (Makefile.am): Likewise.
94875         * modules/closeout (Makefile.am): Likewise.
94876         * modules/crc (Makefile.am): Likewise.
94877         * modules/cycle-check (Makefile.am): Likewise.
94878         * modules/des (Makefile.am): Likewise.
94879         * modules/dirfd (Makefile.am): Likewise.
94880         * modules/dirname (Makefile.am): Likewise.
94881         * modules/dup2 (Makefile.am): Likewise.
94882         * modules/euidaccess (Makefile.am): Likewise.
94883         * modules/exclude (Makefile.am): Likewise.
94884         * modules/exitfail (Makefile.am): Likewise.
94885         * modules/fcntl-safer (Makefile.am): Likewise.
94886         * modules/file-type (Makefile.am): Likewise.
94887         * modules/fileblocks (Makefile.am): Likewise.
94888         * modules/filemode (Makefile.am): Likewise.
94889         * modules/filenamecat (Makefile.am): Likewise.
94890         * modules/fnmatch (Makefile.am): Likewise.
94891         * modules/fopen-safer (Makefile.am): Likewise.
94892         * modules/fpending (Makefile.am): Likewise.
94893         * modules/fprintftime (Makefile.am): Likewise.
94894         * modules/free (Makefile.am): Likewise.
94895         * modules/fsusage (Makefile.am): Likewise.
94896         * modules/ftruncate (Makefile.am): Likewise.
94897         * modules/fts (Makefile.am): Likewise.
94898         * modules/gc (Makefile.am): Likewise.
94899         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
94900         * modules/getaddrinfo (Makefile.am): Likewise.
94901         * modules/getcwd (Makefile.am): Likewise.
94902         * modules/getdelim (Makefile.am): Likewise.
94903         * modules/getdomainname (Makefile.am): Likewise.
94904         * modules/getgroups (Makefile.am): Likewise.
94905         * modules/gethostname (Makefile.am): Likewise.
94906         * modules/gethrxtime (Makefile.am): Likewise.
94907         * modules/getline (Makefile.am): Likewise.
94908         * modules/getloadavg (Makefile.am): Likewise.
94909         * modules/getlogin_r (Makefile.am): Likewise.
94910         * modules/getopt (Makefile.am): Likewise.
94911         * modules/getpass (Makefile.am): Likewise.
94912         * modules/getpass-gnu (Makefile.am): Likewise.
94913         * modules/getsubopt (Makefile.am): Likewise.
94914         * modules/gettime (Makefile.am): Likewise.
94915         * modules/gettimeofday (Makefile.am): Likewise.
94916         * modules/getugroups (Makefile.am): Likewise.
94917         * modules/getusershell (Makefile.am): Likewise.
94918         * modules/glob (Makefile.am): Likewise.
94919         * modules/group-member (Makefile.am): Likewise.
94920         * modules/hard-locale (Makefile.am): Likewise.
94921         * modules/hash (Makefile.am): Likewise.
94922         * modules/hmac-md5 (Makefile.am): Likewise.
94923         * modules/hmac-sha1 (Makefile.am): Likewise.
94924         * modules/human (Makefile.am): Likewise.
94925         * modules/idcache (Makefile.am): Likewise.
94926         * modules/imaxabs (Makefile.am): Likewise.
94927         * modules/imaxdiv (Makefile.am): Likewise.
94928         * modules/inet_ntop (Makefile.am): Likewise.
94929         * modules/inet_pton (Makefile.am): Likewise.
94930         * modules/inttostr (Makefile.am): Likewise.
94931         * modules/isapipe (Makefile.am): Likewise.
94932         * modules/lchown (Makefile.am): Likewise.
94933         * modules/long-options (Makefile.am): Likewise.
94934         * modules/lstat (Makefile.am): Likewise.
94935         * modules/malloc (Makefile.am): Likewise.
94936         * modules/mathl (Makefile.am): Likewise.
94937         * modules/mbchar (Makefile.am): Likewise.
94938         * modules/md2 (Makefile.am): Likewise.
94939         * modules/md4 (Makefile.am): Likewise.
94940         * modules/md5 (Makefile.am): Likewise.
94941         * modules/memcasecmp (Makefile.am): Likewise.
94942         * modules/memchr (Makefile.am): Likewise.
94943         * modules/memcmp (Makefile.am): Likewise.
94944         * modules/memcoll (Makefile.am): Likewise.
94945         * modules/memcpy (Makefile.am): Likewise.
94946         * modules/memmem (Makefile.am): Likewise.
94947         * modules/memmove (Makefile.am): Likewise.
94948         * modules/mempcpy (Makefile.am): Likewise.
94949         * modules/memrchr (Makefile.am): Likewise.
94950         * modules/memset (Makefile.am): Likewise.
94951         * modules/memxor (Makefile.am): Likewise.
94952         * modules/mkancesdirs (Makefile.am): Likewise.
94953         * modules/mkdir (Makefile.am): Likewise.
94954         * modules/mkdir-p (Makefile.am): Likewise.
94955         * modules/mkdtemp (Makefile.am): Likewise.
94956         * modules/mkstemp (Makefile.am): Likewise.
94957         * modules/mktime (Makefile.am): Likewise.
94958         * modules/modechange (Makefile.am): Likewise.
94959         * modules/mountlist (Makefile.am): Likewise.
94960         * modules/nanosleep (Makefile.am): Likewise.
94961         * modules/openat (Makefile.am): Likewise.
94962         * modules/pagealign_alloc (Makefile.am): Likewise.
94963         * modules/physmem (Makefile.am): Likewise.
94964         * modules/poll (Makefile.am): Likewise.
94965         * modules/posixtm (Makefile.am): Likewise.
94966         * modules/posixver (Makefile.am): Likewise.
94967         * modules/putenv (Makefile.am): Likewise.
94968         * modules/quote (Makefile.am): Likewise.
94969         * modules/quotearg (Makefile.am): Likewise.
94970         * modules/raise (Makefile.am): Likewise.
94971         * modules/read-file (Makefile.am): Likewise.
94972         * modules/readline (Makefile.am): Likewise.
94973         * modules/readlink (Makefile.am): Likewise.
94974         * modules/readtokens (Makefile.am): Likewise.
94975         * modules/readutmp (Makefile.am): Likewise.
94976         * modules/realloc (Makefile.am): Likewise.
94977         * modules/regex (Makefile.am): Likewise.
94978         * modules/rename (Makefile.am): Likewise.
94979         * modules/rename-dest-slash (Makefile.am): Likewise.
94980         * modules/rijndael (Makefile.am): Likewise.
94981         * modules/rmdir (Makefile.am): Likewise.
94982         * modules/rpmatch (Makefile.am): Likewise.
94983         * modules/safe-read (Makefile.am): Likewise.
94984         * modules/safe-write (Makefile.am): Likewise.
94985         * modules/same (Makefile.am): Likewise.
94986         * modules/save-cwd (Makefile.am): Likewise.
94987         * modules/savedir (Makefile.am): Likewise.
94988         * modules/setenv (Makefile.am): Likewise.
94989         * modules/settime (Makefile.am): Likewise.
94990         * modules/sha1 (Makefile.am): Likewise.
94991         * modules/sig2str (Makefile.am): Likewise.
94992         * modules/snprintf (Makefile.am): Likewise.
94993         * modules/stdlib-safer (Makefile.am): Likewise.
94994         * modules/stpcpy (Makefile.am): Likewise.
94995         * modules/stpncpy (Makefile.am): Likewise.
94996         * modules/strcase (Makefile.am): Likewise.
94997         * modules/strcasestr (Makefile.am): Likewise.
94998         * modules/strchrnul (Makefile.am): Likewise.
94999         * modules/strcspn (Makefile.am): Likewise.
95000         * modules/strdup (Makefile.am): Likewise.
95001         * modules/strerror (Makefile.am): Likewise.
95002         * modules/strftime (Makefile.am): Likewise.
95003         * modules/strndup (Makefile.am): Likewise.
95004         * modules/strnlen (Makefile.am): Likewise.
95005         * modules/strpbrk (Makefile.am): Likewise.
95006         * modules/strsep (Makefile.am): Likewise.
95007         * modules/strstr (Makefile.am): Likewise.
95008         * modules/strtod (Makefile.am): Likewise.
95009         * modules/strtoimax (Makefile.am): Likewise.
95010         * modules/strtok_r (Makefile.am): Likewise.
95011         * modules/strtol (Makefile.am): Likewise.
95012         * modules/strtoll (Makefile.am): Likewise.
95013         * modules/strtoul (Makefile.am): Likewise.
95014         * modules/strtoull (Makefile.am): Likewise.
95015         * modules/strtoumax (Makefile.am): Likewise.
95016         * modules/strverscmp (Makefile.am): Likewise.
95017         * modules/time_r (Makefile.am): Likewise.
95018         * modules/timegm (Makefile.am): Likewise.
95019         * modules/tmpfile-safer (Makefile.am): Likewise.
95020         * modules/unistd-safer (Makefile.am): Likewise.
95021         * modules/unlinkdir (Makefile.am): Likewise.
95022         * modules/userspec (Makefile.am): Likewise.
95023         * modules/utime (Makefile.am): Likewise.
95024         * modules/utimecmp (Makefile.am): Likewise.
95025         * modules/utimens (Makefile.am): Likewise.
95026         * modules/vasnprintf (Makefile.am): Likewise.
95027         * modules/vasprintf (Makefile.am): Likewise.
95028         * modules/vsnprintf (Makefile.am): Likewise.
95029         * modules/xalloc (Makefile.am): Likewise.
95030         * modules/xgetcwd (Makefile.am): Likewise.
95031         * modules/xnanosleep (Makefile.am): Likewise.
95032         * modules/xreadlink (Makefile.am): Likewise.
95033         * modules/xstrtod (Makefile.am): Likewise.
95034         * modules/xstrtol (Makefile.am): Likewise.
95035         * modules/xstrtold (Makefile.am): Likewise.
95036         * modules/yesno (Makefile.am): Likewise.
95038 2006-10-12  Jim Meyering  <jim@meyering.net>
95040         * m4/getloadavg.m4: Revert the change below.
95042         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
95043         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
95044         fail with a symlink, which is what coreutils' ./bootstrap now
95045         creates by default.
95047 2006-10-12  Bruno Haible  <bruno@clisp.org>
95049         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
95050         mingw.
95051         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
95052         MSVC and mingw explicitly.
95054 2006-10-11  Simon Josefsson  <jas@extundo.com>
95055             Bruno Haible  <bruno@clisp.org>
95057         Add support for multiple gnulib-tool invocations in the scope of a
95058         single configure.ac file.
95059         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
95060         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
95061         with the same contents as the _LIBADD variable.
95062         (func_emit_initmacro_start, func_emit_initmacro_end,
95063         func_emit_initmacro_done): New functions.
95064         (func_import, func_create_testdir): Invoke them. Allow the identifiers
95065         gl_LIBOBJS and gl_LTLIBOBJS.
95067 2006-10-11  Bruno Haible  <bruno@clisp.org>
95069         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
95070         (func_create_testdir): Don't create po/Makefile.am, don't invoke
95071         autoreconf. Instead, invoke autopoint explicitly but move back the
95072         *.m4 files from gnulib.
95074 2006-10-11  Bruno Haible  <bruno@clisp.org>
95076         * gnulib-tool (func_usage): Make module names after --create-testdir
95077         optional.
95078         (func_create_testdir): If no module was specified, use nearly all
95079         modules.
95081 2006-10-12  Jim Meyering  <jim@meyering.net>
95083         Big performance improvement for fts-based tools that use FTS_NOSTAT.
95084         Avoid spurious inode-mismatch problems on non-POSIX file systems.
95085         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
95086         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
95087         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
95088         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
95089         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
95090         (fts_set_stat_required): New function.
95091         (fts_open): Defer the calls to fts_stat, if possible or requested.
95092         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
95093         into fts_stat itself.
95094         (fts_read): Perform any required (deferred) fts_stat call.
95095         (fts_build): Likewise, for the directory we're about to open and read.
95096         In the readdir loop, carefully decide whether each entry will require
95097         an eventual call to fts_stat, using dirent.d_type info if available.
95098         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
95099         a command line argument into this function.  Update all callers.
95100         Map a return value of FTS_DOT to FTS_D for a command line argument.
95101         * modules/fts (Depends-on): Add d-type.  Alphabetize.
95102         Thanks to Miklos Szeredi for his tenacity and for the initial
95103         bug report about "find" failing on a FUSE-based file system.
95105         * lib/fts.c (fts_open): Use consistent indentation.
95107 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
95109         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
95110         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
95111         reported by Jim Meyering.  All uses of cache variables renamed
95112         to match Autoconf's.
95113         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
95114         the other one.
95116         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
95117         Fix misspelling in diagnostic.
95119 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
95121         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
95122         defined.  Problem reported by Matthew Woehlke.
95124         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
95125         Add support for Tandem NonStop R series.
95126         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
95127         Use new macro.
95129         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
95130         (has_trailing_slash): Omit size arg; all callers changed.
95131         Omit 'inline', since it doesn't help performance and we'd
95132         need to configure it.
95133         Don't count //, ///, etc. as having a trailing slash.
95134         As a side effect, this removes a C99ism reported by Matthew Woehlke.
95135         (rpl_rename_dest_slash): On failure, use rename's errno rather
95136         than (in some cases) an incorrect or junk errno.
95137         Simplify code by removing need to compute length; this does
95138         cause it to make two passes instead of one over the file name,
95139         but it's worth it.
95141         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
95142         change, since Autoconf's version may no longer be appropriate now
95143         that we are using CVS Autoconf's version.  Add support for Tandem.
95145 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
95146             Bruno Haible  <bruno@clisp.org>
95148         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
95149         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
95150         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
95151         gl_AC_TYPE_LONG_LONG.
95153         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
95154         instead of HAVE_LONG_LONG.
95155         * lib/printf-args.c (printf_fetchargs): Likewise.
95156         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
95157         * lib/vasnprintf.c (VASNPRINTF): Likewise.
95158         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
95159         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
95160         gl_AC_TYPE_LONG_LONG.
95162 2006-10-11  Bruno Haible  <bruno@clisp.org>
95164         * m4/longlong.m4: Add comments.
95165         * m4/ulonglong.m4: Likewise.
95167 2006-10-10  Bruno Haible  <bruno@clisp.org>
95169         Make it possible to #define stpcpy, strdup to aliases.
95170         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
95171         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
95173 2006-10-10  Bruno Haible  <bruno@clisp.org>
95175         Make it possible to #define gcd to an alias.
95176         * lib/gcd.c: Include config.h.
95178 2006-10-10  Bruno Haible  <bruno@clisp.org>
95180         Make it possible to #define c_isascii to an alias.
95181         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
95182         defined. Undefine the macros before defining them, to avoid gcc
95183         warnings.
95184         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
95185         define NO_C_CTYPE_MACROS early.
95187 2006-10-10  Bruno Haible  <bruno@clisp.org>
95189         Make it possible to #define set_program_name to an alias.
95190         * lib/progname.c: Don't undefine set_program_name; instead, undefine
95191         ENABLE_RELOCATABLE early.
95193 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
95195         Port to Tandem NSK OSS, which has 64-bit signed int but at most
95196         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
95197         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00062.html
95198         More generally, don't assume that 64-bit signed int is available
95199         if unsigned int is, and vice versa.
95200         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
95201         unsigned symbols, not on their signed counterparts.
95202         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
95203         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
95204         (UINT64_C, UINTMAX_C):
95205         Likewise.
95206         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
95207         unsigned counterparts.
95208         (Have_long_long, Unsigned): New macros.
95209         (Int): Renamed from INT.
95210         (strtoimax): Use the new macros.
95211         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
95212         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
95213         * modules/inttypes (inttypes.h): Substitute
95214         HAVE_UNSIGNED_LONG_LONG_INT.
95215         * modules/stdint (stdint.h): Likewise.
95216         (Files): Add m4/ulonglong.m4.
95218 2006-10-10  Bruno Haible  <bruno@clisp.org>
95220         Fix a gcc -Wshadow warning.
95221         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
95222         to 'bucket'.
95223         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
95224         gl_linked_indexof_from_to): Likewise.
95225         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
95226         Likewise.
95227         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
95228         Likewise.
95229         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
95230         Reported by Eric Blake.
95232 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
95234         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
95235         for NetBSD.  Problem reported by Bruno Haible.
95237 2006-10-09  Jim Meyering  <jim@meyering.net>
95239         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
95240         Patch from Bruno Haible.
95242 2006-10-09  Jim Meyering  <jim@meyering.net>
95244         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
95245         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
95246         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
95248 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
95250         Don't include <config.h> twice; this doesn't work in some cases,
95251         e.g., when config.h has "#define intmax_t long long int" and
95252         we include <config.h>, <inttypes.h>, <config.h> in that order.
95253         Problem reported by Matthew Woehlke in:
95254         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00073.html
95255         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
95256         * lib/fts-cycle.c: Don't include config.h.
95257         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
95258         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
95259         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
95260         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
95261         inttypes.h.
95262         * lib/xstrtoumax.c: Likewise.
95263         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
95264         __strtol and the like, so that this module is more like its siblings.
95265         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
95266         Remove; no longer needed now that we assume gnulib inttypes.h.
95268 2006-10-08  Bruno Haible  <bruno@clisp.org>
95270         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
95271         option.
95273 2006-10-07  Jim Meyering  <jim@meyering.net>
95275         * modules/inttypes (inttypes.h): Revert what seems to have been
95276         an inadvertent part of today's change: use "|", not "/" in the
95277         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
95279 2006-10-07  Bruno Haible  <bruno@clisp.org>
95281         * modules/sublist: New file.
95283 2006-10-07  Bruno Haible  <bruno@clisp.org>
95285         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
95286         * modules/argz (argz.h): Likewise.
95287         * modules/arpa_inet (arpa/inet.h): Likewise.
95288         * modules/byteswap (byteswap.h): Likewise.
95289         * modules/configmake (configmake.h): Likewise.
95290         * modules/fcntl (fcntl.h): Likewise.
95291         * modules/fnmatch (fnmatch.h): Likewise.
95292         * modules/getopt (getopt.h): Likewise.
95293         * modules/glob (glob.h): Likewise.
95294         * modules/inttypes (inttypes.h): Likewise.
95295         * modules/netinet_in (netinet/in.h): Likewise.
95296         * modules/poll (poll.h): Likewise.
95297         * modules/stdbool (stdbool.h): Likewise.
95298         * modules/stdint (stdint.h): Likewise.
95299         * modules/sys_select (sys/select.h): Likewise.
95300         * modules/sys_socket (sys/socket.h): Likewise.
95301         * modules/sys_stat (sys/stat.h): Likewise.
95302         * modules/sysexits (sysexits.h): Likewise.
95303         * modules/unistd (unistd.h): Likewise.
95304         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
95305         Add a "DO NOT EDIT" comment to the generated file.
95306         (func_import): Likewise for gnulib-comp.m4.
95308 2006-10-07  Bruno Haible  <bruno@clisp.org>
95310         * lib/gl_sublist.h: New file.
95311         * lib/gl_sublist.c: New file.
95313 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
95315         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
95316         name (relative to the original working directory) and the file
95317         name component (relative to the temporary working directory).  All
95318         callers changed.
95319         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
95320         * lib/mkdir-p.c (make_dir_parents): Likewise.
95321         * lib/mkdir-p.h (make_dir_parents): Likewise.
95323 2006-10-06  Eric Blake  <ebb9@byu.net>
95325         Define several macros for use by the clean-temp module.
95326         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
95327         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
95328         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
95330         * lib/clean-temp.h (close_stream_temp): New declaration.
95331         * lib/clean-temp.c (includes): Pull in headers according to what
95332         other modules are in use.
95333         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
95335 2006-10-06  Bruno Haible  <bruno@clisp.org>
95337         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
95338         instead of fopen, fwriteerror.
95340 2006-10-06  Bruno Haible  <bruno@clisp.org>
95342         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
95343         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
95344         int.
95345         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
95346         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
95347         Return an error indicator.
95348         Suggested by Eric Blake.
95350 2006-10-06  Bruno Haible  <bruno@clisp.org>
95352         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
95353         Reported by Eric Blake.
95355 2006-10-06  Bruno Haible  <bruno@clisp.org>
95357         * modules/closeout (Description): Mention stderr too.
95359 2006-10-06  Bruno Haible  <bruno@clisp.org>
95360         and Paul Eggert  <eggert@cs.ucla.edu>
95362         * lib/closeout.c (close_stdout): Also close stderr.
95363         * lib/closeout.h: Update comment.
95365 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
95367         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
95368         <http://lists.gnu.org/r/bug-coreutils/2006-10/msg00063.html>.
95369         * lib/dirchownmod.c: Include lchown.h.
95370         * lib/lchown.c: Don't include files that lchown.h now includes.
95371         Don't declare chown, since lchown.h now does that.
95372         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
95373         (lchown): Define to rpl_chown if lchown is declared but
95374         does not exist.  Declare using a prototype if lchown is not
95375         declared.  Add a copyright notice.
95376         * lib/mkstemp.h: Include <unistd.h>.
95377         * lib/openat.c: Include lchown.h.
95379         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
95380         we now test for that separately.
95381         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
95382         rather than O_NOFOLLOW, when testing whether it's possible to
95383         avoid a race condition reliably.
95384         * lib/savewd.c (savewd_chdir): Likewise.
95386         Remove macros that are no longer needed now that stdint.h is
95387         reliable.
95388         * lib/fsusage.c (UINTMAX_MAX): Remove.
95389         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
95390         * lib/utimecmp.c (SIZE_MAX): Remove.
95392         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
95394         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
95395         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
95396         O_NOATIME works.
95398 2006-10-05  Bruno Haible  <bruno@clisp.org>
95400         * lib/gl_list.h (gl_sortedlist_search_from_to,
95401         gl_sortedlist_indexof_from_to): New declarations.
95402         (gl_list_implementation): New fields sortedlist_search_from_to,
95403         sortedlist_indexof_from_to.
95404         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
95405         inline functions.
95406         * lib/gl_list.c (gl_sortedlist_search_from_to,
95407         gl_sortedlist_indexof_from_to): New functions.
95408         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
95409         function.
95410         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
95411         (gl_array_sortedlist_search_from_to): New function.
95412         (gl_array_list_implementation): Update.
95413         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
95414         function.
95415         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
95416         (gl_carray_sortedlist_search_from_to): New function.
95417         (gl_carray_list_implementation): Update.
95418         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
95419         gl_linked_sortedlist_indexof_from_to): New functions.
95420         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
95421         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
95422         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
95423         gl_tree_sortedlist_indexof_from_to): New functions.
95424         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
95425         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
95426         Update.
95427         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
95428         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
95429         Update.
95431 2006-10-05  Bruno Haible  <bruno@clisp.org>
95433         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
95434         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
95435         (struct gl_list_implementation): Add fields search_from_to,
95436         indexof_from_to. Remove fields search, indexof.
95437         (gl_list_search): Use the search_from_to method.
95438         (gl_list_search_from, gl_list_search_from_to): New functions.
95439         (gl_list_indexof): Use the indexof_from_to method.
95440         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
95441         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
95442         (gl_list_search_from, gl_list_search_from_to): New functions.
95443         (gl_list_indexof): Use the indexof_from_to method.
95444         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
95445         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
95446         gl_array_indexof. Add start_index, end_index arguments.
95447         (gl_array_search_from_to): Renamed from gl_array_search. Add
95448         start_index, end_index arguments.
95449         (gl_array_remove, gl_array_list_implementation): Update.
95450         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
95451         gl_carray_indexof. Add start_index, end_index arguments.
95452         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
95453         start_index, end_index arguments.
95454         (gl_carray_remove, gl_carray_list_implementation): Update.
95455         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
95456         gl_linked_search. Add start_index, end_index arguments.
95457         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
95458         start_index, end_index arguments.
95459         (gl_linked_remove): Update.
95460         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
95461         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
95462         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
95463         field to 'size_t'.
95464         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
95465         gl_tree_search. Add start_index, end_index arguments.
95466         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
95467         start_index, end_index arguments.
95468         (gl_tree_remove): Update.
95469         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
95470         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
95471         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
95472         function.
95473         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
95474         gl_tree_search. Add start_index, end_index arguments.
95475         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
95476         start_index, end_index arguments.
95477         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
95478         Update.
95479         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
95481 2006-10-05  Bruno Haible  <bruno@clisp.org>
95483         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
95485         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
95486         fwriteerror_temp): New declarations.
95487         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
95488         (descriptors): New variable.
95489         (cleanup): First, close the descriptors.
95490         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
95491         fclose_temp, fwriteerror_temp): New functions.
95493 2006-10-04  Jim Meyering  <jim@meyering.net>
95495         * lib/fts.c (fts_open): Tiny comment change.
95497 2006-10-04  Bruno Haible  <bruno@clisp.org>
95499         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
95500         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
95501         gl_LOCK_BODY.
95502         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
95503         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
95504         gl_LOCK_EARLY_BODY.
95505         (gl_LOCK): Require gl_LOCK_BODY.
95507 2006-10-04  Bruno Haible  <bruno@clisp.org>
95509         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
95510         (gl_oset_search_atleast): New declaration.
95511         (struct gl_oset_implementation): Add field 'search_atleast'.
95512         (gl_oset_search_atleast): New inline function.
95513         * lib/gl_oset.c (gl_oset_search_atleast): New function.
95514         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
95515         (gl_array_oset_implementation): Update.
95516         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
95517         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
95518         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
95520 2006-10-04  Bruno Haible  <bruno@clisp.org>
95522         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
95524 2006-10-03  Bruno Haible  <bruno@clisp.org>
95526         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
95527         from gl_avltreehash_list_implementation.
95529 2006-10-03  Bruno Haible  <bruno@clisp.org>
95531         * lib/gl_oset.c (gl_oset_add): Fix return type.
95533 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
95535         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
95537 2006-10-02  Eric Blake  <ebb9@byu.net>
95539         * modules/strnlen (Depends-on): Add extensions.
95541 2006-10-02  Eric Blake  <ebb9@byu.net>
95543         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
95544         definition in 2.60+.
95546 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
95548         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
95549         checks.
95551 2006-10-02  Bruno Haible  <bruno@clisp.org>
95553         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
95554         to the AUTOMAKE_OPTIONS.
95555         Reported by Jim Meyering.
95557 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
95559         Work around bug in Solaris 10 /proc file system:
95560         /proc/self/fd/NNN/.. isn't the parent directory of
95561         the directory whose file descriptor is NNN.  This needs to
95562         be worked around at run time, not compile time, since a
95563         program might be built on Solaris 8, where things work, and
95564         run on Solaris 10.
95565         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
95566         to use the following interface instead:
95567         (OPENAT_BUFFER_SIZE): New macro.
95568         (openat_proc_name): New function.
95569         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
95570         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
95571         Likewise.
95572         * lib/openat-proc.c: New file.
95573         * modules/openat (Files): Add lib/openat-proc.c.
95574         (Depends-on): Add same-inode, stdbool.
95575         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
95577 2006-09-29  Bruno Haible  <bruno@clisp.org>
95579         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
95580         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
95581         argument. Set stdout_closed before testing for ferror, not after.
95582         (fwriteerror, fwriteerror_no_ebadf): New functions.
95584 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95586         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
95588 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
95590         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
95591         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
95593 2006-09-28  Jim Meyering  <jim@meyering.net>
95595         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
95596         Include <unistd.h>.
95598 2006-09-28  Bruno Haible  <bruno@clisp.org>
95600         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
95601         * modules/linkedhash-list (Depends-on): Likewise.
95602         * modules/rbtreehash-list (Depends-on): Likewise.
95604 2006-09-28  Bruno Haible  <bruno@clisp.org>
95606         * lib/strndup.h: Simplify the redefinition of strndup.
95607         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
95608         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
95610 2006-09-28  Bruno Haible  <bruno@clisp.org>
95612         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
95613         * lib/gl_linkedhash_list.c: Likewise.
95614         * lib/gl_rbtreehash_list.c: Likewise.
95616 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
95618         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
95619         getaddrinfo.
95621         * lib/__fpending.h: Don't include <stdio_ext.h> unless
95622         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
95623         it causes <stdio_ext.h> to cause a compile-time error.
95624         Problem reported by Nelson H. F. Beebe.
95625         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
95626         of HAVE_DECL___PENDING.
95628         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
95629         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
95630         declaration.
95632 2006-09-27  Jim Meyering  <jim@meyering.net>
95634         This file could end up with a definition for a function
95635         named __strndup, rather than rpl_strndup on a system with
95636         incomplete weak_alias support.
95637         * lib/strndup.c (strndup): Rename from __strndup.
95638         Remove #defines that used to map __strndup to strndup.
95639         Don't use K&R prototypes.
95640         Remove LIBC-related code, since this file is not sync'd with glibc.
95641         * lib/strndup.h: Revamp, accordingly.
95642         * m4/strndup.m4: Modernize.
95644 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
95646         * modules/savewd (Depends-on): Add 'raise'.
95647         * lib/savewd.c: Include <signal.h>, for 'raise'.
95649 2006-09-26  Jim Meyering  <jim@meyering.net>
95651         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
95652         when we detect Darwin 8.7.0's acl_get_file bug.
95653         Rearrange to perform the new (below) run-test while $LIBS
95654         contains any acl-related library.  Set USE_ACL at the end.
95655         (gl_ACL_GET_FILE): New function.
95657 2006-09-26  Eric Blake  <ebb9@byu.net>
95659         * lib/verror.c: Include <config.h> unconditionally.
95661 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
95663         * modules/clock-time (Maintainer): Add self.
95664         * modules/getlogin_r (Depends-on): Add extensions.
95666 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95668         * modules/clock-time: New module.
95669         * modules/nanosleep (Depends-on): Add clock-time.
95670         * modules/gethrxtime (Depends-on): Likewise.
95671         * modules/gettime (Depends-on): Likewise.
95672         * modules/settime (Depends-on): Likewise.
95674         * modules/fts-lgpl: Depend on openat.
95675         * modules/mkancesdirs: Depend on savewd.
95676         * modules/mkdir-p: Likewise.
95678 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95680         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
95682         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
95683         `gl_have_arbitrary_file_name_length_limit' to
95684         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
95685         actually works between configure runs.
95687 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95688             Bruno Haible  <bruno@clisp.org>
95690         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
95692 2006-09-25  Jim Meyering  <jim@meyering.net>
95694         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
95695         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
95697 2006-09-25  Eric Blake  <ebb9@byu.net>
95699         * gnulib-tool (func_import, func_create_testdir): Fix typos in
95700         exec's in 2006-09-18 patch when shuffling fds.
95702 2006-09-25  Bruno Haible  <bruno@clisp.org>
95704         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
95705         Reported by Jim Meyering.
95707 2006-09-24  Jim Meyering  <jim@meyering.net>
95709         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
95710         compare a pointer against a literal "0".  That caused failures with
95711         at least HP-UX's hpcc.
95713 2006-09-22  Simon Josefsson  <jas@extundo.com>
95715         * modules/gc-sha1:
95716         * modules/gc-md4:
95717         * modules/gc-hmac-sha1:
95718         * modules/gc-hmac-md5:
95719         * modules/gc-des:
95720         * modules/gc-arcfour: Distribute more files.
95722 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95724         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
95725         (gl_linked_iterator_from_to): Initialize struct completely.
95726         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
95727         (gl_tree_iterator_from_to): Likewise
95728         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
95729         * lib/gl_array_list.c [lint] (gl_array_iterator)
95730         (gl_array_iterator_from_to): Likewise.
95731         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
95732         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
95733         (gl_carray_iterator_from_to): Likewise.
95735         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
95736         * lib/md4.c (md4_process_block): Remove unused variable.
95737         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
95738         parentheses for clarity.
95740 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95742         * modules/bison-i18n (Depends-on): Add gettext.
95744 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95746         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
95747         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
95748         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
95749         also add missing comma that caused broken test.
95750         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
95751         stdlib.h, for `abort'.
95752         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
95753         variables.
95754         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
95755         include unistd.h if present, for `rmdir'.
95756         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
95757         variables.
95758         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
95759         in the process include standard headers for prototypes.
95760         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
95761         gets declared on GNU/Linux.
95762         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
95763         unistd.h, for `rmdir'.
95764         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
95766         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
95767         always true.
95768         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
95770         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
95772 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95774         * gnulib-tool (func_version): Create output all at once.  This
95775         may help avoid triggering unnecessary SIGPIPEs, and at any
95776         rate it doesn't hurt.
95778 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95779             Bruno Haible  <bruno@clisp.org>
95781         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
95782         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
95783         * m4/signed.m4 (bh_C_SIGNED): Likewise.
95785         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
95786         (gl_FUNC_VASPRINTF): Invoke it.
95788 2006-09-22  Bruno Haible  <bruno@clisp.org>
95790         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
95791         getloadavg.c as first argument.
95793 2006-09-22  Bruno Haible  <bruno@clisp.org>
95795         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
95796         at the beginning of the gl_INIT macro.
95797         * modules/getloadavg (configure.ac): Pass $gl_source_base to
95798         gl_GETLOADAVG.
95800 2006-09-22  Bruno Haible  <bruno@clisp.org>
95802         * gnulib-tool (func_create_megatestdir): Don't include the config-h
95803         module.
95804         Suggested by Ralf Wildenhues.
95806 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
95808         Import this patch from libc:
95810         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
95812         * lib/regex_internal.c (re_string_reconstruct): Handle
95813         offset < pstr->valid_raw_len && pstr->offsets_needed case.
95814         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
95815         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
95816         re_string_context_at.
95818         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
95819         now requires it.
95820         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
95821         gl_REGEX now does it for us.
95822         (gl_REGEX): Add test taken from
95823         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
95825         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
95826         Check that large offsets work.  Modernize Autoconf usages.
95827         Prefer "yes" to mean a good thing rather than a bad.
95828         Don't put "#define mkstemp" in config.h, as this might interfere
95829         with standard system headers that "#define mkstemp mkstemp64".
95831         * modules/mkstemp (Depends-on): Add extensions, so that
95832         mkstemp is visible on some platforms.
95833         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
95834         (Include): Change to "mkstemp.h" from <stdlib.h>.
95835         (Files): Add mkstemp.h.
95837         * lib/mkstemp.h: New file, since some standard headers
95838         #define mkstemp.
95839         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
95840         Include "mkstemp.h".
95841         Make the _LIBC code resemble glibc original more,
95842         e.g., use K&R style.
95843         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
95844         (mkstemp): Remove, since mkstemp.h does this for us.
95845         * lib/stdlib--.h: Include mkstemp.h.
95847         Import this patch from libc:
95849         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
95851         * lib/tempname.c (__gen_tempname): Change attempts_min
95852         into a macro.  Use preprocessor to decide how to initialize
95853         attempts [Coverity CID 67].
95855 2006-09-20  Bruno Haible  <bruno@clisp.org>
95857         * lib/mkdtemp.c: Import from libc.
95858         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
95859                 * sysdeps/posix/tempname.c (__gen_tempname): Change
95860                 attempts_min into a macro.  Use preprocessor to decide how to
95861                 initialize attempts [Coverity CID 67].
95862         2001-11-27  Paul Eggert  <eggert@twinsun.com>
95863                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
95864                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
95866 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95868         * gnulib-tool (func_exit): New function, to allow to pass the
95869         exit status portably through the trap.  Use everywhere.
95870         (--help, --version): Signal a write error.
95871         (trap): catch SIGPIPE, for write errors.
95872         Exit at the end of the trap, with the correct exit status.
95874 2006-09-19  Karl Berry  <karl@gnu.org>
95876         * doc/gnulib.texi: note about the license texinfo files.
95878 2006-09-19  Eric Blake  <ebb9@byu.net>
95880         * gnulib-tool: Avoid space-tab.
95882 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
95884         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
95885         that prevented coreutils 6.1 from building.  Problem reported
95886         by Petter Reinholdtsen.
95888 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
95890         * gnulib-tool (avoidlist): Fix typo that broke options like
95891         --avoid=lock that are used by coreutils bootstrap.
95893 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
95895         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
95896         more systematically.
95898 2006-09-18  Jim Meyering  <jim@meyering.net>
95900         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
95902 2006-09-18  Bruno Haible  <bruno@clisp.org>
95904         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
95906 2006-09-18  Bruno Haible  <bruno@clisp.org>
95908         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
95909         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
95910         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
95911         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
95912         * m4/gettext.m4: Require autoconf >= 2.52.
95913         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
95914         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
95915         of gl_cv_header_inttypes_h.
95917 2006-09-18  Bruno Haible  <bruno@clisp.org>
95919         * lib/javaversion.c: Include configmake.h.
95921 2006-09-18  Bruno Haible  <bruno@clisp.org>
95923         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
95924         avoid that the while loops be executed in a subshell.
95926 2006-09-18  Bruno Haible  <bruno@clisp.org>
95928         * MODULES.html.sh (func_module): Break long lines.
95929         Suggested by Bruce Korb <bkorb@gnu.org>.
95931 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95933         Speed up by a factor of 1.12.
95934         * gnulib-tool (nl): New variable.
95935         (func_import): Rewrite include directive extraction to only read each
95936         directive once.
95938 2006-09-17  Bruno Haible  <bruno@clisp.org>
95940         * modules/javaversion (Makefile.am): Remove DEFS setting.
95941         (Depends-on): Add configmake, for PKGDATADIR definition.
95943 2006-09-17  Bruno Haible  <bruno@clisp.org>
95945         * gnulib-tool (func_create_testdir): Rewrite all files at once.
95947 2006-09-17  Bruno Haible  <bruno@clisp.org>
95949         * gnulib-tool (func_append): New function, stolen from libtool.m4.
95950         (func_modules_transitive_closure, func_modules_add_dummy,
95951         func_modules_to_filelist, func_import, func_create_testdir,
95952         func_create_megatestdir, ...): Use it wherever possible.
95953         Suggested by Ralf Wildenhues.
95955 2006-09-16  Karl Berry  <karl@gnu.org>
95957         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
95958         to avoid sectioning errors.
95959         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
95960         [ifinfo]: blank line after @center-ed titles.
95961         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
95962         Spell FSF address consistently with others.
95963         (These changes approved by rms.)
95965 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95967         Speed up by a factor of 1.61.
95968         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
95969         already checked module names again.
95971 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95973         Speed up by a factor of 1.13.
95974         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
95975         for new_files, and the input to func_add_or_update.
95977 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95979         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
95980         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
95982 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
95984         * modules/mkancesdirs (Depends-on): Add fcntl.
95985         * modules/savewd: New file.
95986         * MODULES.html.sh (File system functions): Add savewd.
95988         * modules/configmake (Makefile.am): Add support for the
95989         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
95991 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
95993         * m4/savewd.m4: New file.
95995 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
95997         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
95998         (dirchownmod): New arg FD.  All callers changed.
95999         Use FD rather than opening the directory ourself, as opening is
96000         now the caller's responsibility.
96001         * lib/dirchownmod.h: Likewise.
96002         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
96003         hosts that require <sys/types.h> before <sys/stat.h>.  Include
96004         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
96005         (test_dir): Remove.
96006         (mkancesdirs): Return length of prefix of FILE that has already
96007         been made, or -2 if there is a child doing the work.  Redo
96008         algorithm so that it is O(N) rather than O(N**2).  Optimize away
96009         ".", and treat ".." specially since it might stray back into
96010         already-created areas.  Use a subprocess if necessary.  New arg
96011         WD; all users changed.  MAKE_DIR function should now return 1
96012         if it creates a directory that is not readable.  Return -2 if
96013         a child process is spun off.
96014         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
96015         Adjust signature to match code.
96016         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
96017         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
96018         all users changed.
96019         * lib/savewd.c, lib/savewd.h: New files.
96021 2006-09-15  Jim Meyering  <jim@meyering.net>
96023         * modules/rename-dest-slash: New module.
96024         * MODULES.html.sh (posix_compat): Add it here.
96026         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
96028 2006-09-15  Jim Meyering  <jim@meyering.net>
96030         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
96031         file.
96033         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
96035 2006-09-15  Jim Meyering  <jim@meyering.net>
96037         * lib/rename-dest-slash.c (has_trailing_slash): Use
96038         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
96039         (rpl_rename_dest_slash): Perform the cheaper trailing slash
96040         test before testing whether SRC is a directory.
96041         Suggestions from Bruno Haible.
96043         Avoid a warning about an unused variable.
96044         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
96045         into the #ifdef block where it's used.
96047         * lib/rename-dest-slash.c: New file.
96049 2006-09-14  Bruno Haible  <bruno@clisp.org>
96051         * lib/allocsa.c: Include <config.h> unconditionally.
96052         * lib/asnprintf.c: Likewise.
96053         * lib/asprintf.c: Likewise.
96054         * lib/c-strcasecmp.c: Likewise.
96055         * lib/c-strcasestr.c: Likewise.
96056         * lib/c-strncasecmp.c: Likewise.
96057         * lib/c-strstr.c: Likewise.
96058         * lib/classpath.c: Likewise.
96059         * lib/clean-temp.c: Likewise.
96060         * lib/concatpath.c: Likewise.
96061         * lib/copy-file.c: Likewise.
96062         * lib/csharpcomp.c: Likewise.
96063         * lib/csharpexec.c: Likewise.
96064         * lib/execute.c: Likewise.
96065         * lib/fatal-signal.c: Likewise.
96066         * lib/findprog.c: Likewise.
96067         * lib/fwriteerror.c: Likewise.
96068         * lib/gl_array_list.c: Likewise.
96069         * lib/gl_array_oset.c: Likewise.
96070         * lib/gl_avltree_list.c: Likewise.
96071         * lib/gl_avltree_oset.c: Likewise.
96072         * lib/gl_avltreehash_list.c: Likewise.
96073         * lib/gl_carray_list.c: Likewise.
96074         * lib/gl_linked_list.c: Likewise.
96075         * lib/gl_linkedhash_list.c: Likewise.
96076         * lib/gl_list.c: Likewise.
96077         * lib/gl_oset.c: Likewise.
96078         * lib/gl_rbtree_list.c: Likewise.
96079         * lib/gl_rbtree_oset.c: Likewise.
96080         * lib/gl_rbtreehash_list.c: Likewise.
96081         * lib/imaxabs.c: Likewise.
96082         * lib/imaxdiv.c: Likewise.
96083         * lib/javacomp.c: Likewise.
96084         * lib/javaexec.c: Likewise.
96085         * lib/javaversion.c: Likewise.
96086         * lib/linebreak.c: Likewise.
96087         * lib/localcharset.c: Likewise.
96088         * lib/lock.c: Likewise.
96089         * lib/mbchar.c: Likewise.
96090         * lib/mbswidth.c: Likewise.
96091         * lib/mkdtemp.c: Likewise.
96092         * lib/pipe.c: Likewise.
96093         * lib/printf-args.c: Likewise.
96094         * lib/printf-parse.c: Likewise.
96095         * lib/progname.c: Likewise.
96096         * lib/progreloc.c: Likewise.
96097         * lib/readlink.c: Likewise.
96098         * lib/sh-quote.c: Likewise.
96099         * lib/stpcpy.c: Likewise.
96100         * lib/stpncpy.c: Likewise.
96101         * lib/strcasecmp.c: Likewise.
96102         * lib/strcasestr.c: Likewise.
96103         * lib/strcspn.c: Likewise.
96104         * lib/striconv.c: Likewise.
96105         * lib/strncasecmp.c: Likewise.
96106         * lib/strnlen1.c: Likewise.
96107         * lib/strstr.c: Likewise.
96108         * lib/strtok_r.c: Likewise.
96109         * lib/tls.c: Likewise.
96110         * lib/tmpdir.c: Likewise.
96111         * lib/unicodeio.c: Likewise.
96112         * lib/unsetenv.c: Likewise.
96113         * lib/vasnprintf.c: Likewise.
96114         * lib/vasprintf.c: Likewise.
96115         * lib/wait-process.c: Likewise.
96116         * lib/xallocsa.c: Likewise.
96117         * lib/xsetenv.c: Likewise.
96118         * lib/xstriconv.c: Likewise.
96120 2006-09-13  Simon Josefsson  <jas@extundo.com>
96122         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
96123         that internally, suggested by Ralf Wildenhues
96124         <Ralf.Wildenhues@gmx.de>.
96126 2006-09-13  Simon Josefsson  <jas@extundo.com>
96128         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
96129         @LIBOBJS@.
96130         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
96132 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
96134         * lib/_fpending.c: Include <config.h> unconditionally, since we no
96135         longer worry about uses that don't define HAVE_CONFIG_H.
96136         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
96137         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
96138         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
96139         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
96140         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
96141         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
96142         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
96143         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
96144         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
96145         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
96146         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
96147         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
96148         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
96149         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
96150         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
96151         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
96152         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
96153         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
96154         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
96155         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
96156         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
96157         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
96158         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
96159         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
96160         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
96161         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
96162         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
96163         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
96164         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
96165         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
96166         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
96167         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
96168         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
96169         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
96170         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
96171         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
96172         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
96173         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
96174         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
96175         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
96176         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
96177         Likewise.
96179 2006-09-13  Eric Blake  <ebb9@byu.net>
96181         * lib/getopt.c: Fix typo in last commit.
96183 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
96185         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
96186         dgettext.
96188 2006-09-12  Jim Meyering  <jim@meyering.net>
96190         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
96191         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
96192         Reported by Nelson H. F. Beebe.
96194 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
96196         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
96197         program_invocation_name and program_invocation_short_name are
96198         initialized.
96199         * lib/argp-namefrob.h: Move declarations of program_invocation_name
96200         and program_invocation_short_name to argp.h, so they are visible
96201         to user programs.
96202         * lib/argp.h: Likewise
96204 2006-09-10  Bruno Haible  <bruno@clisp.org>
96206         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
96207         m4/inttypes_h.m4, m4/uintmax_t.m4.
96209 2006-09-10  Bruno Haible  <bruno@clisp.org>
96211         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
96212         gl_AC_TYPE_UINTMAX_T.
96214 2006-09-10  Bruno Haible  <bruno@clisp.org>
96216         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
96218 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
96220         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
96221         convention.  Text proposed by Bruno Haible.
96222         (struct argp_option): Document the use of N_() wrappers.
96224         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
96225         '\v', and translate the two parts separately, instead of feeding
96226         the whole string to gettext.  This allows to exclude
96227         '\v' from the strings visible to the translator by writing doc
96228         strings as N_("..") "\v" N_("..").
96230 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
96232         * config/srclist.txt: Undo latest change; the bug was fixed.
96234 2006-09-09  Bruno Haible  <bruno@clisp.org>
96236         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
96237         assignments if building a library without libtool.
96238         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
96239         in func_emit_lib_Makefile_am.
96240         (func_import): When building a static library libfoo.a, arrange to
96241         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
96242         (func_create_testdir): Likewise.
96243         * modules/gc (configure.ac, Makefile.am): If building statically,
96244         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
96245         * modules/iconvme (configure.ac, Makefile.am): Likewise.
96246         * modules/striconv (configure.ac, Makefile.am): Likewise.
96247         Based on a suggestion by Ralf Wildenhues.
96249 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
96251         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
96252         Check for unistd.h too, since Autoconf doesn't assume POSIX.
96253         Also:
96255         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
96256         Add year_2050_test to catch glibc bug 2821
96257         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
96259         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
96260         Prefer #ifdef to #if.
96262         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
96263         Return from 'main' instead of calling 'exit'.
96265 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
96267         * lib/mktime.c (guess_time_tm): Fix bug where mktime
96268         returned the maximum time_t value rather than (time_t) -1.
96269         Problem originally reported by William Bardwell
96270         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
96272         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
96273         Moved to here ...
96274         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
96275         ... from here.
96277 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
96279         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
96280         2821 is fixed.
96282 2006-09-08  Jim Meyering  <jim@meyering.net>
96284         Don't make generated files read-only.  That would bother too many
96285         people.  However, do retain the ability to work when targets are
96286         read-only: remove the destination and temporary files before writing
96287         them (when generated via sed or echo), or by using the -f option for
96288         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
96289         * modules/alloca-opt, modules/argz, modules/arpa_inet:
96290         * modules/byteswap, modules/configmake, modules/fcntl:
96291         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
96292         * modules/localcharset, modules/netinet_in, modules/poll:
96293         * modules/stdbool, modules/stdint, modules/sys_select:
96294         * modules/sys_socket, modules/sys_stat, modules/sysexits:
96296 2006-09-08  Jim Meyering  <jim@meyering.net>
96298         Avoid new build failure on FreeBSD 6.0.
96299         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
96300         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
96301         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
96303 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96305         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
96307 2006-09-07  Jim Meyering  <jim@meyering.net>
96309         Fix global typo in last change: use chmod u-w, not chmod u-x.
96310         Spotted by Paul Eggert and Bruce Korb.
96311         * modules/alloca-opt, modules/argz, modules/arpa_inet:
96312         * modules/byteswap, modules/configmake, modules/fcntl:
96313         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
96314         * modules/localcharset, modules/netinet_in, modules/poll:
96315         * modules/stdbool, modules/stdint, modules/sys_select:
96316         * modules/sys_socket, modules/sys_stat, modules/sysexits:
96318 2006-09-06  Jim Meyering  <jim@meyering.net>
96320         Make generated files be read-only.
96321         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
96322         Ensure that each generated file is now read-only.
96323         * modules/argz: Likewise.
96324         * modules/arpa_inet: Likewise.
96325         * modules/byteswap: Likewise.
96326         * modules/configmake: Likewise.
96327         * modules/fcntl: Likewise.
96328         * modules/fnmatch: Likewise.
96329         * modules/getopt: Likewise.
96330         * modules/glob: Likewise.
96331         * modules/inttypes: Likewise.
96332         * modules/netinet_in: Likewise.
96333         * modules/poll: Likewise.
96334         * modules/stdbool: Likewise.
96335         * modules/stdint: Likewise.
96336         * modules/sys_select: Likewise.
96337         * modules/sys_socket: Likewise.
96338         * modules/sys_stat: Likewise.
96339         * modules/sysexits: Likewise.
96340         * modules/localcharset: Same as above, but continue using temporary
96341         file named "t-$@" (why different?) rather than the "$@-t" used
96342         everywhere else.
96344         * modules/sysexits (Makefile.am): Replace literal occurrences
96345         of "sysexit.h" more readable, and more consistent, "$@".
96347 2006-09-06  Bruno Haible  <bruno@clisp.org>
96349         * modules/striconv: New file.
96350         * modules/xstriconv: New file.
96351         * MODULES.html.sh (Internationalization functions): Add striconv,
96352         xstriconv.
96354 2006-09-06  Bruno Haible  <bruno@clisp.org>
96356         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
96357         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
96358         not using libtool correctly.
96360 2006-09-06  Bruno Haible  <bruno@clisp.org>
96362         * lib/striconv.h: New file.
96363         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
96364         iconvstring.c.
96365         * lib/xstriconv.h: New file.
96366         * lib/xstriconv.c: New file.
96368 2006-09-06  Bruno Haible  <bruno@clisp.org>
96370         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
96371         lib_..._LDFLAGS.
96373 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96375         * lib/argz_.h: Sync from Libtool.
96377         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
96378                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
96380         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
96382 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
96384         * modules/trim: New file.
96386 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
96388         * lib/trim.h: New file.
96389         * lib/trim.c: New file.
96391 2006-09-05  Bruno Haible  <bruno@clisp.org>
96393         * MODULES.html.sh (String handling): Add trim.
96395 2006-09-04  Karl Berry  <karl@gnu.org>
96397         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
96398         until next release.
96400 2006-09-03  Bruno Haible  <bruno@clisp.org>
96402         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
96403         correctly.
96405 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
96407         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
96408         not gl_GETLOADAVG.  Omit unneeded semicolons.
96409         Problems reported by Ralf Wildenhues in
96410         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
96411         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
96412         at the end, which is the usual gnulib style.
96414         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
96415         of doing all the work ourselves.
96416         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
96417         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
96419 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
96421         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
96422         Problem reported by Ralf Wildenhues in
96423         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
96425         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
96426         HAVE_STRUCT_STATFS_F_FSTYPENAME.
96428 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
96430         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
96431         yesterday's patch by changing test -n to test -z.
96433 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
96435         * modules/getloadavg (Files): Add m4/getloadavg.m4.
96436         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
96437         the former is now obsolescent.
96439         * modules/chdir-long (Depends-on): Add fcntl.
96441 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
96443         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
96444         obsolescent, and programs should use gnulib instead.
96445         * m4/getloadavg.m4: New file, with contents taken from Autoconf
96446         but with prefixes changed.
96448 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
96450         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
96451         or stdbool.h, because they might not exist while configuring.
96453         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
96454         Don't include unistd.h or limits.h; not needed, since chdir-long.h
96455         does that for us.
96456         (O_DIRECTORY): Remove.
96458 2006-08-31  Eric Blake  <ebb9@byu.net>
96460         * gnulib-tool: Don't let emacs change spaces to TAB.
96462 2006-08-31  Bruno Haible  <bruno@clisp.org>
96464         * gnulib-tool: When calling func_import more than once, do it in a
96465         subshell.
96466         Reported by Eric Blake <ebb9@byu.net>.
96468 2006-08-31  Bruno Haible  <bruno@clisp.org>
96470         * gnulib-tool (nl): Remove variable.
96471         (sed_transform_lib_file): Use more robust test for config-h module.
96472         (func_import): Fix typo in 2006-08-25 patch.
96474 2006-08-31  Bruno Haible  <bruno@clisp.org>
96476         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
96477         specified, augment Makefile.am variables instead of assigning them.
96479 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
96481         Work around a bug in both the Linux and SunOS 64-bit kernels:
96482         nanosleep mishandles sleeps for longer than 2**31 seconds.
96483         Problem reported by Frank v Waveren in
96484         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
96485         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
96486         Check for nanosleep bug.
96487         (LIB_NANOSLEEP): Append clock_gettime library if needed.
96489 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
96491         Work around a bug in both the Linux and SunOS 64-bit kernels:
96492         nanosleep mishandles sleeps for longer than 2**31 seconds.
96493         Problem reported by Frank v Waveren in
96494         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
96495         * lib/nanosleep.c (BILLION): New constant.
96496         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
96497         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
96498         implementation.
96500 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
96502         * modules/nanosleep (Depends-on): Add gettime.
96504 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
96505         and Simon Josefsson  <jas@extundo.com>
96506         and Oskar Liljeblad  <oskar@osk.mine.nu>
96508         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
96509         * gnulib-tool (func_import): New license type 'unmodifiable license
96510         text'.
96511         * modules/fdl: Use it.  Longer description.
96512         * module/gpl, module/lgpl: New files.
96514 2006-08-30  Jim Meyering  <jim@meyering.net>
96516         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
96517         shadowing the parameter.
96519 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96521         Sync from Libtool:
96523         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96525         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
96526         sharing with gnulib.  Report by Eric Blake.
96528 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
96530         * modules/isapipe: New file.
96531         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
96533 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
96535         * modules/configmake (Makefile.am): Add a comment, and omit
96536         the CONFIGMAKE_ prefix from generated macro names.  Suggested
96537         by Bruno Haible.
96539 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
96541         * m4/isapipe.m4: New file.
96543 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
96545         * lib/isapipe.c, lib/isapipe.h: New files.
96547 2006-08-29  Jim Meyering  <jim@meyering.net>
96549         * modules/configmake (Makefile.am): Make configmake.h depend on
96550         Makefile.  Otherwise, a stale configmake.h could hang around.
96552 2006-08-29  Eric Blake  <ebb9@byu.net>
96554         * lib/error.c (error_at_line, print_errno_message): Match libc, after
96555         resolution of upstream bug 3044.
96557 2006-08-29  Bruno Haible  <bruno@clisp.org>
96559         * modules/localcharset (Depends-on): Add configmake.
96560         (Makefile.am): Remove setting of LIBDIR through DEFS.
96562 2006-08-29  Bruno Haible  <bruno@clisp.org>
96564         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
96565         defined.
96567 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
96569         * modules/fcntl: New file.
96570         * modules/chdir-safer (Depends-on): Add fcntl.
96571         * modules/fts: Likewise.
96572         * modules/mkdir-p: Likewise.
96574         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
96575         This undoes the most recent change, since we're now addressing the
96576         problem in a different way.
96578         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
96579         into output, since the output might be called Makefile.am even
96580         if $makefile_name is something different.
96581         (func_import): Use $makefile_am rather than
96582         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
96583         empty.
96585         * modules/inttypes (Files): Add m4/inttypes-h.m4.
96587 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
96589         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
96590         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
96591         recent change to stdint.m4, since we're now addressing the problem in a
96592         different way.
96594 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
96596         * m4/fcntl_h.m4: New file.
96598 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
96600         * lib/fcntl_.h: New file.
96601         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
96602         the fcntl module.
96603         * lib/dirchownmod.c: Likewise.
96604         * lib/fts.c: Likewise.
96606         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
96607         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
96608         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
96609         just before including <inttypes.h>, to avoid circular inclusion.
96611 2006-08-28  Jim Meyering  <jim@meyering.net>
96613         * doc/visibility.texi: Actually read and correct the grammar of the
96614         sentence affected by yesterday's change.
96616 2006-08-28  Eric Blake  <ebb9@byu.net>
96618         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
96619         needs wrapper.
96621 2006-08-28  Eric Blake  <ebb9@byu.net>
96623         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
96625 2006-08-28  Eric Blake  <ebb9@byu.net>
96627         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
96629 2006-08-28  Bruno Haible  <bruno@clisp.org>
96631         * modules/c-strstr: New file, from GNU gettext.
96632         * MODULES.html.sh (String handling): Add c-strstr.
96634 2006-08-28  Bruno Haible  <bruno@clisp.org>
96636         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
96637         macros.
96638         Reported by Eric Blake.
96640 2006-08-28  Bruno Haible  <bruno@clisp.org>
96642         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
96643         (VASNPRINTF): Return a string of length > INT_MAX without failing.
96644         * lib/vasprintf.c: Include errno.h, limits.h.
96645         (EOVERFLOW): New fallback definition.
96646         (vasprintf): Test here whether the string length is > INT_MAX.
96647         * lib/vsnprintf.c: Include errno.h, limits.h.
96648         (EOVERFLOW): New fallback definition.
96649         (vsnprintf): Fix bug when generated string was too long for the buffer.
96650         Test here whether the string length is > INT_MAX.
96652 2006-08-28  Bruno Haible  <bruno@clisp.org>
96654         * lib/inttypes_.h (SCNX*): Remove definitions.
96655         Reported by Eric Blake.
96657 2006-08-28  Bruno Haible  <bruno@clisp.org>
96659         * lib/c-strstr.h: New file, from GNU gettext.
96660         * lib/c-strstr.c: New file, from GNU gettext.
96662 2006-08-28  Bruno Haible  <bruno@clisp.org>
96664         * gnulib-tool: Reorder some statements.
96666 2006-08-28  Bruno Haible  <bruno@clisp.org>
96668         * gnulib-tool: New option --makefile-name.
96669         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
96670         $makefile_name.
96671         (func_import): Write $makefile_name to the cache file, and read it from
96672         there unless explicitly specified. Use $makefile_name as file name
96673         instead of Makefile.am. Adjust the recommendations accordingly.
96675 2006-08-28  Bruno Haible  <bruno@clisp.org>
96677         * gnulib-tool (func_verify_module): Check against misapplying patch.
96679 2006-08-28  Bruno Haible  <bruno@clisp.org>
96681         * gnulib-tool (func_relativize, func_relconcat): New functions.
96682         Give an error if --local-dir is given with --update.
96683         Remove trailing slashes from $local_gnulib_dir.
96684         (func_import): Store the relativized $local_gnulib_dir in
96685         gnulib-cache.m4, and read it from there if not specified explicitly.
96687 2006-08-28  Bruno Haible  <bruno@clisp.org>
96689         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
96690         is the current directory. Respect also $local_gnulib_dir.
96692 2006-08-28  Bruno Haible  <bruno@clisp.org>
96693             Simon Josefsson  <jas@extundo.com>
96695         BeOS portability.
96696         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
96698 2006-08-27  Jim Meyering  <jim@meyering.net>
96700         * doc/visibility.texi: Remove duplicate word: "pointer".
96702 2006-08-26  Bruno Haible  <bruno@clisp.org>
96704         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
96705         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
96706         (Makefile.am): Create inttypes.h from inttypes_.h.
96707         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
96709         * modules/imaxabs: New file.
96711         * modules/imaxdiv: New file.
96713 2006-08-26  Bruno Haible  <bruno@clisp.org>
96715         * m4/inttypes.m4: New file.
96716         * m4/_inttypes_h.m4: Remove file.
96717         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
96718         PRI_MACROS_BROKEN.
96719         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
96721         * m4/imaxabs.m4: New file.
96723         * m4/imaxdiv.m4: New file.
96725 2006-08-26  Bruno Haible  <bruno@clisp.org>
96727         * lib/inttypes_.h: New file.
96728         * lib/inttypes.h: Remove file.
96729         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
96731         * lib/imaxabs.c: New file.
96733         * lib/imaxdiv.c: New file.
96735 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
96737         New config-h module, so that "make" output needn't be cluttered
96738         by -DHAVE_CONFIG_H.
96739         * MODULES.html.sh (Support for building libraries and executables):
96740         Add config-h.
96741         * modules/config-h: New file.
96742         * gnulib-tool (nl, sed_transform_lib_file): New vars.
96743         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
96744         the config-h module is used.
96746         New configmake module, so that "make" output needn't be cluttered
96747         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
96748         * MODULES.html.sh (Support for building libraries and executables):
96749         Add configmake.
96750         * modules/configmake: New file.
96752 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
96754         * m4/config-h.m4: New file.
96756 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
96758         * config/srclist.txt: Add elisp-comp.
96760 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
96762         * MODULES.html.sh (Support for building libraries and executables):
96763         Add elisp-comp.
96764         * build-aux/elisp-comp: New file.
96765         * modules/elisp-comp: New file.
96767 2006-08-24  Bruno Haible  <bruno@clisp.org>
96769         * gnulib-tool (func_create_testdir): Use non-default values of
96770         sourcebase and m4base.
96772 2006-08-24  Bruno Haible  <bruno@clisp.org>
96774         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
96775         HTML structure.
96777 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
96779         * modules/openat (Depends-on): Add lchown.
96781 2006-08-23  Bruno Haible  <bruno@clisp.org>
96783         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
96784         of gl_LOCK_EARLY instead of gl_LOCK.
96786 2006-08-23  Bruno Haible  <bruno@clisp.org>
96788         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
96789         on OSF/1 to no.
96790         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
96792 2006-08-23  Bruno Haible  <bruno@clisp.org>
96794         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
96795         as unusable.
96797         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
96798         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
96799         (gl_LOCK): New macro.
96801 2006-08-22  Simon Josefsson  <jas@extundo.com>
96803         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
96804         to md5 module.
96806 2006-08-22  Simon Josefsson  <jas@extundo.com>
96808         * MODULES.html.sh: Add "Support for maintaining and release
96809         projects".
96811         * build-aux/gnupload: New file, from coreutils.
96813 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
96815         Avoid the need for AC_LIBSOURCES in m4 macros.
96816         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
96817         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
96818         * modules/check-version (EXTRA_DIST): Add check-version.h.
96819         * modules/crc (EXTRA_DIST): Add crc.h.
96820         * modules/des (EXTRA_DIST): Add des.h.
96821         * modules/gc (EXTRA_DIST): Add gc.h.
96822         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
96823         * modules/getline (EXTRA_DIST): Add getline.h.
96824         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
96825         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
96826         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
96827         * modules/md2 (EXTRA_DIST): Add md2.h.
96828         * modules/md4 (EXTRA_DIST): Add md4.h.
96829         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
96830         * modules/read-file (EXTRA_DIST): Add read-file.h.
96831         * modules/readline (EXTRA_DIST): Add readline.h.
96832         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
96833         rijndael-api-fst.h.
96835 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
96837         * m4/rijndael.m4 (gl_ARCFOUR):
96838         * m4/arctwo.m4 (gl_ARCTWO):
96839         * m4/check-version.m4 (gl_CHECK_VERSION):
96840         * m4/crc.m4 (gl_CRC):
96841         * m4/des.m4 (gl_DES):
96842         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
96843         * m4/gc.m4 (gl_GC):
96844         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
96845         * m4/getline.m4 (gl_FUNC_GETLINE):
96846         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
96847         * m4/hmac-md5.m4 (gl_HMAC_MD5):
96848         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
96849         * m4/md2.m4 (gl_MD2):
96850         * m4/md4.m4 (gl_MD4):
96851         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
96852         * m4/read-file.m4 (gl_FUNC_READ_FILE):
96853         * m4/readline.m4 (gl_FUNC_READLINE):
96854         * m4/rijndael.m4 (gl_RIJNDAEL):
96855         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
96856         to get the necessary .h files and whatnot.
96858 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
96860         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
96861         gnulib rather than the other way around.
96862         * config/srclistvars.sh (COREUTILS): Remove.
96864 2006-08-22  Jim Meyering  <jim@meyering.net>
96866         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
96868         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
96870 2006-08-22  Eric Blake  <ebb9@byu.net>
96872         * modules/regexprops-generic: New file.
96873         * MODULES.html.sh (Support for building documentation): List it.
96875 2006-08-22  Eric Blake  <ebb9@byu.net>
96877         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
96878         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
96879         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
96880         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
96882 2006-08-22  Bruno Haible  <bruno@clisp.org>
96884         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
96885         and lib_LTLIBRARIES like the other lib_* variables.
96887 2006-08-22  Bruno Haible  <bruno@clisp.org>
96889         * build-aux/x-to-1.in: New file, from GNU gettext.
96891 2006-08-22  Bruno Haible  <bruno@clisp.org>
96893         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
96894         <utmpx.h> exists.
96896 2006-08-22  Bruno Haible  <bruno@clisp.org>
96898         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
96899         <utmpx.h> exists.
96901 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
96903         BeOS portability.
96904         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
96905         exist.
96906         Problem reported by Bruno Haible.
96908 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
96910         Avoid the need for AC_LIBSOURCES in m4 macros.
96911         * modules/acl (EXTRA_DIST): Add acl.h.
96912         * modules/argmatch (Files): Add m4/argmatch.m4.
96913         (configure.ac): Add gl_ARGMATCH.
96914         (EXTRA_DIST): Renamed from lib_SOURCES, for
96915         consistency with the other modules.  Remove argmatch.c.
96916         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
96917         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
96918         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
96919         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
96920         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
96921         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
96922         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
96923         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
96924         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
96925         * modules/closeout (EXTRA_DIST): Add closeout.h.
96926         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
96927         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
96928         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
96929         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
96930         dirname.h; remove basename.c and stripslash.c.
96931         * modules/exclude (EXTRA_DIST): Add exclude.h.
96932         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
96933         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
96934         * modules/file-type (EXTRA_DIST): Add file-type.h.
96935         * modules/filemode (EXTRA_DIST): Add filemode.h.
96936         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
96937         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
96938         * modules/fpending (EXTRA_DIST): Add __fpending.h.
96939         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
96940         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
96941         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
96942         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
96943         * modules/getdate (EXTRA_DIST): Add getdate.c.
96944         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
96945         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
96946         * modules/getpass (EXTRA_DIST): Add getpass.h.
96947         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
96948         * modules/group-member (EXTRA_DIST): Add group-member.h.
96949         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
96950         * modules/hash (EXTRA_DIST): Add hash.h.
96951         * modules/human (EXTRA_DIST): Add human.h.
96952         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
96953         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
96954         * modules/lchown (EXTRA_DIST): Add lchown.h.
96955         * modules/long-options (EXTRA_DIST): Add long-options.h.
96956         * modules/lstat (EXTRA_DIST): Add lstat.h.
96957         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
96958         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
96959         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
96960         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
96961         * modules/memxor (EXTRA_DIST): Add memxor.h.
96962         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
96963         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
96964         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
96965         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
96966         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
96967         * modules/physmem (EXTRA_DIST): Add physmem.h.
96968         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
96969         * modules/posixver (EXTRA_DIST): Add posixver.h.
96970         * modules/quote (EXTRA_DIST): Add quote.h.
96971         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
96972         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
96973         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
96974         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
96975         regex_internal.h regexec.c.
96976         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
96977         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
96978         * modules/same (EXTRA_DIST): Add same.h.
96979         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
96980         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
96981         * modules/savedir (EXTRA_DIST): Add savedir.h.
96982         * modules/sha1 (EXTRA_DIST): Add sha1.h.
96983         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
96984         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
96985         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
96986         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
96987         * modules/strdup (EXTRA_DIST): Add strdup.h.
96988         * modules/strftime (EXTRA_DIST): Add strftime.h.
96989         * modules/strndup (EXTRA_DIST): Add strndup.h.
96990         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
96991         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
96992         * modules/time_r (EXTRA_DIST): Add time_r.h.
96993         * modules/timespec (EXTRA_DIST): Add timespec.h.
96994         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
96995         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
96996         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
96997         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
96998         * modules/userspec (EXTRA_DIST): Add userspec.h.
96999         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
97000         * modules/utimens (EXTRA_DIST): Add utimens.h.
97001         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
97002         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
97003         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
97004         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
97005         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
97006         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
97007         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
97008         * modules/yesno (EXTRA_DIST): Add yesno.h.
97010 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
97012         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
97014         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
97015         * m4/dev-ino.m4, same-inode.m4: Remove.
97017         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
97018         * m4/acl.m4 (AC_FUNC_ACL):
97019         * m4/backupfile.m4 (gl_BACKUPFILE):
97020         * m4/c-strtod.m4 (gl_C99_STRTOLD):
97021         * m4/canon-host.m4 (gl_CANON_HOST):
97022         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
97023         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
97024         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
97025         * m4/cloexec.m4 (gl_CLOEXEC):
97026         * m4/close-stream.m4 (gl_CLOSE_STREAM):
97027         * m4/closeout.m4 (gl_CLOSEOUT):
97028         * m4/dirfd.m4 (gl_FUNC_DIRFD):
97029         * m4/dirname.m4 (gl_DIRNAME):
97030         * m4/exclude.m4 (gl_EXCLUDE):
97031         * m4/exitfail.m4 (gl_EXITFAIL):
97032         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
97033         * m4/file-type.m4 (gl_FILE_TYPE):
97034         * m4/filemode.m4 (gl_FILEMODE):
97035         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
97036         * m4/fpending.m4 (gl_FUNC_FPENDING):
97037         * m4/fprintftime.m4 (gl_FPRINTFTIME):
97038         * m4/fts.m4 (gl_FUNC_FTS):
97039         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
97040         * m4/getdate.m4 (gl_GETDATE):
97041         * m4/gethrxtime.m4 (gl_GETHRXTIME):
97042         * m4/getpagesize.m4 (gl_GETPAGESIZE):
97043         * m4/getpass.m4 (gl_FUNC_GETPASS):
97044         * m4/gettime.m4 (gl_GETTIME):
97045         * m4/getugroups.m4 (gl_GETUGROUPS):
97046         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
97047         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
97048         * m4/hard-locale.m4 (gl_HARD_LOCALE):
97049         * m4/hash.m4 (gl_HASH):
97050         * m4/idcache.m4 (gl_IDCACHE):
97051         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
97052         * m4/lchown.m4 (gl_FUNC_LCHOWN):
97053         * m4/long-options.m4 (gl_LONG_OPTIONS):
97054         * m4/lstat.m4 (gl_FUNC_LSTAT):
97055         * m4/md5.m4 (gl_MD5):
97056         * m4/memcasecmp.m4 (gl_MEMCASECMP):
97057         * m4/memcoll.m4 (gl_MEMCOLL):
97058         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
97059         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
97060         * m4/memxor.m4 (gl_MEMXOR):
97061         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
97062         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
97063         * m4/modechange.m4 (gl_MODECHANGE):
97064         * m4/mountlist.m4 (gl_MOUNTLIST):
97065         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
97066         * m4/openat.m4 (gl_FUNC_OPENAT):
97067         * m4/pathmax.m4 (gl_PATHMAX):
97068         * m4/physmem.m4 (gl_PHYSMEM):
97069         * m4/posixtm.m4 (gl_POSIXTM):
97070         * m4/posixver.m4 (gl_POSIXVER):
97071         * m4/quote.m4 (gl_QUOTE):
97072         * m4/quotearg.m4 (gl_QUOTEARG):
97073         * m4/readtokens.m4 (gl_READTOKENS):
97074         * m4/readutmp.m4 (gl_READUTMP):
97075         * m4/regex.m4 (gl_REGEX):
97076         * m4/safe-read.m4 (gl_SAFE_READ):
97077         * m4/safe-write.m4 (gl_SAFE_WRITE):
97078         * m4/same.m4 (gl_SAME):
97079         * m4/save-cwd.m4 (gl_SAVE_CWD):
97080         * m4/savedir.m4 (gl_SAVEDIR):
97081         * m4/settime.m4 (gl_SETTIME):
97082         * m4/sha1.m4 (gl_SHA1):
97083         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
97084         * m4/stat-macros.m4 (gl_STAT_MACROS):
97085         * m4/stat-time.m4 (gl_STAT_TIME):
97086         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
97087         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
97088         * m4/strdup.m4 (gl_FUNC_STRDUP):
97089         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
97090         * m4/strndup.m4 (gl_FUNC_STRNDUP):
97091         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
97092         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
97093         * m4/time_r.m4 (gl_TIME_R):
97094         * m4/timespec.m4 (gl_TIMESPEC):
97095         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
97096         * m4/unlinkdir.m4 (gl_UNLINKDIR):
97097         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
97098         * m4/userspec.m4 (gl_USERSPEC):
97099         * m4/utimecmp.m4 (gl_UTIMECMP):
97100         * m4/utimens.m4 (gl_UTIMENS):
97101         * m4/xalloc.m4 (gl_XALLOC):
97102         * m4/xgetcwd.m4 (gl_XGETCWD):
97103         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
97104         * m4/xreadlink.m4 (gl_XREADLINK):
97105         * m4/xstrtod.m4 (gl_XSTRTOD):
97106         * m4/yesno.m4 (gl_YESNO):
97107         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
97108         to get the necessary .h files and whatnot.
97110 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
97111             Bruno Haible  <bruno@clisp.org>
97113         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
97114         /bin/sh understanding of '!' conditional negation.
97116 2006-08-21  Jim Meyering  <jim@meyering.net>
97118         * modules/openat (Depends-on): Really alphabetize.
97120         * modules/acl (Depends-on): Add error and quote.
97122         * check-module (find_included_lib_files): Add at-func.c to the
97123         ok-to-include-more-than-once white list.
97125         * modules/openat (Depends-on): Add lstat.  Alphabetize.
97127 2006-08-21  Bruno Haible  <bruno@clisp.org>
97129         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
97130         Emit a pkgdata_DATA variable only if some snippets add contents to it.
97131         Reported by Martin Lambers <marlam@marlam.de>.
97133 2006-08-21  Bruno Haible  <bruno@clisp.org>
97135         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
97136         specify an installation location, don't emit a noinst_LIBRARIES or
97137         noinst_LTLIBRARIES assignment.
97139 2006-08-21  Bruno Haible  <bruno@clisp.org>
97141         BeOS portability.
97142         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
97143         BeOS has mbrtowc() but no <wctype.h>.
97145 2006-08-21  Bruno Haible  <bruno@clisp.org>
97147         BeOS portability.
97148         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
97149         exist.
97151 2006-08-21  Bruno Haible  <bruno@clisp.org>
97153         BeOS portability.
97154         * lib/mbchar.h: Include <wctype.h> only if it exists.
97156 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
97158         Remove files that are no longer needed by their respective modules.
97159         * m4/obstack.m4: Remove.
97160         * m4/strerror_r.m4: Remove.
97161         * m4/uint32_t.m4: Remove.
97162         * m4/uintptr_t.m4: Remove.
97163         * m4/ullong_max.m4: Remove.
97164         * m4/xstrtoimax.m4: Remove.
97165         * m4/xstrtoumax.m4: Remove.
97167         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
97168         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
97169         dependencies now capture this.
97171         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
97172         Do not use AC_LIBSOURCES, since gnulib modules now do this.
97173         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
97174         * m4/human.m4 (gl_HUMAN): Likewise.
97175         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
97176         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
97178         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
97180         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
97181         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
97182         stdint.
97183         * m4/human.m4 (gl_HUMAN): Likewise.
97184         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
97185         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
97186         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
97187         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
97188         * m4/xstrtol (gl_XSTRTOL): Likewise.
97190         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
97191         AC_TYPE_LONG_LONG_INT.
97192         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
97193         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
97194         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
97195         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
97197         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
97198         on stdbool.
97200         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
97201         (gl_PREREQ_XSTRTOUL): Remove.
97203         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
97205         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
97206         mode.
97208 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
97210         Add and change modules to make it easier for coreutils to use
97211         gnulib-tool.
97212         * modules/backupfile (Files): Remove m4/d-ino.m4.
97213         (Depends-on): Add d-ino.
97214         * modules/cycle-check (Depends-on): Add stdint.
97215         (lib_SOURCES): Add cycle-check.h.
97216         * modules/d-ino: New module.
97217         * modules/d-type: New module.
97218         * modules/error (Files): Remove m4/strerror_r.m4.
97219         * modules/filemode (Files): Add m4/st_dm_mode.m4.
97220         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
97221         m4/inttypes_h.m4, m4/uintmax_t.m4.
97222         (Depends-on): Add stdint.
97223         (lib_SOURCES): Add fsusage.h.
97224         * modules/getcwd (Files): Remove d-ino.m4.
97225         (Depends-on): Add d-ino.
97226         * modules/getndelim2 (Depends-on): Add stdint.
97227         * modules/glob (Files): Remove m4/d-type.m4.
97228         (Depends-on): Add d-type.
97229         * modules/host-os: New module.
97230         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
97231         m4/inttypes_h.m4, m4/uintmax_t.m4.
97232         * Depends-on: Add stdint.
97233         (lib_SOURCES): Add human.h.
97234         * modules/inttostr (Files): Remove m4/intmax_t.m4,
97235         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
97236         m4/uintmax_t.m4, m4/ulonglong.m4.
97237         (Depends-on): Add stdint.
97238         (EXTRA_DIST): Add inttostr.h.
97239         * modules/lchmod: New module.
97240         * modules/link-follow: New module.
97241         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
97242         (Depends-on): Add lchmod.
97243         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
97244         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
97245         (Depends-on): Add stdint.
97246         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
97247         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
97248         (Depends-on): Add stdint.
97249         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
97250         * modules/perl: New module.
97251         * modules/regex (Depends-on): Add stdint.
97252         * modules/rmdir-errno: New module.
97253         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
97254         m4/intmax_t.m4.
97255         (Depends-on): Add stdint.
97256         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
97257         m4/uintmax_t.m4.
97258         (Depends-on): Add stdint.
97259         * modules/unlink-busy: New module.
97260         * modules/utimecmp (Depends-on): Add stdint.
97261         * modules/uptime: New module.
97262         * modules/winsz-ioctl: New module.
97263         * modules/winsz-termios: New module.
97264         * modules/xnanosleep (Depends-on): Add nanosleep.
97265         * modules/ullong_max: Remove.
97266         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
97267         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
97268         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
97269         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
97270         (Depends-on): Add inttypes.
97271         (lib_SOURCES): Add xstrtol.h.
97272         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
97273         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
97274         * MODULES.html.sh: Move 'assert' into the assert section.
97275         Move 'dummy' into the linking section.
97276         Remove ullong_max.
97277         Add section for compatibility checks for POSIX:2001 functions,
97278         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
97279         winsz-ioctl, and winsz-termios into it.
97280         Add lchmod.
97281         Add top-level Misc section and put host-os, perl, and uptime
97282         into it.
97284 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
97286         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
97287         now assume the stdint module.  Do not include inttypes.h.
97288         * lib/fsusage.h: Likewise.
97289         * lib/getndelim2.c: Likewise.
97290         * lib/human.h: Likewise.
97291         * lib/inttostr.h: Likewise.
97292         * lib/obstack.c: Likewise.
97293         * lib/regex_internal.h: Likewise.
97294         * lib/tempname.c: Likewise.
97295         * lib/utimecmp.c: Likewise.
97296         * lib/xstrtol.h: Likewise.
97298         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
97300         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
97301         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
97302         * lib/xtime.h: Likewise.
97304 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
97306         * modules/openat (Files): Add lib/fchmodat.c.
97307         Fixes problem reported by Jay Youngman.
97309 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
97311         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
97312         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
97314 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
97315             Bruno Haible  <bruno@clisp.org>
97317         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
97318         and is a script that invokes bison. Tighten the code. Add comments.
97320 2006-08-18  Jim Meyering  <jim@meyering.net>
97322         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
97323         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
97324         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
97325         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
97327 2006-08-18  Bruno Haible  <bruno@clisp.org>
97329         * modules/bison-i18n: New file.
97330         * MODULES.html.sh (Internationalization functions): Add it.
97332 2006-08-18  Bruno Haible  <bruno@clisp.org>
97334         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
97335         sys/statvfs.h. When getmntinfo was found, check its declaration and
97336         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
97338 2006-08-18  Bruno Haible  <bruno@clisp.org>
97340         * m4/bison-i18n.m4: New file, from bison.
97342 2006-08-18  Bruno Haible  <bruno@clisp.org>
97344         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
97345         (ME_DUMMY): Treat "kernfs" as a dummy.
97346         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
97348 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
97350         Update from coreutils.
97352         2006-08-15  Jim Meyering  <jim@meyering.net>
97354         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
97356         2006-01-17  Jim Meyering  <jim@meyering.net>
97358         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
97360         2006-01-11  Jim Meyering  <jim@meyering.net>
97362         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
97363         Check for the lchmod function.
97365 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
97367         Update from coreutils.
97369         * lib/__fpending.h: Add copyright notice.
97370         * lib/fprintftime.h: Likewise.
97371         * lib/savedir.c: Use (C) in copyright notice.
97372         * lib/savedir.h: Likewise.
97374         2006-08-15  Jim Meyering  <jim@meyering.net>
97376         * lib/at-func.c: New file, with the logic of all emulated at-functions.
97377         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
97378         in support of the EXPECTED_ERRNO macro.
97379         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
97380         definitions.  Instead, define the appropriate symbols and include
97381         "at-func.c".
97382         * lib/mkdirat.c (mkdirat): Likewise.
97383         * lib/fchmodat.c (fchmodat): Likewise.
97384         (ENOSYS): Remove definition.
97385         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
97386         it.  Don't include "unistd--.h" -- it wasn't ever used.
97388         2006-01-17  Jim Meyering  <jim@meyering.net>
97390         Rewrite fts.c not to change the current working directory,
97391         by using openat, fstatat, fdopendir, etc..
97393         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
97394         (HAVE_OPENAT_SUPPORT): Define.
97395         [_LIBC] (fchdir): Don't undef or define; no longer used.
97396         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
97397         Now, this `function' always succeeds, and consumes its file descriptor
97398         parameter -- so callers must not close such FDs.  Update callers.
97399         (diropen_fd, opendirat, cwd_advance_fd): New functions.
97400         (diropen): Add parameter, SP.  Adjust all callers.
97401         Implement using diropen_fd, rather than open.
97402         (fts_open): Initialize new member, fts_cwd_fd.
97403         Remove fts_rft-setting code.
97404         (fts_close): Close fts_cwd_fd, if necessary.
97405         (__opendir2): Define in terms of opendir or opendirat,
97406         depending on whether the FST_NOCHDIR flag is set.
97407         (fts_build): Since fts_safe_changedir consumes its FD, and since
97408         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
97409         and close the dup'd file descriptor upon failure.
97410         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
97411         (fts_safe_changedir): Tweak semantics to reflect that this function
97412         now calls cwd_advance_fd and hence consumes its FD argument.
97413         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
97414         [struct FTS] (fts_rft): Remove now-unused member.
97415         [struct FTS] (fts_cycle.state): Improve comment.
97417         * lib/openat.c (openat_needs_fchdir): New function.
97418         * lib/openat.h (openat_needs_fchdir): Declare it.
97420 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
97422         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
97423         Problem and fix reported by Pádraig Brady in
97424         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00099.html>.
97426 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
97428         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
97430 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
97432         * lib/memcoll.c (memcoll): Optimize for the common case where the
97433         arguments are bytewise equal.
97435 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
97437         * doc/regexprops-generic.texi: Add a copyright notice.
97439 2006-08-15  Bruno Haible  <bruno@clisp.org>
97441         * modules/tmpdir (License): Change to LGPL.
97443 2006-08-15  Bruno Haible  <bruno@clisp.org>
97445         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
97446         module.
97448 2006-08-14  Simon Josefsson  <jas@extundo.com>
97450         * config/srclist.txt: Add gnupload.
97452 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
97454         Change copyright notice from LGPL 2 to GPL 2, since that's the
97455         standard form used in the gnulib repository.
97456         * tests/test-lock.c: Likewise.
97457         * tests/test-stdint.c: Likewise.
97458         * tests/test-tls.c: Likewise.
97460         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
97461         prelude-manager.  User shorter URLs for GNU projects, without '?'.
97462         Add copyright notice.
97464         * check-module: Add copyright notice.  Output a copyright
97465         notice if "--version" is specified.
97466         * modules/COPYING: New file.
97467         * tests/test-getaddrinfo.c: Add copyright notice.
97468         * tests/test-verify.c: Likewise.
97470 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
97472         Change copyright notice from LGPL 2 to GPL 2, since that's the
97473         standard form used in the gnulib repository.
97474         * lib/lock.c: LGPL -> GPL.
97475         * lib/lock.h: Likewise.
97476         * lib/strnlen1.c: Likewise.
97477         * lib/strnlen1.h: Likewise.
97478         * lib/tls.c: Likewise.
97479         * lib/tls.h: Likewise.
97480         * lib/tmpdir.c: Likewise.
97482         * lib/TODO: Remove; this belongs only in coreutils.
97484 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
97486         Add copyright notices to long-enough files that lack them, since
97487         otherwise the files aren't clearly free.  Use the same notice that
97488         getdate.texi already uses.
97489         * doc/alloca-opt.texi: Add copyright notice.
97490         * doc/alloca.texi: Likewise.
97491         * doc/ctime.texi: Likewise.
97492         * doc/functions.texi: Likewise.
97493         * doc/gcd.texi: Likewise.
97494         * doc/gnulib-tool.texi: Likewise.
97495         * doc/inet_ntoa.texi: Likewise.
97496         * doc/visibility.texi: Likewise.
97498         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
97499         * doc/quote.texi: Add copyright notice.
97501         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
97502         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
97503         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
97504         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
97505         is now obsolete, and give a pointer to the Sun list.
97506         Add copyright notice.
97508 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
97510         * config/srclistvars.sh: Add copyright notice.
97512 2006-08-14  Eric Blake  <ebb9@byu.net>
97514         Import the following change from libc:
97516         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
97518         Upstream bug 2997.
97519         * lib/misc/error.c: Add space between program name and message if file
97520         name is missing.
97522 2006-08-12  Karl Berry  <karl@gnu.org>
97524         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
97525         remove, these originate in gnulib now.
97527 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97529         * doc/Makefile (standards.info standards.html standards.dvi):
97530         Also depend on make-stds.texi.
97532 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
97534         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
97535         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
97537         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
97538         in wchar_t.  Problem reported by Eric Blake.
97540         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
97541         LEN is smaller than SIZE.  Suggested by Bruno Haible.
97542         Also, help the compiler to keep LEN in a register.
97544 2006-08-11  Eric Blake  <ebb9@byu.net>
97546         * users.txt: Sort.  Add tar.
97548 2006-08-11  Bruno Haible  <bruno@clisp.org>
97550         * users.txt: New file.
97552 2006-08-11  Bruno Haible  <bruno@clisp.org>
97554         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
97555         before <wchar.h>. Needed for OSF/1 and BSD/OS.
97557 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
97559         * modules/snprintf (Depends-on): Remove minmax.
97560         (Maintainer): Add self and Bruno.
97562 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
97564         * lib/.cppi-disable: Add snprintf.h, socket_.h.
97565         * lib/snprintf.c: Include <errno.h> and <limits.h>.
97566         (EOVERFLOW): Define if the system does not.
97567         Do not include "minmax.h"; it wasn't used.
97568         (snprintf): Don't assume size_t promotes to an unsigned type.
97569         Fix bug when generated string was too long for the buffer: the
97570         buffer's contents are supposed to be the initial prefix of the
97571         output.  Don't assume vasnprintf returns EOVERFLOW if the size
97572         exceeds INT_MAX; do the check ourselves.
97574         Import the following changes from libc:
97576         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
97578         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
97579         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
97580         set wc to the byte which couldn't be converted.
97581         (re_string_reconstruct): Don't clear valid_raw_len before calling
97582         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
97583         tip_context using re_string_context_at.
97585         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
97587         * lib/posix/regex.h: g++ still cannot handled [restrict].
97589         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
97591         * lib/posix/regex.h: Remove special handling for VMS.
97593 2006-08-10  Jim Meyering  <jim@meyering.net>
97595         * modules/same-inode: New module.
97596         * modules/dev-ino: New module.
97597         * modules/cycle-check: Depend on these modules, rather than simply
97598         including their .h files.
97599         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
97600         required via m4/cycle-check.m4.
97601         * modules/same: Depend on new same-inode module, rather than
97602         including same-inode.h.
97603         * modules/chdir-safer: New file.
97605         * modules/chown (Depends-on): Add stat-macros.
97607 2006-08-10  Jim Meyering  <jim@meyering.net>
97609         * m4/cycle-check.m4: New file.
97610         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
97611         * m4/dev-ino.m4, m4/same-inode.m4: New files.
97613 2006-08-10  Eric Blake  <ebb9@byu.net>
97615         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
97616         in from original proposal.
97618 2006-08-10  Eric Blake  <ebb9@byu.net>
97619         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
97621         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
97622         namespace.
97624 2006-08-10  Bruno Haible  <bruno@clisp.org>
97626         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
97627         as well.
97629 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
97631         Sync from coreutils.
97633         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
97635         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
97636         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
97638 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
97640         * modules/restrict: Remove; no longer needed now that we assume
97641         Autoconf 2.59 or later.
97642         * MODULES.html.sh: Remove 'restrict'.
97643         * modules/argp (Depends-on): Remove 'restrict'.
97644         * modules/base64 (Depends-on): Likewise.
97645         * modules/gc (Depends-on): Likewise.
97646         * modules/getaddrinfo (Depends-on): Likewise.
97647         * modules/glob (Depends-on): Likewise.
97648         * modules/inet_ntop (Depends-on): Likewise.
97649         * modules/inet_pton (Depends-on): Likewise.
97650         * modules/memxor (Depends-on): Likewise.
97651         * modules/regex (Depends-on): Likewise.
97652         * modules/strtok_r (Depends-on): Likewise.
97653         * modules/time_r (Depends-on): Likewise.
97655 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
97657         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
97658         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
97659         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
97660         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
97661         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
97662         * m4/memxor.m4 (gl_MEMXOR): Likewise.
97663         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
97664         gl_C_RESTRICT replaced by AC_C_RESTRICT.
97666         Merge from coreutils.
97667         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
97668         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
97669         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
97670         * m4/time_r.m4 (gl_TIME_R): Likewise.
97672 2006-08-09  Karl Berry  <karl@gnu.org>
97674         * config/srclist.txt: no more gettext-tools, per Bruno.
97676 2006-08-08  Eric Blake  <ebb9@byu.net>
97678         * modules/verror: New module.
97679         * MODULES.html.sh: Document it.
97681 2006-08-08  Eric Blake  <ebb9@byu.net>
97683         * lib/verror.h, lib/verror.c: New files.
97685 2006-08-08  Eric Blake  <ebb9@byu.net>
97687         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
97688         verror_at_line output complies with GNU Coding Standards even when
97689         file is NULL.
97691 2006-08-07  Bruno Haible  <bruno@clisp.org>
97693         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
97694         versions of AIX.
97695         Reported by Ralf Wildenhues.
97697 2006-08-07  Bruno Haible  <bruno@clisp.org>
97699         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
97700         in an AC_DEFUN. Needed so that the autoconf snippets can use
97701         AC_REQUIRE.
97703 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97705         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
97706         Initialize pkgdata_DATA.
97707         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
97708         overriding it.
97710 2006-08-06  Eric Blake  <ebb9@byu.net>
97712         * lib/error.h: Fold in some upstream changes from glibc.
97713         * lib/error.c: Likewise.
97715 2006-08-04  Bruno Haible  <bruno@clisp.org>
97717         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
97718         Make the mostlyclean-local rule depend on mostlyclean-generic.
97719         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
97721 2006-07-31  Bruno Haible  <bruno@clisp.org>
97723         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
97724         <stdlib.h>, <string.h>.
97726 2006-07-30  Bruno Haible  <bruno@clisp.org>
97728         * modules/readlink (License): Change to LGPL.
97730 2006-07-30  Bruno Haible  <bruno@clisp.org>
97732         * modules/javaversion (Makefile.am): Distribute javaversion.java and
97733         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
97734         set PKGDATADIR to point to it.
97736 2006-07-30  Bruno Haible  <bruno@clisp.org>
97738         * modules/csharpexec (configure.ac): Comment out macro invocation.
97739         * modules/javaexec (configure.ac): Likewise.
97740         * modules/javacomp-script (configure.ac): Likewise.
97742         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
97744 2006-07-30  Bruno Haible  <bruno@clisp.org>
97746         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
97747         linked-list.
97749 2006-07-30  Bruno Haible  <bruno@clisp.org>
97751         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
97753 2006-07-30  Bruno Haible  <bruno@clisp.org>
97755         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
97756         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
97757         get removed.
97759 2006-07-29  Bruno Haible  <bruno@clisp.org>
97761         Make it possible for gnulib-tool to work with locally modified or
97762         augmented gnulib repositories.
97763         * gnulib-tool (func_usage): Document --local-dir option.
97764         (local_gnulib_dir): New variable.
97765         Handle --local-dir option.
97766         (func_lookup_file): New function.
97767         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
97768         (func_get_description, func_get_filelist, func_get_description,
97769         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
97770         func_get_automake_snippet, func_get_include_directive,
97771         func_get_license, func_get_maintainer): Use func_lookup_file.
97772         (func_import, func_create_testdir): Use func_lookup_file.
97774 2006-07-29  Bruno Haible  <bruno@clisp.org>
97776         * modules/setenv (Depends-on): Add unistd.
97778 2006-07-29  Bruno Haible  <bruno@clisp.org>
97780         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
97782 2006-07-29  Bruno Haible  <bruno@clisp.org>
97784         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
97786 2006-07-29  Bruno Haible  <bruno@clisp.org>
97788         * gnulib-tool (import, update): If there is no Makefile.am, look at
97789         aclocal.m4, instead of bailing out.
97791 2006-07-29  Bruno Haible  <bruno@clisp.org>
97793         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
97794         Categorize the options by when they are useful.
97796 2006-07-29  Bruno Haible  <bruno@clisp.org>
97798         * gnulib-tool (func_usage): Document option --no-libtool.
97799         Handle option --no-libtool.
97800         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
97801         for changed semantics of $libtool variable.
97802         (func_import): Likewise. If libtool is not used, show this through
97803         an option --no-libtool.
97804         (func_create_testdir): Update.
97806 2006-07-29  Bruno Haible  <bruno@clisp.org>
97808         * gnulib-tool (func_import): Extend error message about missing
97809         --doc-base.
97811 2006-07-29  Bruno Haible  <bruno@clisp.org>
97813         * gnulib-tool (func_import): Don't create the $docbase directory if
97814         there is no file to store there.
97816 2006-07-29  Bruno Haible  <bruno@clisp.org>
97818         * gnulib-tool (autoconf_minversion): If a --dir option is given and
97819         relevant, look for configure.ac there, not in the current directory.
97820         Also use a simple search for AC_PREREQ, not "autoconf --trace".
97822 2006-07-29  Bruno Haible  <bruno@clisp.org>
97824         * gnulib-tool (SORT): New variable.
97825         (func_usage): Undocument --assume-autoconf option.
97826         Remove --assume-autoconf option handling.
97827         (autoconf_minversion): Determine from the contents of configure.ac.
97828         (func_import): Remove autoconf_minversion handling.
97829         Suggested by Eric Blake.
97831 2006-07-29  Bruno Haible  <bruno@clisp.org>
97833         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
97835 2006-07-29  Bruno Haible  <bruno@clisp.org>
97837         * config/srclist.txt (*setenv.[ch]): Remove rules.
97839 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
97841         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
97843 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
97845         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
97846         arpa/inet.h.
97848 2006-07-28  Simon Josefsson  <jas@extundo.com>
97850         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
97851         * modules/inet_pton (Depends-on): Likewise.
97853 2006-07-28  Simon Josefsson  <jas@extundo.com>
97855         * m4/netinet_in_h.m4: New file.
97857 2006-07-28  Simon Josefsson  <jas@extundo.com>
97859         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
97860         #include's.
97862 2006-07-28  Simon Josefsson  <jas@extundo.com>
97864         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
97865         #include's.
97867 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
97869         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
97870         setgid on directories only if they set these bits.
97871         * lib/modechange.h: Remove obsolete comment about masks.
97873 2006-07-28  Eric Blake  <ebb9@byu.net>
97875         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
97876         macro expansion.
97878 2006-07-28  Bruno Haible  <bruno@clisp.org>
97880         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
97882 2006-07-28  Bruno Haible  <bruno@clisp.org>
97884         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
97886 2006-07-28  Bruno Haible  <bruno@clisp.org>
97888         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
97889         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
97890         Define fallbacks.
97891         Avoids link error on FreeBSD 4.x.
97892         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
97894         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
97895         encoding.
97896         * lib/mbswidth.c (iswcntrl): Likewise.
97898 2006-07-27  Bruno Haible  <bruno@clisp.org>
97900         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
97901         test.
97903 2006-07-27  Bruno Haible  <bruno@clisp.org>
97905         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
97906         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
97907         defined.
97909 2006-07-26  Eric Blake  <ebb9@byu.net>
97911         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
97913 2006-07-26  Eric Blake  <ebb9@byu.net>
97915         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
97916         like mingw that lack mkstemp.
97917         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
97918         avoid compilation warning on mingw.
97920 2006-07-26  Bruno Haible  <bruno@clisp.org>
97922         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
97923         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
97924         INT_FAST*_MIN, INTPTR_MIN.
97926 2006-07-25  Bruno Haible  <bruno@clisp.org>
97928         * modules/version-etc (Depends-on): Add stdarg.
97930 2006-07-25  Bruno Haible  <bruno@clisp.org>
97932         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
97933         complex commands.
97935 2006-07-25  Bruno Haible  <bruno@clisp.org>
97937         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
97938         defined in <stdarg.h> or config.h.
97940 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
97942         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
97943         (gl_STDIO_SAFER): Remove.
97945 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
97947         * MODULES.html.sh (File stream based Input/Output):
97948         Add fopen-safer, tmpfile-safer; remove stdio-safer.
97949         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
97950         * modules/fopen-safer, modules/tmpfile-safer: New files.
97951         * modules/stdio-safer: Remove.
97953 2006-07-24  Bruno Haible  <bruno@clisp.org>
97955         * modules/tmpdir: New file.
97956         * MODULES.html.sh (File system functions): Add it.
97958 2006-07-24  Bruno Haible  <bruno@clisp.org>
97960         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
97961         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
97963 2006-07-24  Bruno Haible  <bruno@clisp.org>
97965         * modules/clean-temp: New file.
97967 2006-07-24  Bruno Haible  <bruno@clisp.org>
97969         * m4/tmpdir.m4: New file, from GNU gettext.
97971 2006-07-24  Bruno Haible  <bruno@clisp.org>
97973         * lib/tmpdir.h: New file, from GNU gettext.
97974         * lib/tmpdir.c: New file, from GNU gettext.
97976 2006-07-24  Bruno Haible  <bruno@clisp.org>
97978         * lib/clean-temp.h: New file, from GNU gettext.
97979         * lib/clean-temp.c: New file, from GNU gettext.
97981 2006-07-23  Eric Blake  <ebb9@byu.net>
97983         * modules/stdio-safer (Files): Add tmpfile-safer.c.
97984         (Depends-on): Add binary-io.
97986 2006-07-23  Eric Blake  <ebb9@byu.net>
97988         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
97990 2006-07-23  Eric Blake  <ebb9@byu.net>
97992         * lib/tmpfile-safer.c: New file.
97993         * lib/stdio-safer.h (fopen_safer): Add prototype.
97994         * lib/stdio--.h (tmpfile): Make safer.
97996 2006-07-23  Bruno Haible  <bruno@clisp.org>
97998         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
97999         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
98000         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
98001         gl_linked_remove_at): Use it.
98003 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
98004         and Simon Josefsson <jas@extundo.com>
98006         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
98008         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
98010 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
98012         * modules/close-stream: New file.
98013         * modules/closeout (Description): Make it clear that it exits
98014         with a diagnostic on error.
98015         (Depends-on): Add close-stream.  Remove fpending, stdbool.
98016         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
98018 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
98020         * m4/close-stream.m4: New file.
98022 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
98024         * lib/close-stream.c, lib/close-stream.h: New files.
98026 2006-07-22  Bruno Haible  <bruno@clisp.org>
98028         Merge from GNU gettext 0.15.
98030         2006-05-01  Bruno Haible  <bruno@clisp.org>
98032                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
98034         2006-07-22  Bruno Haible  <bruno@clisp.org>
98036                 * modules/javaversion: New file.
98037                 * MODULES.html.sh (Java): Add javaversion.
98039         2006-03-12  Bruno Haible  <bruno@clisp.org>
98041                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
98043         2005-12-04  Bruno Haible  <bruno@clisp.org>
98045                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
98046                 (untested).
98048         2006-06-21  Bruno Haible  <bruno@clisp.org>
98050                 Avoid warnings from recent versions of mcs.
98051                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
98052                 -o, -L, -r any more. Use options documented since mcs-1.0
98053                 instead. Similarly for -g.
98055         2005-12-04  Bruno Haible  <bruno@clisp.org>
98057                 * build-aux/csharpcomp.sh.in: Suffix for resources is
98058                 .resources, not .resource.
98060         2005-07-09  Bruno Haible  <bruno@clisp.org>
98062                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
98063                 add a .dll suffix.
98064                 Reported by Mark Junker <mjscod@gmx.de>.
98066         2006-07-22  Bruno Haible  <bruno@clisp.org>
98068                 * modules/gettext: Upgrade to gettext-0.15.
98069                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
98070                 m4/visibility.m4.
98071                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
98073 2006-07-22  Bruno Haible  <bruno@clisp.org>
98075         Merge from GNU gettext 0.15.
98077         2006-03-25  Bruno Haible  <bruno@clisp.org>
98079                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
98081         2006-07-21  Bruno Haible  <bruno@clisp.org>
98083                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
98084                 "1.1".
98086         2006-05-09  Bruno Haible  <bruno@clisp.org>
98088                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
98089                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
98090                 for the conftestver execution.
98092         2006-05-01  Bruno Haible  <bruno@clisp.org>
98094                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
98095                 optional target-version argument. Verify that the compiler
98096                 groks source of the specified source-version, or add -source
98097                 option as necessary. Verify that the compiler produces
98098                 bytecode in the specified target-version, or add -target and
98099                 -source options as necessary. Make the result of the test
98100                 available as variable CONF_JAVAC. Also log error output in
98101                 config.log.
98103         2006-03-11  Bruno Haible  <bruno@clisp.org>
98105                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
98107         2006-05-09  Bruno Haible  <bruno@clisp.org>
98109                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
98110                 CLASSPATH_SEPARATOR to a semicolon.
98112         2006-03-12  Bruno Haible  <bruno@clisp.org>
98114                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
98115                 available as variable CONF_JAVA, for subsequent autoconf
98116                 tests. Also log error output in config.log.
98118         2006-07-19  Bruno Haible  <bruno@clisp.org>
98120                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
98121                 that getline works on glibc2 systems. Needed to avoid trouble
98122                 in relocatable.c.
98123                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
98125         2005-12-04  Bruno Haible  <bruno@clisp.org>
98127                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
98128                 launcher (untested).
98130         2005-12-04  Bruno Haible  <bruno@clisp.org>
98132                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
98134         2006-07-22  Bruno Haible  <bruno@clisp.org>
98136                 * gettext.m4: Update from GNU gettext-0.15.
98137                 * nls.m4: Likewise.
98138                 * po.m4: Likewise.
98139                 * inttypes-pri.m4: Likewise.
98140                 * inttypes-h.m4: Renamed from inttypes.m4.
98141                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
98143 2006-07-22  Bruno Haible  <bruno@clisp.org>
98145         Merge from GNU gettext 0.15.
98147         2005-07-05  Bruno Haible  <bruno@clisp.org>
98149                 * printf-args.c (printf_fetchargs): Work around broken
98150                 definition of wint_t on mingw.
98152         2005-02-12  Bruno Haible  <bruno@clisp.org>
98154                 * xallocsa.h: Add extern "C" for C++.
98156         2006-05-17  Bruno Haible  <bruno@clisp.org>
98158                 Cygwin portability.
98159                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
98161         2006-04-30  Bruno Haible  <bruno@clisp.org>
98163                 * progreloc.c: Include <mach-o/dyld.h> if available.
98164                 (find_executable): Use _NSGetExecutablePath when possible.
98166         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
98168                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
98169                 function.
98171         2005-12-29  Bruno Haible  <bruno@clisp.org>
98173                 * progreloc.c (set_program_name_and_installdir): Fix
98174                 compilation error.
98176         2005-12-04  Bruno Haible  <bruno@clisp.org>
98178                 Cygwin portability.
98179                 * progreloc.c: Include <windows.h> also on Cygwin.
98180                 (find_executable): Add support for Cygwin.
98181                 (set_program_name_and_installdir): Handle also platforms with
98182                 nonempty EXEEXT.
98184         2006-07-11  Bruno Haible  <bruno@clisp.org>
98186                 * javacomp.c: Fix a comment.
98187                 Reported by Jim Meyering.
98189         2006-04-30  Bruno Haible  <bruno@clisp.org>
98191                 * javacomp.h (compile_java_class): Add source_version,
98192                 target_version arguments.
98193                 * javacomp.c: Rewritten to choose only a compiler that
98194                 respects the specified source_version and target_version.
98196         2006-06-27  Bruno Haible  <bruno@clisp.org>
98198                 Assume correct S_ISDIR macro.
98199                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
98201         2006-07-22  Bruno Haible  <bruno@clisp.org>
98203                 * javaversion.h: New file, from GNU gettext.
98204                 * javaversion.c: New file, from GNU gettext.
98205                 * javaversion.java: New file, from GNU gettext.
98206                 * javaversion.class: New file, from GNU gettext.
98208         2006-05-17  Bruno Haible  <bruno@clisp.org>
98210                 Cygwin portability.
98211                 * javaexec.c (execute_java_class): Test for jview program
98212                 also on Cygwin.
98214         2006-04-09  Bruno Haible  <bruno@clisp.org>
98216                 * fatal-signal.c: Don't include string.h.
98217                 (at_fatal_signal): Use a copying loop instead of memcpy.
98219         2005-12-04  Bruno Haible  <bruno@clisp.org>
98221                 * csharpexec.c: Add support for 'clix' launcher (untested).
98222                 (execute_csharp_using_sscli): New function.
98223                 (execute_csharp_program): Call it.
98225         2006-06-21  Bruno Haible  <bruno@clisp.org>
98227                 Avoid warnings from recent versions of mcs.
98228                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
98229                 -o, -L, -r any more. Use options documented since mcs-1.0
98230                 instead. Similarly for -g.
98232         2005-07-09  Bruno Haible  <bruno@clisp.org>
98234                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
98235                 add a .dll suffix.
98236                 Reported by Mark Junker <mjscod@gmx.de>.
98238         2006-06-17  Bruno Haible  <bruno@clisp.org>
98240                 * config.charset: Update for NetBSD 3.0.
98242         2006-05-17  Bruno Haible  <bruno@clisp.org>
98244                 Cygwin portability.
98245                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
98247         2006-05-16  Bruno Haible  <bruno@clisp.org>
98249                 * localcharset.c [CYGWIN]: Include <windows.h>.
98250                 (get_charset_aliases): For Cygwin, return the same CPxxx
98251                 aliases list as under WIN32.
98252                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
98253                 the environment variables. Fall back to GetACP().
98255         2006-04-05  Bruno Haible  <bruno@clisp.org>
98257                 * config.charset: Update Juan Manuel Guerrero's address.
98259         2005-02-12  Bruno Haible  <bruno@clisp.org>
98261                 * allocsa.h: Add extern "C" for C++.
98263         2005-02-10  Bruno Haible  <bruno@clisp.org>
98265                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
98266                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
98268         2006-07-22  Bruno Haible  <bruno@clisp.org>
98270                 * gettext.h: Update to GNU gettext-0.15.
98272 2006-07-22  Bruno Haible  <bruno@clisp.org>
98274         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
98275         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
98276         lib-prefix.m4, longdouble.m4, ssize_t.m4.
98278 2006-07-21  Eric Blake  <ebb9@byu.net>
98280         * modules/stdlib-safer: New file.
98281         * MODULES.html.sh (File stream based Input/Output): Add
98282         stdlib-safer.
98284 2006-07-21  Eric Blake  <ebb9@byu.net>
98286         * lib/stdlib-safer.h: New file from coreutils, required by
98287         stdlib--.h.
98289 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
98291         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
98293 2006-07-20  Bruno Haible  <bruno@clisp.org>
98295         * gnulib-tool: Recognize new option --assume-autoconf.
98296         (autoconf_minversion): New variable.
98297         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
98299 2006-07-20  Bruno Haible  <bruno@clisp.org>
98301         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
98303 2006-07-19  Derek R. Price  <derek@ximbiot.com>
98305         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
98306         Reindent and repaginate.
98308 2006-07-19  Derek Price  <derek@ximbiot.com>
98310         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
98311         Correct grammar.
98313 2006-07-17  Bruno Haible  <bruno@clisp.org>
98315         * modules/list: New file.
98316         * modules/array-list: New file.
98317         * modules/carray-list, modules/carray-list-tests: New files.
98318         * modules/linked-list, modules/linked-list-tests: New files.
98319         * modules/avltree-list, modules/avltree-list-tests: New files.
98320         * modules/rbtree-list, modules/rbtree-list-tests: New files.
98321         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
98322         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
98323         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
98324         * modules/oset: New file.
98325         * modules/array-oset: New file.
98326         * modules/avltree-oset, modules/avltree-oset-tests: New files.
98327         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
98328         * tests/test-carray_list.c: New file.
98329         * tests/test-linked_list.c: New file.
98330         * tests/test-avltree_list.c: New file.
98331         * tests/test-rbtree_list.c: New file.
98332         * tests/test-linkedhash_list.c: New file.
98333         * tests/test-avltreehash_list.c: New file.
98334         * tests/test-rbtreehash_list.c: New file.
98335         * tests/test-avltree_oset.c: New file.
98336         * tests/test-rbtree_oset.c: New file.
98337         * MODULES.html.sh (Container data structures): New section.
98339 2006-07-17  Bruno Haible  <bruno@clisp.org>
98341         * m4/gl_list.m4: New file.
98343 2006-07-17  Bruno Haible  <bruno@clisp.org>
98345         * lib/gl_list.h: New file.
98346         * lib/gl_list.c: New file.
98347         * lib/gl_array_list.h: New file.
98348         * lib/gl_array_list.c: New file.
98349         * lib/gl_carray_list.h: New file.
98350         * lib/gl_carray_list.c: New file.
98351         * lib/gl_linked_list.h: New file.
98352         * lib/gl_linked_list.c: New file.
98353         * lib/gl_anylinked_list1.h: New file.
98354         * lib/gl_anylinked_list2.h: New file.
98355         * lib/gl_avltree_list.h: New file.
98356         * lib/gl_avltree_list.c: New file.
98357         * lib/gl_anyavltree_list1.h: New file.
98358         * lib/gl_anyavltree_list2.h: New file.
98359         * lib/gl_rbtree_list.h: New file.
98360         * lib/gl_rbtree_list.c: New file.
98361         * lib/gl_anyrbtree_list1.h: New file.
98362         * lib/gl_anyrbtree_list2.h: New file.
98363         * lib/gl_anytree_list1.h: New file.
98364         * lib/gl_anytree_list2.h: New file.
98365         * lib/gl_linkedhash_list.h: New file.
98366         * lib/gl_linkedhash_list.c: New file.
98367         * lib/gl_anyhash_list1.h: New file.
98368         * lib/gl_anyhash_list2.h: New file.
98369         * lib/gl_avltreehash_list.h: New file.
98370         * lib/gl_avltreehash_list.c: New file.
98371         * lib/gl_rbtreehash_list.h: New file.
98372         * lib/gl_rbtreehash_list.c: New file.
98373         * lib/gl_anytreehash_list1.h: New file.
98374         * lib/gl_anytreehash_list2.h: New file.
98376         * lib/gl_oset.h: New file.
98377         * lib/gl_oset.c: New file.
98378         * lib/gl_array_oset.h: New file.
98379         * lib/gl_array_oset.c: New file.
98380         * lib/gl_avltree_oset.h: New file.
98381         * lib/gl_avltree_oset.c: New file.
98382         * lib/gl_rbtree_oset.h: New file.
98383         * lib/gl_rbtree_oset.c: New file.
98384         * lib/gl_anytree_oset.h: New file.
98386 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
98388         * m4/mkancesdirs.m4: New file.
98389         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
98390         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
98391         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
98392         it.
98394 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
98396         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
98397         * lib/mkancesdirs.h: New files.
98398         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
98399         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
98400         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
98401         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
98402         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
98403         callers changed.  Revamp internals significantly, by not
98404         attempting to create directories that are temporarily more
98405         permissive than the final results.  Do not attempt to use
98406         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
98407         This removes some race conditions, fixes some bugs, and simplifies
98408         things.  Use new dirchownmod function to do owner and mode changes.
98409         * lib/mkdir-p.h: Likewise.
98410         * lib/modechange.c (octal_to_mode): New function.
98411         (struct mode_change): New member mentioned.
98412         (make_node_op_equals): New arg mentioned.  All callers changed.
98413         (mode_compile): Keep track of which mode bits the user has explicitly
98414         mentioned.
98415         (mode_adjust): New arg DIR, so that we implement the X op correctly.
98416         New arg PMODE_BITS, to keep track of which mode bits the user
98417         mentioned; it treats S_ISUID and S_ISGID speciall.
98418         All callers changed.
98419         * lib/modechange.h: Likewise.
98421 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
98423         * MODULES.html.sh: Add mkancestors.
98424         * modules/mkancesdirs: New module.
98425         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
98426         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
98427         The chdir-safer and afs files are now orphans; I'll remove them
98428         unless someone speaks up.
98429         Add lib/dirchownmod.c, lib/dirchownmod.h.
98430         (Depends-on): Remove alloca, chown, save-cwd, dirname.
98431         Add lchown, mkancesdirs.
98432         (Maintainer): Add self.
98434 2006-07-15  Karl Berry  <karl@gnu.org>
98436         * gnulib-tool: help message wording/arrangement.
98438 2006-07-14  Simon Josefsson  <jas@extundo.com>
98440         * doc/gnulib.texi (Libtool and Windows): New section.
98442 2006-07-12  Simon Josefsson  <jas@extundo.com>
98444         * modules/gendocs (License): Fix license, approved by Karl.
98446 2006-07-12  Eric Blake  <ebb9@byu.net>
98448         * MODULES.html.sh: Add gendocs.
98450 2006-07-11  Eric Blake  <ebb9@byu.net>
98452         * modules/fdl: New module, to install doc/fdl.texi.
98453         * MODULES.html.sh: Add new section for documentation modules.
98454         * gnulib-tool: Avoid space-tab.
98455         (--doc-base): New option, to manage files from doc.
98457 2006-07-11  Eric Blake  <ebb9@byu.net>
98459         * m4/absolute-header.m4: Fix comments to match recent change.
98461 2006-07-11  Eric Blake  <ebb9@byu.net>
98463         * gnulib-tool: List --doc-base before --tests-base.
98465 2006-07-11  Derek R. Price  <derek@ximbiot.com>
98467         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
98469 2006-07-11  Bruno Haible  <bruno@clisp.org>
98471         * README: Mention where to put documentation.
98473 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98475         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
98477 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
98479         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
98480         to stdint.m4.
98482 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
98484         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
98485         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
98486         "no/such/file/stdint.h" when there is no such file, so that
98487         the resulting C code can be parsed by dodgy compilers.
98488         Problems reported by Bob Proulx.
98490 2006-07-10  Derek R. Price  <derek@ximbiot.com>
98492         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
98493         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
98494         macros into the GNU _D_EXACT_NAMLEN.
98495         * lib/savedir.c:  Likewise.
98496         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
98498 2006-07-10  Derek R. Price  <derek@ximbiot.com>
98499         and Paul Eggert  <eggert@cs.ucla.edu>
98501         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
98502         * m4/savedir.m4:
98503         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
98504         macros into the GNU _D_EXACT_NAMLEN.
98506 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
98508         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
98509         around the absolute name, to work around a problem with the HP-UX
98510         11.23 native C compiler, reported by Bob Proulx.
98512 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
98514         * doc/maintain.texi, make-stds.texi: Sync from
98515         <http://savannah.gnu.org/projects/gnustandards>.
98517 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
98519         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
98521 2006-07-09  Jim Meyering  <jim@meyering.net>
98523         * m4/glob.m4: Remove a doubled word in a comment.
98525 2006-07-09  Jim Meyering  <jim@meyering.net>
98527         * lib/argp-pv.c: Remove a doubled word in a comment.
98528         * lib/check-version.c (check_version): Likewise.
98529         * lib/javacomp.c (compile_java_class): Likewise.
98531 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
98533         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
98534         for the benefit of people using Autoconf 2.60.  If you want to
98535         support older Autoconf versions you can copy m4/onceonly_2_57.m4
98536         (or m4/onceonly.m4, if pre-2.57) manually.
98538 2006-07-08  Jim Meyering  <jim@meyering.net>
98540         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
98541         comment.
98542         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
98543         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
98544         comment.
98546 2006-07-08  Jim Meyering  <jim@meyering.net>
98548         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
98550 2006-07-07  Simon Josefsson  <jas@extundo.com>
98552         * tests/test-crc.c: Change expected crc value, the test vector
98553         were probably computed using the old broken crc.c?
98555 2006-07-06  Simon Josefsson  <jas@extundo.com>
98557         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
98558         now the canonical place for the M4 file).
98560         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
98561         from the sys_socket dependency now.
98563         * modules/inet_pton (Files): Ditto.
98565         * modules/inet_ntop (Files): Ditto.
98567 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
98569         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
98570         not gl_PREREQ_GETUSERSHELL.
98572 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98574         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
98575         with only one argument, for Autoconf 2.60.
98576         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
98577         expand to nothing, so add a shell command to avoid syntax error.
98578         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
98580 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98582         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
98584 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
98586         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
98587         no longer needed.  Check for isblank decl.
98588         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
98589         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
98590         of existence.
98592 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
98594         * lib/getloadavg.c: Use __VMS, not VMS.
98595         * lib/getopt.c: Likewise.
98596         * lib/getpagesize.h: Likewise.
98597         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
98598         and probably does not work.
98600 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
98602         * lib/.cppi-disable: Add wcwidth.
98603         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
98604         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
98605         (ISGRAPH): Remove.  All uses changed to isgraph.
98606         (FOLD) [!defined _LIBC]: Remove special case.
98607         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
98608         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
98609         HAVE_ISBLANK.
98610         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
98611         case.
98613 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
98615         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
98616         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
98617         brackets.  Other minor changes to suppress some compiler
98618         warnings.
98620 2006-07-06  Derek R. Price  <derek@ximbiot.com>
98621         and Paul Eggert  <eggert@cs.ucla.edu>
98623         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
98624         of invoking obsolescent AC_HEADER_DIRENT macro.
98625         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
98626         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
98627         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
98628         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
98629         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
98630         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
98631         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
98632         * m4/readdir.m4: Remove; no longer needed.
98634 2006-07-06  Derek R. Price  <derek@ximbiot.com>
98635         and Paul Eggert  <eggert@cs.ucla.edu>
98637         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
98638         Don't worry about this obsolete case any more.
98639         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
98640         directories.
98641         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
98642         worry about this obsolete case any more.
98643         * lib/fts.c: Likewise.
98644         * lib/getcwd.c: Likewise.
98645         * lib/glob.h: Likewise.
98646         * lib/savedir.c: Likewise.
98648 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
98650         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
98651         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
98652         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
98653         needed.
98654         All uses removed.
98655         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
98656         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
98657         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
98658         needed.
98659         * m4/getdate.m4 (gl_GETDATE): Likewise.
98660         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
98661         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
98662         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
98663         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
98664         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
98665         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
98666         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
98667         needed.
98669 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
98671         * lib/memcasecmp.c: Include <limits.h>.
98672         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
98673         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
98674         Don't assume isdigit succeeds only on '0' through '9'.
98676 2006-07-05  Eric Blake  <ebb9@byu.net>
98678         * modules/getaddrinfo (Depends-on): Add snprintf.
98680 2006-07-05  Eric Blake  <ebb9@byu.net>
98682         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
98683         to avoid 'header present but could not be compiled' on cygwin.
98685 2006-07-05  Eric Blake  <ebb9@byu.net>
98687         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
98688         missing from netdb.h.
98689         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
98691 2006-07-05  Derek R. Price  <derek@ximbiot.com>
98693         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
98694         no longer needed.
98695         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
98696         * m4/getdate.m4 (gl_GETDATE): Likewise.
98697         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
98698         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
98699         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
98700         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
98701         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
98703 2006-07-05  Derek R. Price  <derek@ximbiot.com>
98705         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
98706         All uses of is_space replaced by isspace.
98707         * lib/exit.h: Don't talk about STDC_HEADERS.
98708         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
98709         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
98710         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
98711         replaced by isprint etc.
98712         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
98713         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
98714         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
98715         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
98716         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
98717         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
98719 2006-07-05  Bruno Haible  <bruno@clisp.org>
98721         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
98722         the function exists, before testing against AIX.
98723         Reported by Martin Lambers <marlam@marlam.de>.
98725 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
98727         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
98728         From Mark D. Baushke.
98730 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
98732         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
98733         to the absolute name, not just one, to bypass Sun C 5.8's
98734         "warning: #include of /usr/include/... may be non-portable".
98736 2006-07-04  Eric Blake  <ebb9@byu.net>
98738         * modules/dirname-tests: New test module.
98739         * tests/test-dirname.c: New file, replacing dirname.c
98740         TEST_DIRNAME section that was recently deleted.
98742 2006-07-04  Bruno Haible  <bruno@clisp.org>
98744         Assume ANSI C header files and <ctype.h> functions.
98745         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
98746         (mbsnwidth): Use isprint, iscntrl instead.
98748 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
98750         Merge from coreutils.
98751         * MODULES.html.sh: Add xstrtold.
98752         * modules/xstrtold: New file.
98753         * modules/cycle-check (Files): Add lib/same-inode.h.
98754         * modules/dirname (Files): Add m4/double-slash-root.m4.
98755         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
98756         * modules/mkdir-p (Files): Add lib/same-inode.h.
98757         * modules/same (Files): Add lib/same-inode.h.
98759 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
98761         * m4/absolute-header.m4: Renamed from full-header-path.m4.
98762         This is to keep the terminology clean; POSIX talks about
98763         "absolute pathnames", not "full pathnames", but the GNU
98764         Coding Standards say to use "path" for something else;
98765         so use "absolute" to keep both sides happy.
98766         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
98767         Set gl_absolute_header, not gl_full_header_path.
98768         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
98769         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
98770         All uses changed.
98772         Merge from coreutils.
98774         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
98776         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
98777         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
98778         want to require the building of c-strtod.o.
98779         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
98780         needs -lm directly.
98781         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
98783         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
98785         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
98786         --as-needed option if available.  Problem reported by Albert Chin in
98787         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00114.html>.
98788         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
98789         cc merely issues a bunch of annoying warnings for --as-needed
98790         (this problem was reported by Bob Proulx).  Also, try linking with
98791         -lm to detect a bug in binutils 2.16 (this problem was reported
98792         by Ralf Wildenhues).
98794         2006-06-18  Jim Meyering  <jim@meyering.net>
98796         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
98797         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
98798         macro.
98799         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
98800         also check for glibc-2.4's abort-inducing bug.
98802         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
98803         Low-probability clean-up should be to use rmdir to get rid of
98804         the just-created directory, not unlink.
98806         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
98807         configure fail, and request a bug report to inform us about it.
98808         Add a comment that, barring reports to the contrary, in 2007 we'll
98809         assume ftruncate is universally available.
98811         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
98813         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
98815         2006-03-12  Jim Meyering  <jim@meyering.net>
98817         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
98818         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
98819         * m4/same.m4 (gl_SAME): Likewise.
98820         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
98822         2006-03-11  Eric Blake  <ebb9@byu.net>
98824         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
98825         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
98826         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
98827         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
98829 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
98831         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
98832         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
98833         reported by Mark D. Baushke, one in
98834         <http://lists.gnu.org/r/bug-gnulib/2006-07/msg00015.html>.
98836         Merge from coreutils.
98838         * lib/.cppi-disable: Add stdint_.h.
98839         * lib/.cvsignore: Add stdint.h.
98841         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
98843         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
98844         both double and long double versions.
98845         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
98846         * lib/xstrtold.c: New file.
98847         * lib/xstrtod.h (xstrtold): New decl.
98849         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
98851         * lib/filemode.c (setst): Remove.
98852         (strmode): Rewrite to avoid setst.  This makes the code shorter,
98853         (arguably) clearer, and the generated code is a bit smaller on my
98854         Debian GNU/Linux stable x86 host.
98856         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
98858         * lib/filemode.c: Include "filemode.h" first, to test the interface.
98859         Assume that filemode.h includes sys/types.h and sys/stat.h.
98860         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
98861         (ftypelet): Reorder to put common cases first, for efficiency.
98862         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
98863         to do 'M'.
98864         (strmode): Renamed from mode_string, and now stores 12 bytes instead
98865         of 10, for compatibility with FreeBSD.  All callers changed.
98866         (filemodestring): Now stores 12 bytes instead of 10, and sets file
98867         types that can't be deduced solely from st_mode.  First arg is now a
98868         const pointer.
98869         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
98870         (strmode): Renamed from mode_string.
98871         (filemodestring): New decl.
98872         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
98873         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
98874         needed.
98875         (S_ISPORT, S_ISWHT): New macros, if not already defined.
98877         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
98879         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
98880         fsusage.h now does that.  Include fsusage.h first, to test interface.
98881         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
98882         at most one method (the old code could have generated decls that
98883         didn't conform to C89, not that this was ever exercised).
98884         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
98886         2006-03-19  Jim Meyering  <jim@meyering.net>
98888         Work even in a chroot where d_ino values for entries in "/"
98889         don't match the stat.st_ino values for the same names.
98890         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
98891         number, iterate through all entries again, using lstat instead.
98892         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
98893         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
98895         * lib/getcwd.c (__getcwd): Clarify a comment.
98896         Use memcpy in place of a call to strcpy.
98898         2006-03-12  Jim Meyering  <jim@meyering.net>
98900         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
98901         matches that of the current directory (which we're about to chdir ".."
98902         out of), then save the dev-ino of the parent, instead.
98904         * lib/same-inode.h (SAME_INODE): New file/macro.
98905         * lib/chdir-safer.c (SAME_INODE): Remove definition.
98906         Include "same-inode.h", instead.
98907         * lib/same.c: Likewise.
98908         * lib/cycle-check.h: Include "same-inode.h".
98909         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
98910         * lib/cycle-check.c (SAME_INODE): Remove definition.
98911         * lib/root-dev-ino.h: Include "same-inode.h".
98913         2006-03-11  Eric Blake  <ebb9@byu.net>
98915         * lib/same.c (same_name): s/base_name/last_component/
98916         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
98917         * lib/filenamecat.c (file_name_concat): Likewise.
98919         2006-03-11  Eric Blake  <ebb9@byu.net>,
98920                     Paul Eggert  <eggert@cs.ucla.edu>
98922         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
98923         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
98924         drive prefix.
98925         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
98926         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
98927         (last_component): New method.
98928         * lib/dirname.c (dir_len): Determine when drive letters need a
98929         subsequent slash.  Preserve // when it is special.
98930         (dir_name): Don't append dot when drive letter is absolute.
98931         [TEST_DIRNAME]: Move into a full-blown gnulib test.
98932         * lib/basename.c (base_name): New semantics - malloc the result.
98933         Preserve // when it is special.  Preserve relative files that look
98934         like drive letters.
98935         (base_len): Preserve // when it is special.
98936         (last_component): New method, similar to old base_name semantics.
98937         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
98938         base_name.  Strip redundant slashes from ///.
98940 2006-07-03  Jim Meyering  <jim@meyering.net>
98942         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
98943         macro is used before the first cycle_check call.
98945 2006-07-03  Eric Blake  <ebb9@byu.net>
98947         * modules/dirname (Depends-on): Add xstrndup.
98949 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
98951         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
98952         test cases, so that config.log is a bit easier to follow.
98954 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
98956         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
98957         both are 64 bits, since this seems to be the tradition, and this
98958         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
98959         we ever run into a host that prefers long long to long in this
98960         case, we'll need another configure-time test.  Problem reported by
98961         Jim Meyering.
98963 2006-07-02  Eric Blake  <ebb9@byu.net>
98965         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
98967 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
98969         * modules/inttypes (Depends-on): No longer depends on stdint.
98970         * modules/stdint (Description): Say more about assumptions.
98971         Say that the fast types might differ.  Say macros are used.
98972         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
98973         (Makefile.am): Revise list of substituted symbols to match
98974         new stdint.m4.
98975         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
98976         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
98977         * tests/test-stdint.c (verify_same_types)
98978         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
98979         the code conforms to C99/C89.
98980         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
98981         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
98983 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
98985         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
98986         but fix a bug, by requiring at least 64 bits.
98987         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
98988         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
98989         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
98990         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
98992         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
98993         changes.  Make 2.59 a prerequisite.  Check and substitute for
98994         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
98995         inttypes.h.  Do not use special include files; just use the
98996         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
98997         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
98998         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
98999         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
99000         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
99001         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
99002         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
99003         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
99004         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
99005         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
99006         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
99007         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
99008         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
99009         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
99010         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
99011         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
99012         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
99013         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
99014         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
99015         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
99016         WINT_MAX.  Check for C99 conformance more strictly, by detecting
99017         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
99018         not check for things that C99 does not require, e.g., int8_t.  If
99019         a test isn't needed unless <stdint.h> isn't working, and is
99020         unlikely to be needed for any other reason, then don't do it
99021         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
99022         size_t, since we assume C89 freestanding at least.  Do not check
99023         for sig_atomic_t, wchar_t, or wint_t, since the code now does
99024         the right thing even if the types are not defined.  Instead use:
99025         (gl_STDINT_TYPE_PROPERTIES): New macro.
99026         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
99027         testing whether <sys/types.h> clashes, as Autoconf does this for
99028         us now.  All uses removed.
99029         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
99030         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
99031         (gl_CHECK_TYPE_SAME):
99032         Remove; no longer needed.
99033         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
99034         exists, since we'll return 0 anyway in that case.
99035         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
99037 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
99039         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
99040         possible collision with system files.
99041         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
99042         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
99043         WCHAR_MIN and WCHAR_MAX in this case.
99044         (<stddef.h>): Do not include; no longer needed.
99045         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
99046         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
99047         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
99048         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
99049         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
99050         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
99051         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
99052         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
99053         !defined(__c99))]: Include in this case too, since it's harmless
99054         now.
99055         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
99056         dangerous to do so.
99057         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
99058         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
99059         (_STDINT_MIN, _STDINT_MAX): New macros.
99060         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
99061         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
99062         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
99063         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
99064         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
99065         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
99066         macros, not typedefs; this simplifies things quite a bit.
99067         Use long int for all types narrower than int64_t.
99068         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
99069         Define in terms of long long int or int64_t or long int,
99070         not int64_t or int32_t.  This saves some compile-time testing.
99071         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
99072         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
99073         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
99074         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
99075         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
99076         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
99077         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
99078         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
99079         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
99080         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
99081         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
99082         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
99083         undef any previous version and define our own version, for
99084         simplicity and consistency with the new macros for types.
99085         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
99086         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
99087         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
99088         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
99089         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
99090         @WINT_T_SUFFIX@ to keep things simple here.
99091         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
99092         Simplify by assuming typical 8/16/32/64 host, since we're
99093         already doing that elsewhere anyway.
99094         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
99095         and assume long long int is 64 bits if available.  This
99096         speeds up 'configure'.
99098 2006-07-01  Eric Blake  <ebb9@byu.net>
99100         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
99101         Reported by Andreas Buening.
99103 2006-07-01  Eric Blake  <ebb9@byu.net>
99105         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
99107 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
99109         * lib/getaddrinfo.c: fixed typo
99111 2006-06-29  Jim Meyering  <jim@meyering.net>
99113         * modules/strftime (Maintainer): Add my name, since with the
99114         FPRINTFTIME changes strftime.c has forked from glibc.
99116 2006-06-29  Eric Blake  <ebb9@byu.net>
99118         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
99120 2006-06-29  Eric Blake  <ebb9@byu.net>
99122         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
99124 2006-06-29  Eric Blake  <ebb9@byu.net>
99126         * lib/stat_.h: New file.
99128 2006-06-29  Eric Blake  <ebb9@byu.net>
99130         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
99131         unused static function.
99133 2006-06-29  Eric Blake  <ebb9@byu.net>
99135         * doc/functions.texi (Function Portability): Document missing lstat
99136         on mingw.
99138 2006-06-29  Eric Blake  <ebb9@byu.net>
99140         * MODULES.html.sh: Add sys_stat.
99141         * modules/sys_stat: New module.
99142         * modules/mkstemp (Depends-on): Add sys_stat.
99144 2006-06-29  Derek R. Price  <derek@ximbiot.com>
99146         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
99148 2006-06-29  Derek R. Price  <derek@ximbiot.com>
99150         * m4/c-bs-a.m4: Removed.
99152 2006-06-29  Derek R. Price  <derek@ximbiot.com>
99154         * lib/strftime.c: Assume strftime() exists.
99156 2006-06-29  Derek Price  <derek@ximbiot.com>
99158         * modules/c-bs-a: Removed - \a is C89.
99159         * MODULES.html.sh: Remove c-bs-a.
99161 2006-06-29  Bruno Haible  <bruno@clisp.org>
99163         * modules/wcwidth (License): Change to LGPL.
99165 2006-06-28  Simon Josefsson  <jas@extundo.com>
99167         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
99168         on _WIN32.
99170         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
99171         getnameinfo.
99173 2006-06-28  Simon Josefsson  <jas@extundo.com>
99175         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
99177 2006-06-28  Simon Josefsson  <jas@extundo.com>
99179         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
99180         functions there.  It will succeed on Windows XP, but on Windows
99181         2000 and (presumably) earlier, it will fail, and use the internal
99182         re-implementation.
99183         (use_win32_p): New function.
99184         (getaddrinfo): Use strtoul on servname, to support numeric ports.
99185         Support AI_NUMERICSERV to disable getservbyname.
99186         (getnameinfo): New function, only supports
99187         NI_NUMERICHOST|NI_NUMERICSERV for now.
99189         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
99190         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
99191         getnameinfo.
99193 2006-06-28  Eric Blake  <ebb9@byu.net>
99195         * modules/wcwidth: New file.
99196         * modules/mbchar (Depends-on): Add wcwidth.
99197         * modules/mbswidth (Depends-on): Add wcwidth.
99198         * MODULES.html.sh: Add wcwidth.
99200 2006-06-28  Eric Blake  <ebb9@byu.net>
99202         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
99203         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
99205 2006-06-28  Eric Blake  <ebb9@byu.net>
99207         * lib/xvasprintf.h: Fix comments.
99209 2006-06-28  Eric Blake  <ebb9@byu.net>
99211         * lib/mbchar.h (wcwidth): Include wcwidth.h.
99212         * lib/mbswidth.c (wcwidth): Move from here...
99213         * lib/wcwidth.h: ...to this new file.
99215 2006-06-28  Derek R. Price  <derek@ximbiot.com>
99217         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
99219         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
99220         it's obsolete.
99221         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
99223 2006-06-28  Derek R. Price  <derek@ximbiot.com>
99225         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
99226         Autoconf 2.60 says this stuff was obsolete.
99228 2006-06-28  Bruno Haible  <bruno@clisp.org>
99230         * modules/wcwidth (Files): Add m4/wchar_t.m4.
99232 2006-06-28  Bruno Haible  <bruno@clisp.org>
99234         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
99235         gt_TYPE_WCHAR_T.
99237 2006-06-28  Bruno Haible  <bruno@clisp.org>
99239         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
99240         declaration for wcwidth.
99241         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
99243 2006-06-28  Bruno Haible  <bruno@clisp.org>
99245         * lib/mkdtemp.c [MINGW]: Include <io.h>.
99246         (mkdir): Define using _mkdir.
99248 2006-06-28  Bruno Haible  <bruno@clisp.org>
99250         * lib/getaddrinfo.h: Fix POSIX URL.
99251         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
99252         _WIN32.
99253         (use_win32_p): Make static.
99254         (getaddrinfo): Reject service name if it is empty or does not consist
99255         solely of decimal digits, or if its value is > 65535.
99256         (getnameinfo): Remove useless casts.
99258 2006-06-27  Simon Josefsson  <jas@extundo.com>
99260         * modules/sys_select: New file, suggested by Bruno Haible, Paul
99261         Eggert and Martin Lambers.
99263 2006-06-27  Simon Josefsson  <jas@extundo.com>
99265         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
99266         Eggert and Martin Lambers.
99268 2006-06-27  Bruno Haible  <bruno@clisp.org>
99270         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
99271         result to 0, not to empty.
99272         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
99274 2006-06-27  Bruno Haible  <bruno@clisp.org>
99276         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
99278 2006-06-26  Simon Josefsson  <jas@extundo.com>
99280         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
99281         present.
99283 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
99285         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
99286         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
99287         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00181.html>.
99289 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
99291         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
99293 2006-06-26  Bruno Haible  <bruno@clisp.org>
99295         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
99297 2006-06-26  Bruno Haible  <bruno@clisp.org>
99299         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
99301 2006-06-26  Bruno Haible  <bruno@clisp.org>
99303         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
99304         SGI C compiler in pre-C99 mode.
99305         Suggested by Mark D. Baushke and Larry Jones.
99307 2006-06-26  Bruno Haible  <bruno@clisp.org>
99309         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
99310         WCHAR_MAX.
99311         Reported by Mark D. Baushke and Larry Jones.
99313 2006-06-26  Bruno Haible  <bruno@clisp.org>
99315         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
99316         in pre-C99 mode.
99317         Suggested by Mark D. Baushke and Larry Jones.
99319 2006-06-23  Simon Josefsson  <jas@extundo.com>
99320             Bruno Haible  <bruno@clisp.org>
99322         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
99323         Emit mostlyclean-local rule.
99324         (func_emit_tests_Makefile_am): Likewise.
99325         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
99327 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
99329         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
99331 2006-06-23  Bruno Haible  <bruno@clisp.org>
99333         * tests/test-stdint.c: Update to match ISO C 99 Technical
99334         Corrigendum 1.
99336 2006-06-23  Bruno Haible  <bruno@clisp.org>
99338         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
99340 2006-06-23  Bruno Haible  <bruno@clisp.org>
99342         * lib/stdint_.h: Treat IRIX like OpenBSD.
99344 2006-06-23  Bruno Haible  <bruno@clisp.org>
99346         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
99347         ISO C 99 Technical Corrigendum 1.
99349 2006-06-22  Simon Josefsson  <jas@extundo.com>
99351         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
99352         MinGW.
99354 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
99356         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
99357         needed.  Some compiler complained about some of them.  Problem reported
99358         by Larry Jones in
99359         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00172.html>.
99361 2006-06-21  Simon Josefsson  <jas@extundo.com>
99363         * tests/test-getaddrinfo.c: New file.
99365         * modules/getaddrinfo-tests: New file.
99367         * MODULES.html.sh: Add inet_pton.
99369         * modules/inet_pton: New file.
99371 2006-06-21  Simon Josefsson  <jas@extundo.com>
99373         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
99374         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
99375         of using the (limited) gnulib implementation on Windows XP.
99377         * m4/inet_pton.m4: New file.
99379 2006-06-21  Simon Josefsson  <jas@extundo.com>
99381         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
99382         variable.
99384         * lib/socket_.h: Don't define WINVER.
99386         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
99387         slightly modified to work in gnulib.
99389 2006-06-21  Simon Josefsson  <jas@extundo.com>
99391         * doc/gnulib.texi (Windows sockets): Add.
99393 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
99395         * lib/read-file.c (fread_file): Start with buffer allocation of
99396         0 bytes rather than 1 byte; this simplifies the code.
99397         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
99398         code to free buffer and save/restore errno.
99399         (internal_read_file): Remove unused local.
99401 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
99403         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
99404         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
99405         Problem reported by Denis Excoffier in
99406         <http://lists.gnu.org/r/bug-tar/2006-06/msg00023.html>.
99408 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
99410         * modules/sys_socket, modules/socklen: Include sys/types since
99411         FreeBSD 4.x's sys/socket.h needs it.
99413 2006-06-19  Simon Josefsson  <jas@extundo.com>
99415         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
99417 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
99419         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
99421 2006-06-19  Bruno Haible  <bruno@clisp.org>
99423         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
99424         and FULL_PATH_INTTYPES_H in angle brackets.
99425         Reported by Mark D. Baushke <mdb@gnu.org>.
99427 2006-06-17  Eric Blake  <ebb9@byu.net>
99429         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
99430         errno.
99432 2006-06-17  Bruno Haible  <bruno@clisp.org>
99434         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
99435         <sys/inttypes.h>.
99437 2006-06-17  Bruno Haible  <bruno@clisp.org>
99439         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
99440         whether errno is declared. Assume <errno.h> declares errno.
99442 2006-06-17  Bruno Haible  <bruno@clisp.org>
99444         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
99446 2006-06-17  Bruno Haible  <bruno@clisp.org>
99448         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
99449         problem on Solaris 2.5.1.
99451 2006-06-16  Eric Blake  <ebb9@byu.net>
99453         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
99454         * lib/unicodeio.c [!defined errno]: Likewise.
99455         * lib/strtol.c [!defined errno]: Likewise.
99456         * lib/strtod.c [!defined errno]: Likewise.
99458 2006-06-15  Eric Blake  <ebb9@byu.net>
99460         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
99462 2006-06-15  Eric Blake  <ebb9@byu.net>
99464         * config/srclist.txt (ssize_t.m4): Lose sync.
99466 2006-06-15  Bruno Haible  <bruno@clisp.org>
99468         * modules/stdint (Files): Include m4/full-header-path.m4,
99469         m4/size_max.m4, m4/wchar_t.m4.
99470         (Makefile.am): Many more substitutions.
99471         * modules/stdint-tests: New file.
99472         * tests/test-stdint.c: New file.
99474 2006-06-15  Bruno Haible  <bruno@clisp.org>
99476         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
99477         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
99478         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
99479         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
99480         gl_CHECK_TYPE_SAME): New macros.
99482 2006-06-15  Bruno Haible  <bruno@clisp.org>
99484         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
99486 2006-06-15  Bruno Haible  <bruno@clisp.org>
99488         * lib/stdint_.h: Rewritten to be fully auto-configured.
99489         Fixes bug on HP-UX/IA64.
99491 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
99493         * lib/getdate.y (__attribute__): Don't define if already defined.
99494         Problem reported by Larry Jones.
99495         * lib/utimens.c (__attribute__): Likewise.
99497 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
99499         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
99500         reported by Andreas Schwab.
99502 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99503             Bruno Haible  <bruno@clisp.org>
99505         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
99506         check for the declaration of strnlen and a run test that exposes the
99507         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
99508         rpl_strndup.
99510 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99511             Bruno Haible  <bruno@clisp.org>
99513         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
99515 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99517         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
99518         compile test, for Tru64 4.0D.
99520 2006-05-28  Karl Berry  <karl@gnu.org>
99522         * config/srclist.txt (printf-args.c): lose sync.
99524 2006-05-26  Martin Lambers  <marlam@marlam.de>
99526         * lib/getpass.c: Updates the test for the native W32 API, and adds
99527         missing includes, thus fixing compilation warnings.
99529 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
99531         * lib/exclude.c (exclude_fnmatch): New function.
99532         (excluded_file_name): Call exclude_fnmatch.
99533         * lib/exclude.h (excluded_file_name): New prototype
99535 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
99537         * lib/tempname.c (small_open, large_open): New macros.
99538         (__open, __open64) [!_LIBC]: Remove.
99539         (__gen_tempname): Use small_open and large_open instead of __open
99540         and __open64.  This fixes a portability bug on HP-UX 11.11i
99541         reported by Simon Wing-Tang in
99542         <http://lists.gnu.org/r/bug-coreutils/2006-05/msg00114.html>.
99544 2006-05-24  Bruno Haible  <bruno@clisp.org>
99546         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
99547         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
99548         Reported by Thorsten Maerz <torte@netztorte.de> via
99549         Aaron Stone <aaron@serendipity.cx>.
99551 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
99553         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
99554         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
99555         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
99556         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
99557         not really conditional on the cache.
99558         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
99560 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
99562         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
99563         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
99564         (my_usleep): Don't mishandle maximum value.
99566 2006-05-19  Jim Meyering  <jim@meyering.net>
99568         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
99570 2006-05-17  Bruno Haible  <bruno@clisp.org>
99572         Cygwin portability.
99573         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
99575 2006-05-17  Bruno Haible  <bruno@clisp.org>
99577         * lib/stdint_.h: Fix recognition of Cygwin.
99579 2006-05-15  Bruno Haible  <bruno@clisp.org>
99581         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
99582         on libtool patch by Ralf Wildenhues.
99584 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
99586         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
99587         test for C99 conformance; (bool) 0.5 is an integer constant
99588         expression, but (bool) -0.5 is not.  Problem reported by Fedor
99589         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
99591 2006-05-11  Simon Josefsson  <jas@extundo.com>
99593         * m4/xvasprintf.m4: Fix obvious typo.
99595 2006-05-11  Jim Meyering  <jim@meyering.net>
99597         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
99598         James Lemley.
99600 2006-05-10  Simon Josefsson  <jas@extundo.com>
99602         * lib/md4.c: Typo fix, update copyright years.
99603         (K1, K2): Don't use L because it turn computations into 64-bit on
99604         64-bit platforms.
99606 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
99608         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
99609         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
99610         unwanted sign propagation, e.g., on hosts with 64-bit int.
99611         There still are some problems with reeelly weird theoretical hosts
99612         (e.g., 33-bit int) but it's not worth worrying about now.
99613         * lib/sha1.c (rol): Likewise.
99614         (K1, K2, K3, K4): Remove unnecessary L suffix.
99616 2006-05-10  Bruno Haible  <bruno@clisp.org>
99618         * lib/des.c: Cast to avoid warnings.
99620 2006-05-09  Bruno Haible  <bruno@clisp.org>
99622         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
99623         (Depends-on): Depend also on xsize, stdarg.
99624         (configure.ac): Add gl_XVASPRINTF.
99626 2006-05-09  Bruno Haible  <bruno@clisp.org>
99628         * m4/xvasprintf.m4: New file.
99630 2006-05-09  Bruno Haible  <bruno@clisp.org>
99632         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
99633         (EOVERFLOW): Define fallback value.
99634         (xstrcat): New function.
99635         (xvasprintf): Recognize the special case of a string concatenation.
99637 2006-05-08  Eric Blake  <ebb9@byu.net>
99639         * gnulib-tool (func_version): Base copyright year on CVS date.
99640         (func_emit_copyright_notice): New function.
99641         (func_emit_lib_Makefile_am): Use it.
99642         (func_emit_tests_Makefile_am): Likewise.
99643         (func_import): Likewise.
99645 2006-05-08  Bruno Haible  <bruno@clisp.org>
99647         * modules/stdarg: New file.
99648         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
99650 2006-05-08  Bruno Haible  <bruno@clisp.org>
99652         * m4/stdarg.m4: New file, from GNU gettext.
99654 2006-05-08  Bruno Haible  <bruno@clisp.org>
99656         * config/srclist.txt (build-aux/config.rpath): different from latest
99657         release.
99659 2006-05-08  Bruno Haible  <bruno@clisp.org>
99661         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
99663 2006-05-05  Jim Meyering  <jim@meyering.net>
99665         * m4/warning.m4: New file, derived from bison's file by the same name.
99667 2006-05-03  Bruno Haible  <bruno@clisp.org>
99669         * lib/stdint_.h: Shorter URL.
99670         * lib/inttypes.h: Likewise.
99672 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
99674         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
99676 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
99678         * lib/verify.h: Document the internals better.  Most of this change
99679         was written by Bruno Haible.
99681 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
99683         * doc/verify.texi: New file, partly based on a proposal by
99684         Bruno Haible.
99686 2006-05-02  Bruno Haible  <bruno@clisp.org>
99688         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
99689         test from here...
99690         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
99692 2006-04-29  Bruno Haible  <bruno@clisp.org>
99694         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
99695         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
99697 2006-04-29  Bruno Haible  <bruno@clisp.org>
99699         * gnulib-tool: Make --update option actually work.
99701 2006-04-29  Bruno Haible  <bruno@clisp.org>
99703         * doc/gcd.texi: New file.
99704         * doc/gnulib.texi: Include it.
99706 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
99708         * lib/getdate.y (get_date): When adding relative date, start with the
99709         initial time, not with the result of the first mktime call.
99711 2006-04-25  Bruno Haible  <bruno@clisp.org>
99713         * gnulib-tool (func_import): Output the include directives in three
99714         blocks, sorted separately.
99715         Reported by Ben Pfaff <blp@cs.stanford.edu>.
99717 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
99719         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
99720         to define main with arguments, for C++.  Reported by Eric Blake.
99721         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
99722         Prefer 'int main ()' to 'int main (void)', for C++.
99723         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
99724         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
99725         for 'main', for C99 and C++.
99727 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
99729         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
99730         Don't assume that exit status -1 is valid.
99731         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
99732         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
99733         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
99734         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
99735         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
99736         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
99737         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
99738         functions can be used without declaring them, or that you can
99739         exit with status -1.
99740         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
99742 2006-04-24  Karl Berry  <karl@gnu.org>
99744         * config/srclist.txt (longdouble.m4): sync lost.
99746 2006-04-24  Eric Blake  <ebb9@byu.net>
99748         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
99750 2006-04-24  Bruno Haible  <bruno@clisp.org>
99752         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
99753         poll() implementation in AIX.
99754         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
99756 2006-04-24  Bruno Haible  <bruno@clisp.org>
99758         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
99759         assigned exactly once.
99761 2006-04-23  Claudio Fontana  <claudio@gnu.org>
99762             Bruno Haible  <bruno@clisp.org>
99764         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
99765         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
99766         for AM_CPPFLAGS.
99768 2006-04-23  Bruno Haible  <bruno@clisp.org>
99770         * modules/copy-file: Depend on unistd.
99771         * modules/execute: Likewise.
99772         * modules/fatal-signal: Likewise.
99773         * modules/findprog: Likewise.
99774         * modules/mkdtemp : Likewise.
99775         * modules/pipe: Likewise.
99776         * modules/wait-process: Likewise.
99778 2006-04-23  Bruno Haible  <bruno@clisp.org>
99780         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
99781         condition was already detected.
99782         Reported by Ben Pfaff <blp@cs.stanford.edu>.
99784 2006-04-23  Bruno Haible  <bruno@clisp.org>
99786         * lib/copy-file.c: Include <unistd.h> unconditionally.
99787         * lib/execute.c: Likewise.
99788         * lib/fatal-signal.c: Likewise.
99789         * lib/findprog.c: Likewise.
99790         * lib/mkdtemp.c: Likewise.
99791         * lib/pipe.h: Likewise.
99792         * lib/pipe.c: Likewise.
99793         * lib/wait-process.h: Likewise.
99795 2006-04-23  Bruno Haible  <bruno@clisp.org>
99797         * gnulib-tool (func_usage): Fix --import description. Document
99798         --update.
99799         (func_import): Create temporary file in a temporary directory, if
99800         --dry-run is specified. Silence errors from 'grep' when there are no
99801         m4 files in $m4dir.
99802         (func_create_testdir): Silence errors from 'grep' when there are no
99803         m4 files in $m4dir.
99804         Reported by Karl Berry <karl@freefriends.org>.
99806 2006-04-20  Bruno Haible  <bruno@clisp.org>
99808         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
99809         one argument, so that the code will be portable to Autoconf 2.60.
99810         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
99811         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
99812         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
99814 2006-04-19  Derek Price  <derek@ximbiot.com>
99815             Eric Blake  <ebb9@byu.net>
99817         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
99818         rather than "/full/path.h".  Update comment to match.  Shorten &
99819         generalize m4_translit call via AS_TR_CPP.
99821 2006-04-19  Derek Price  <derek@ximbiot.com>
99822             Eric Blake  <ebb9@byu.net>
99824         * lib/inttypes.h: Correct grammar in comment.
99826 2006-04-18  Derek Price  <derek@ximbiot.com>
99827             Paul Eggert  <eggert@cs.ucla.edu>
99829         * modules/inttypes: New file.
99830         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
99832 2006-04-18  Derek Price  <derek@ximbiot.com>
99833             Paul Eggert  <eggert@cs.ucla.edu>
99835         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
99836         New files.
99838 2006-04-18  Derek Price  <derek@ximbiot.com>
99839             Paul Eggert  <eggert@cs.ucla.edu>
99841         * lib/inttypes.h: New file.
99842         * lib/strtoimax.c: Assume <inttypes.h>.
99844 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
99846         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
99847         isn't mounted.  Problem reported by Kir Kolyshkin.
99849 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
99851         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
99852         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
99853         Derek R. Price.
99854         * lib/regex.h (RE_DUP_MAX): Update comment to match current
99855         implementation.
99857 2006-04-12  Eric Blake  <ebb9@byu.net>
99859         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
99860         is now done automatically by the corresponding Autoconf macro.
99862 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
99864         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
99865         time_r.h.
99867 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
99869         Merge regex changes from libc, removing some of our
99870         POSIX-conformance changes that were rejected and redoing them in a
99871         less-intrusive way.
99873         * lib/regcomp.c (re_compile_internal, init_dfa):
99874         Length arg is now size_t, not Idx.  All uses changed.
99875         (peek_token): Forward decl now says internal_function.
99876         (__re_error_msgid, __re_error_msgid_idx):
99877         Now static rather than extern with attribute_hidden.
99878         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
99879         For some reason libc prefers K&R style defns for external functions.
99880         (regerror) [!defined _LIBC]: Likewise.
99881         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
99882         (seek_collating_symbol_entry, lookup_collation_sequence_value):
99883         (build_range_exp, build_collating_symbol):
99884         Use K&R-style defn.
99885         (re_compile_fastmap): Use '\0' to memset, not 0.
99886         (utf8_sb_map): Make the calculations more obvious.
99887         (init_dfa, parse_bracket_exp, build_charclass_op):
99888         Call calloc and cast result, as glibc does.
99889         (init_word_char, fetch_token, peek_token, peek_token_bracket):
99890         (build_range_exp, build_collating_symbol):
99891         Now internal functions.
99893         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
99895         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
99896         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
99897         Don't depend on VMS; depend on __VMS instead, for POSIX
99898         namespace cleanness.
99899         (regoff_t): Define to ssize_t, not long int.
99901         Remove the REG_ macros named below.  Instead, make the old names
99902         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
99903         __USE_GNU_REGEX.
99904         (REG_BACKSLASH_ESCAPE_IN_LISTS):
99905         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
99906         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
99907         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
99908         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
99909         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
99910         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
99911         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
99912         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
99913         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
99914         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
99915         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
99916         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
99917         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
99918         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
99919         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
99920         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
99921         (REG_NREGS):
99922         Remove.  All uses replaced by the old RE_* names.
99923         (RE_BACKSLASH_ESCAPE_IN_LISTS):
99924         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
99925         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
99926         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
99927         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
99928         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
99929         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
99930         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
99931         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
99932         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
99933         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
99934         Don't bother having these macros be independent of each others'
99935         values, since they no longer exist in the POSIX name space.
99937         Rename the following member names back to their old names,
99938         unless !__USE_GNU_REGEX.  All uses changed back.
99939         (buffer): Renamed from re_buffer.
99940         (allocated): Renamed from re_allocated.
99941         (used): Renamed from re_used.
99942         (syntax): Renamed from re_syntax.
99943         (fastmap): Renamed from re_fastmap.
99944         (translate): Renamed from re_translate.
99945         (can_be_null): Renamed from re_can_be_null.
99946         (regs_allocated): Renamed from re_regs_allocated.
99947         (fastmap_accurate): Renamed from re_fastmap_accurate.
99948         (no_sub): Renamed from re_no_sub.
99949         (not_bol): Renamed from re_not_bol.
99950         (not_eol): Renamed from re_not_eol.
99951         (newline_anchor): Renamed from re_newline_anchor.
99952         (num_regs): Renamed from rm_num_regs.
99953         (start): Renamed from rm_start.
99954         (end): Renamed from rm_end.
99956         (free_state): Move up a bit.
99958         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
99959         #define to be empty.
99960         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
99961         when that is what is intended.
99962         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
99963         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
99964         (MAX): New macro.
99965         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
99966         All uses changed back to re_malloc, etc.  It's now the caller's
99967         responsibility to check for overflow; all callers changed.
99968         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
99969         (re_x2nrealloc): Remove.
99970         (free_state): Remove decl.
99972         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
99973         (re_set_registers, re_exec):
99974         Use K&R-style defn.
99976         2006-01-31  Roland McGrath  <roland@redhat.com>
99978         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
99979         Reported by Mike Frysinger <vapier@gentoo.org>.
99981         2006-01-15  Andreas Jaeger  <aj@suse.de>
99983         [BZ #1950]
99984         * lib/regex_internal.c (re_string_reconstruct): Adjust for
99985         build_wcs_upper_buffer change.
99986         (build_wcs_upper_buffer): Change return type.
99988         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
99990         * lib/regex_internal.h: Include <stdint.h> if available.
99992         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
99994         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
99996         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
99998         * lib/regcomp.c: Adjust for changed secondary hash function.
100000         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
100002         * lib/regex.h: Pretty printing.
100003         Clean up namespace a bit.
100005         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
100007         * lib/regexec.c (update_cur_sifted_state, check_arrival,
100008         check_arrival_add_next_nodes): Avoid using uninitialized variable.
100010         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
100011                     Ulrich Drepper  <drepper@redhat.com>
100013         [BZ #1302]
100014         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
100015         changed.
100016         (bitset_word_t): Renamed from bitset_word.  All uses changed.
100018         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
100020         [BZ #281]
100021         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
100022         * lib/regcomp.c: Remove unnecessary uses of
100023         unsigned RE_TRANSLATE_TYPE.
100024         * lib/regex_internal.h: Likewise.
100025         * lib/regex_internal.c: Likewise.
100026         * lib/regexec.c: Likewise.
100027         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
100029         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
100031         * lib/regexec.c (find_recover_state): Remove unnecessary
100032         initialization.
100033         (transit_state_bkref): Make DFA a const pointer.
100034         (get_subexp): Likewise.
100035         (check_arrival): Likewise.
100036         (update_cur_sifted_state): Likewise.
100037         (re_search_internal): Likewise.
100038         (prune_impossible_nodes): Likewise.
100039         (acquire_init_state_context): Likewise.
100040         (proceed_next_node): Likewise.
100041         (set_regs): Likewise.
100042         (free_fail_stack_return): Likewise.
100043         (check_arrival_expand_ecl): Mark DFA parameter as const.
100044         (check_arrival_expand_ecl_sub): Likewise.
100045         (check_subexp_limits): Likewise.
100046         (sub_epsilon_src_nodes):  Likewise.
100047         (add_epsilon_src_nodes):  Likewise.
100048         (merge_state_array): Likewise.
100049         (update_regs): Likewise.
100050         (build_trtable): Likewise.
100051         (sift_states_backward): Mark MCTX parameter as const.
100052         (build_sifted_states): Likewise.
100053         (update_cur_sifted_state): Likewise.
100054         (sift_states_mkref): Likewise.
100055         (check_arrival_expand_ecl): Mark eclosure as const.
100056         (check_dst_limits_calc_pos_1): Likewise.
100057         * lib/regex_internal.h (re_match_context_t): Make dfa a const
100058         pointer.
100060         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
100062         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
100063         (transit_state_sb): Likewise.
100064         (transit_state_mb): Likewise.
100065         (sift_states_iter_mb): Likewise.
100066         (check_arrival_add_next_nodes): Likewise.
100067         (check_node_accept_bytes): Change first parameter to pointer-to-const.
100068         [_LIBC] (re_search_2_stub): Use mempcpy.
100070         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
100071         mbrtowc for very simple UTF-8 case.
100073         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
100074         a pointer-to-const.
100075         (re_acquire_state_context): Likewise.
100076         * lib/regex_internal.h: Adjust prototypes.
100078         * lib/regex.c: Prevent using C++ compilers.
100080         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
100081         (re_acquire_state_context): Likewise.
100083 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
100085         * modules/regex (Depends-on): Add ssize_t.
100087 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
100089         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
100090         translation table.
100092 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
100094         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
100096 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
100097             Bruno Haible  <bruno@clisp.org>
100099         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
100100         <sys/types.h> and <inttypes.h>.
100102 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100104         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
100105         `__error_t_defined', so argp.h will not typedef the former.
100107 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
100109         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
100110         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
100111         glibc names.  Even if glibc is changed to conform to POSIX, the
100112         traditional names will be available anyway, since regex depends on
100113         the extensions module.  Also, fix a longstanding typo in the
100114         implementation of Spencer ERE test #75 from grep 2.3.  Problems
100115         reported by Emanuele Giaquinta.  Also, change sense of cached
100116         variable, so that the message makes sense.
100118 2006-03-24  Simon Josefsson  <jas@extundo.com>
100120         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
100121         including some doc fixes.
100122         (base64_encode_alloc): Fix +1 bug on allocation failures.
100124 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100126         * lib/base64.c (base64_encode): Do not read past end of array with
100127         unsanitized input on systems with CHAR_BIT > 8.
100129 2006-03-24  Eric Blake  <ebb9@byu.net>
100131         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
100133 2006-03-22  Karl Berry  <karl@gnu.org>
100135         * config/srclist.txt (*setenv.[ch]): get from coreutils.
100136         * config/srclistvars.sh (COREUTILS): new var.
100138 2006-03-17  Jim Meyering  <jim@meyering.net>
100140         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
100141         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
100143 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
100145         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
100146         no longer needs it.  Instead, check that regoff_t is as least
100147         as wide as ptrdiff_t.
100149         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
100150         so that our regex.h stays compatible with the installed regex.
100151         This is helpful for installers who configure --without-included-regex.
100152         Problem reported by Emanuele Giaquinta.
100154 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
100156         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
100157         Typedef to long int, not to off_, as POSIX will likely change
100158         in that direction.
100160 2006-03-15  Eric Blake  <ebb9@byu.net>
100162         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
100164 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
100166         * lib/argp-help.c (validate_uparams): Fix typo
100167         * lib/argp-parse.c (argp_default_options): Consistently begin help
100168         messages with a lowercase letter.
100170 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
100172         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
100173         overrun buffers and shouldn't be used (much as gets shouldn't be
100174         used).
100175         * lib/time_r.c (asctime_r, ctime_r): Likewise.
100177 2006-03-08  Simon Josefsson  <jas@extundo.com>
100179         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
100180         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100182 2006-03-08  Simon Josefsson  <jas@extundo.com>
100184         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
100185         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100187 2006-03-08  Simon Josefsson  <jas@extundo.com>
100189         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
100190         signal that configure disabled the device.
100192 2006-03-08  Simon Josefsson  <jas@extundo.com>
100194         * build-aux/maint.mk: Fix refresh-po, to handle no translated
100195         languages.
100197 2006-03-07  Simon Josefsson  <jas@extundo.com>
100199         * modules/getopt (Depends-on): Add unistd.
100201         * modules/unistd: New file.
100203 2006-03-07  Simon Josefsson  <jas@extundo.com>
100205         * modules/gc-random: New file.
100207 2006-03-07  Simon Josefsson  <jas@extundo.com>
100209         * m4/unistd_h.m4: New file.
100211 2006-03-07  Simon Josefsson  <jas@extundo.com>
100213         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
100214         test to be side-effect free by storing the result in the cache
100215         variable gl_cv_lib_readline, and moving the assignment of
100216         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
100217         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100219 2006-03-07  Simon Josefsson  <jas@extundo.com>
100221         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
100222         error on missing devices (the functions will return an error).
100224         * m4/gc.m4: Move random stuff to gc-random.m4
100226 2006-03-07  Simon Josefsson  <jas@extundo.com>
100228         * lib/unistd_.h: New file.
100230 2006-03-07  Simon Josefsson  <jas@extundo.com>
100232         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
100234 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
100236         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
100237         Problem reported by Juan Manuel Guerrero.
100239 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
100241         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
100242         the unistd module.
100243         * lib/getlogin_r.c: Likewise.
100244         * lib/getlogin_r.h: Likewise.
100245         * lib/glob.c: Likewise.
100246         * lib/pagealign_alloc.c: Likewise.
100247         * lib/unistd_.h: Remove; no longer needed.
100249 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
100251         * MODULES.html.sh (Support for systems lacking POSIX:2001):
100252         Add unistd.
100253         * modules/c-stack (Depends-on): Add unistd.
100254         * modules/getlogin_r: Likewise.
100255         * modules/glob: Likewise.
100256         * modules/pagealign_alloc: Likewise.
100257         * modules/unistd (Files): Remove lib/unistd_.h.
100258         (EXTRA_DIST): Remove.
100259         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
100260         need unistd_.h.
100261         (MOSTLYCLEANFILES): Remove unistd.h-t.
100263 2006-03-03  Simon Josefsson  <jas@extundo.com>
100265         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
100267 2006-03-03  Simon Josefsson  <jas@extundo.com>
100269         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
100270         libidn and bison.
100272 2006-03-03  Simon Josefsson  <jas@extundo.com>
100274         * build-aux/maint.mk: Add indent target.
100276 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
100278         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
100279         our replacement poll.h in any case, to avoid a differing
100280         declaration from a system header.  Seen on AIX.
100282 2006-03-01  Simon Josefsson  <jas@extundo.com>
100284         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
100285         <kasal@ucw.cz>.
100287 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
100289         * modules/gettime (Depends-on): Add extensions module.
100290         * modules/nanosleep (Depends-on): Likewise.
100291         * modules/settime (Depends-on): Likewise.
100293 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
100295         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
100296         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
100297         pedantically.
100298         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
100299         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
100301         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
100302         not "==".  Reported by Ralf Wildenhues.
100304 2006-03-01  Karl Berry  <karl@gnu.org>
100306         * doc/Copyright/request-*: new files, synced from gnuorg.
100308 2006-03-01  Karl Berry  <karl@gnu.org>
100310         * config/srclist.txt (Copyright/*): new entries.
100312 2006-02-28  Simon Josefsson  <jas@extundo.com>
100314         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
100316 2006-02-27  Simon Josefsson  <jas@extundo.com>
100318         * lib/base64.h: Indent #define's.  From Jim Meyering
100319         <jim@meyering.net>.
100321 2006-02-27  Jim Meyering  <jim@meyering.net>
100323         Revert the change of 2006-02-24, so these files can continue
100324         to be sync'd from gettext.
100325         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
100326         of `config.h'.
100328 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
100330         * modules/intprops: New file.
100331         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
100332         Add intprops.
100333         * modules/getloadavg (Files): Remove lib/intprops.h.
100334         (Depends-on): Add intprops.
100335         * modules/human: Likewise.
100336         * modules/inttostr: Likewise.
100337         * modules/openat: Likewise.
100338         * modules/sig2str: Likewise.
100339         * modules/userspec: Likewise.
100340         * modules/utimecmp: Likewise.
100341         * modules/xnanosleep: Likewise.
100342         * modules/xstrtol: Likewise.
100344 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
100346         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
100347         * modules/lock-tests (TESTS): Use $(EXEEXT).
100348         * modules/tls-tests: Likewise.
100349         * modules/argp-tests: Likewise.
100350         (check_PROGRAMS): New var, replacing...
100351         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
100353 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100355         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
100356         `config.h'.
100358 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
100360         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
100362 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100364         Sync from coreutils.
100365         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
100366         gl_CHDIR_SAFER.
100368 2006-02-22  Jim Meyering  <jim@meyering.net>
100370         Sync from coreutils.
100371         * m4/chdir-safer.m4: New file.
100373 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
100375         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
100376         AT_FDCWD exceeds INT_MAX.
100377         * lib/openat.h (AT_FDCWD): Likewise.
100379 2006-02-17  Eric Blake  <address@hidden>
100381         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
100383 2006-02-16  Simon Josefsson  <jas@extundo.com>
100385         * modules/getaddrinfo (Depends-on): Add sys_socket.
100387 2006-02-15  Simon Josefsson  <jas@extundo.com>
100389         * build-aux/maint.mk: Add dsyntax-check rule.
100391 2006-02-15  Eric Blake  <ebb9@byu.net>
100393         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
100394         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
100395         'present but cannot compile' warnings on cygwin.
100396         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
100397         use ws2tcpip.h if sys/socket.h works.
100398         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
100399         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
100401 2006-02-14  Simon Josefsson  <jas@extundo.com>
100403         * modules/maintainer-makefile (Files): Rename.
100405         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
100406         and (the local) Makefile.cfg to maint-cfg.mk.
100408         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
100409         to the latter.
100411         * modules/maintainer-makefile: New module.
100413         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
100414         severaly stripped to make it possible to build it up from scratch
100415         with reliable tests.
100417         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
100418         fixes to permit overriding the default actions when configure and
100419         makefile are not available.
100421 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
100423         Sync from coreutils.
100424         * modules/lstat (Depends-on): Don't depend on xalloc.
100425         (License): Change from GPL to LGPL, since this is now simply a
100426         replacement for a libc function.
100428 2006-02-14  Jim Meyering  <jim@meyering.net>
100430         Sync from coreutils.
100432         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
100433         failure on deficient systems, and simplify gnulib lgpl dependencies.
100434         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
100435         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
100437         * lib/xalloc-die.c: Remove unused definition of N_.
100439 2006-02-14  Jim Meyering  <jim@meyering.net>
100441         Sync from coreutils.
100442         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
100443         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
100444         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
100445         double-quote uses of that variable, to accommodate the rare case in
100446         which getmntent is available in none of the libraries checked.  This
100447         happens at least on FreeBSD 5.0.
100449 2006-02-13  Simon Josefsson  <jas@extundo.com>
100451         * gnulib-tool (Usage): Fix --import, from
100452         karl@freefriends.org (Karl Berry).
100454 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
100456         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
100458 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
100460         * lib/argp-namefrob.h: Restore changes accidentally lost during the
100461         "autoupdate" on 2005-12-12.
100463 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
100465         * modules/closeout (Depends-on): Remove atexit.
100467 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
100469         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
100470         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
100472 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
100474         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
100475         __EXTENSIONS__ if this causes compilation to fail.  Problem
100476         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
100477         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
100479 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
100481         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
100482         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
100483         <http://lists.gnu.org/r/bug-gnulib/2006-01/msg00074.html>.
100484         All uses changed.
100486 2006-01-26  Simon Josefsson  <jas@extundo.com>
100488         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
100489         prototype is visible on mingw32.
100491         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
100492         for mingw32.
100494         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
100495         mingw32).
100497 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
100499         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
100500         attempt to open for write; this always fails, at least on POSIX
100501         hosts.  This reinstates the 2006-01-09 change, which was
100502         inadvertently removed.
100504 2006-01-26  Bruno Haible  <bruno@clisp.org>
100506         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
100507         Reported by Paul Eggert.
100509 2006-01-26  Bruno Haible  <bruno@clisp.org>
100510             Paul Eggert  <eggert@cs.ucla.edu>
100512         * lib/stdbool_.h (_Bool)
100513         [(! (defined __cplusplus || defined __BEOS__)
100514           && !defined __GNUC__
100515           && !(defined __HP_cc || defined __xlc__
100516                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
100517                || defined __sgi))]:
100518         #define to signed char in these cases too; this simplifies
100519         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
100520         etc., separately) and makes it more conservative.
100522 2006-01-25  Simon Josefsson  <jas@extundo.com>
100524         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
100525         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
100526         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
100528 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
100530         * lib/argp-namefrob.h: Bugfix. Remove stray #
100532 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
100534         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
100535         so that we test the test.
100536         Check for yet another HP-UX cc bug involving *bool |= bool.
100538 2006-01-25  Karl Berry  <karl@gnu.org>
100540         * config/srclist.txt (vasnprintf.c): sync lost.
100542 2006-01-25  Jim Meyering  <jim@meyering.net>
100544         Sync from the stable (b5) branch of coreutils:
100546         * lib/fts.c (fts_children): Don't let close() clobber errno from
100547         failed fchdir().
100549         * lib/fts.c (fts_stat): When following a symlink-to-directory,
100550         don't necessarily interpret stat-fails+lstat-succeeds as indicating
100551         a dangling symlink.  That can also happen at least for ELOOP.
100552         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
100553         FYI, this bug predates the inclusion of fts.c in coreutils.
100555         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
100556         in their own block, so pre-c99 compilers don't object.
100558         Avoid the double-free (first in fts_read, second in fts_close) that
100559         would occur when an `active' directory is made inaccessible (e.g.,
100560         via chmod a-x) during a traversal.
100561         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
100562         before returning.  Reproduce this failure by
100563         mkdir -p a/b; cd a; chmod a-x . b
100564         Reported by Stavros Passas.
100566 2006-01-25  Jim Meyering  <jim@meyering.net>
100568         * lib/fileblocks.c: Remove more useless parentheses.
100569         * lib/readutmp.h: Likewise.
100571 2006-01-25  Bruno Haible  <bruno@clisp.org>
100573         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
100574         warnings.
100575         Reported by Paul Eggert.
100577 2006-01-25  Bruno Haible  <bruno@clisp.org>
100579         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
100580         rid of a trap command. For Solaris sh.
100581         Reported by Mark D. Baushke <mdb@gnu.org>.
100583 2006-01-24  Simon Josefsson  <jas@extundo.com>
100585         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
100586         Bruno.
100588 2006-01-24  Karl Berry  <karl@gnu.org>
100590         * config/srclist.txt (argp-namefrob.h): sync lost.
100592 2006-01-24  Jim Meyering  <jim@meyering.net>
100594         * modules/openat (Files): Add lib/intprops.h.
100595         From Mark D. Baushke.
100597 2006-01-24  Jim Meyering  <jim@meyering.net>
100599         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
100600         Reported by Mark D. Baushke.
100602 2006-01-24  Jim Meyering  <jim@meyering.net>
100604         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
100606 2006-01-24  Bruno Haible  <bruno@clisp.org>
100608         * modules/strnlen (Maintainer): Change from glibc to all.
100610 2006-01-24  Bruno Haible  <bruno@clisp.org>
100612         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
100613         Patch by Paul Eggert.
100615 2006-01-24  Bruno Haible  <bruno@clisp.org>
100617         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
100618         already has it.
100619         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
100620         2005-11-26.
100622         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
100623         'signed char' to avoid problems with the built-in _Bool type.
100624         Reported by Paul Eggert on 2005-11-26.
100626 2006-01-24  Bruno Haible  <bruno@clisp.org>
100628         * gnulib-tool (func_import): Avoid constructing complicated sed
100629         expressions inside backquote.
100630         Report and solution by Mark D. Baushke <mdb@gnu.org>.
100632 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
100634         These changes imported from libc.
100635         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
100636         test and two separate function calls.
100637         * lib/strndup.c (__strndup): Add libc_hidden_def.
100639 2006-01-23  Simon Josefsson  <jas@extundo.com>
100641         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
100642         Remove the test_*_SOURCES variable: automake infers it by default.
100643         * modules/tls-tests: Likewise.
100645 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
100647         Work around porting bugs reported by Dieter in
100648         <http://lists.gnu.org/r/bug-bison/2006-01/msg00049.html>.
100649         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
100650         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
100651         Include "getopt.h" first, to check interface.
100652         (getenv): Declare only if defined HAVE_DECL_GETENV &&
100653         !HAVE_DECL_GETENV.
100654         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
100655         (__strndup): Revert to K&R-style function dfns, the glibc style.
100656         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
100657         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
100658         Include strnlen.h first, to get prototype properly.
100659         (strnlen): Renamed from __strnlen.
100660         Remove weak alias.
100662 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
100664         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
100666 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
100668         * config/srclist.txt: Adjust to reflect glibc reorganization.
100669         This affects only comments.
100671 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
100673          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
100674          Reported by Bruce Korb <bkorb@gnu.org>.
100676 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
100678         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
100679         to pacify gcc -Wswitch-default.
100681 2006-01-22  Bruno Haible  <bruno@clisp.org>
100683         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
100684         temporary buffer for sprintf, take into account the precision also
100685         for 'd', 'i', 'u', 'o', 'x', 'X'.
100687 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
100689         * modules/argp-tests: New module
100690         * tests/test-argp.c: New file
100691         * tests/test-argp-2.sh: New file
100693 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
100695         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
100696         (__argp_base_name): Removed
100697         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
100698         typo.
100699         (__argp_base_name): Provide macro definition or extern declaration
100700         depending on the configuration
100702 2006-01-20  Simon Josefsson  <jas@extundo.com>
100704         * modules/inet_ntop (Depends-on): Depend on sys_socket.
100706 2006-01-20  Simon Josefsson  <jas@extundo.com>
100708         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
100710 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
100712         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
100713         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
100714         Suggested by Bruno Haible.
100716 2006-01-20  Karl Berry  <karl@gnu.org>
100718         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
100719         until changes propagate, I guess.
100721 2006-01-19  Simon Josefsson  <jas@extundo.com>
100723         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
100725 2006-01-19  Simon Josefsson  <jas@extundo.com>
100727         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
100729 2006-01-19  Simon Josefsson  <jas@extundo.com>
100731         * gnulib-tool: Set check_PROGRAMS.
100733         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
100734         modules/des-tests, modules/gc-arcfour-tests,
100735         modules/gc-arctwo-tests, modules/gc-des-tests,
100736         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
100737         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
100738         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
100739         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
100740         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
100741         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
100742         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
100743         test_*_SOURCES.
100745 2006-01-18  Simon Josefsson  <jas@extundo.com>
100747         * modules/socklen (Depends-on): Depend on sys_socket.
100749 2006-01-18  Simon Josefsson  <jas@extundo.com>
100751         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
100752         modules/des-tests, modules/gc-arcfour-tests,
100753         modules/gc-arctwo-tests, modules/gc-des-tests,
100754         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
100755         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
100756         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
100757         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
100758         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
100759         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
100760         $(EXEEXT) to automake TESTS variable, for mingw32.
100762 2006-01-17  Simon Josefsson  <jas@extundo.com>
100764         * modules/socklen (Include): Need sys/socket.h.
100766 2006-01-17  Bruno Haible  <bruno@clisp.org>
100768         * modules/ssize_t (Include): Add <sys/types.h>.
100770 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
100772         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
100773         it's not portable and it doesn't work with cross-compiles.
100774         Problem reported by Bruno Haible.  Fix missing-$ typo in
100775         'test "gl_cv_ignore_unused_libraries" ...' that prevented
100776         -zignore from being used with Sun's C compiler.
100778 2006-01-12  Simon Josefsson  <jas@extundo.com>
100780         * lib/base64.c: Fix warning, reported by Bruno Haible
100781         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
100783 2006-01-12  Bruno Haible  <bruno@clisp.org>
100785         * modules/ldd: New file.
100786         * build-aux/ldd.sh.in: New file.
100787         * MODULES.html.sh (Support for building libraries and executables): Add
100788         ldd.
100790 2006-01-12  Bruno Haible  <bruno@clisp.org>
100792         * m4/ldd.m4: New file.
100794 2006-01-12  Bruno Haible  <bruno@clisp.org>
100796         * gnulib-tool (func_import, func_create_testdir): Don't go into an
100797         endless loop while replacing $auxdir with build-aux.
100799 2006-01-11  Simon Josefsson  <jas@extundo.com>
100801         * lib/stdint_.h (SIZE_MAX): Add missing (.
100803 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
100805         Sync from coreutils.
100806         * lib/md5.c: Fix commentary typos.
100807         (alignof, UNALIGNED_P): No need for a GCC-specific version.
100808         * lib/md5.h (__attribute__): Remove; unused.
100809         * lib/sha1.c: Fix commentary to match md5 better.
100810         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
100811         so that we don't need to worry about alignment.  All uses changed.
100812         This merges the 2005-10-28 md5 change into sha1.
100814 2006-01-11  Jim Meyering  <jim@meyering.net>
100816         Sync from coreutils.
100817         * lib/md5.c (OP): Fix spacing.
100819 2006-01-11  Bruno Haible  <bruno@clisp.org>
100821         Ensure automatic ordering between gl_LOCK and gl_ARGP.
100822         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
100823         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
100825 2006-01-11  Bruno Haible  <bruno@clisp.org>
100827         Ensure automatic ordering between gl_LOCK and gl_ARGP.
100828         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
100829         the "early" section as well.
100831 2006-01-11  Bruno Haible  <bruno@clisp.org>
100833         Avoid "ar: no archive members specified" error on MacOS X.
100834         * gnulib-tool (func_modules_add_dummy): New function.
100835         (func_import, func_create_testdir): Invoke it.
100837 2006-01-11  Bruno Haible  <bruno@clisp.org>
100839         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
100840         with $auxdir in AC_CONFIG_FILES statements.
100842 2006-01-11  Bruno Haible  <bruno@clisp.org>
100844         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
100845         Initialize also noinst_HEADERS to empty.
100847 2006-01-11  Bruno Haible  <bruno@clisp.org>
100849         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
100850         variables.
100851         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
100852         autoreconf.
100854 2006-01-11  Bruno Haible  <bruno@clisp.org>
100856         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
100857         overridable by the user.
100858         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100860 2006-01-10  Simon Josefsson  <jas@extundo.com>
100862         * modules/sys_socket: New file.
100864 2006-01-10  Simon Josefsson  <jas@extundo.com>
100866         * m4/sys_socket_h.m4: New file.
100868 2006-01-10  Simon Josefsson  <jas@extundo.com>
100870         * lib/socket_.h: New file.
100872 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
100874         * modules/readutmp (Maintainer): Add myself.
100876 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
100878         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
100879         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
100880         People who are still concerned with buggy memcmp implementations
100881         can invoke gl_FUNC_MEMCMP themselves.
100883 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
100885         * lib/regex_internal.h (BITSET_WORD_BITS):
100886         Work around a bug in 64-bit PGC (before version 6.1-2), where the
100887         preprocessor mishandles large unsigned values as if they were signed.
100888         Problem reported by Claudio Fontana in
100889         <http://lists.gnu.org/r/bug-gnulib/2005-12/msg00061.html>.
100891 2006-01-10  Jim Meyering  <jim@meyering.net>
100893         Avoid the double-free (first in fts_read, second in fts_close) that
100894         would occur when an `active' directory is made inaccessible (e.g.,
100895         via chmod a-x) during a traversal.
100896         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
100897         before returning.  Reproduce this failure by
100898         mkdir -p a/b; cd a; chmod a-x . b
100899         Reported by Stavros Passas.
100901         Sync from coreutils.
100902         * lib/sha1.c: Tweak grammar in a comment.
100904 2006-01-10  Jim Meyering  <jim@meyering.net>
100906         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
100907         Patch by Joerg Sonnenberger.
100909 2006-01-10  Bruno Haible  <bruno@clisp.org>
100911         * modules/readutmp: Depend on module free.
100912         * modules/strtok_r: Depend on module restrict.
100914 2006-01-10  Bruno Haible  <bruno@clisp.org>
100916         * modules/gettext (configure.ac): Add an invocation of
100917         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
100919 2006-01-10  Bruno Haible  <bruno@clisp.org>
100921         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
100922         Reported by Werner Lemberg <wl@gnu.org>.
100924 2006-01-10  Bruno Haible  <bruno@clisp.org>
100926         * lib/localcharset.c: Update from GNU gettext.
100928 2006-01-10  Bruno Haible  <bruno@clisp.org>
100930         * lib/argp.h (__const): Remove macro. Use const instead.
100931         * lib/argp-fmtstream.h (__const): Likewise.
100932         * lib/glob_.h (__const): Remove macro.
100933         * lib/glob-libc.h: Use const instead of __const.
100935 2006-01-10  Bruno Haible  <bruno@clisp.org>
100937         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
100938         variable.
100939         Needed to avoid an automake error regarding the 'gettext' module.
100941 2006-01-09  Simon Josefsson  <jas@extundo.com>
100943         * modules/inet_ntop (Depends-on): Add restrict.
100945 2006-01-09  Simon Josefsson  <jas@extundo.com>
100947         * modules/gc-rijndael-tests (License): Put under LGPL.
100949         * modules/gc-des-tests (License): Likewise.
100951         * modules/gc-arcfour-tests (License): Likewise.
100953         * modules/gc-arctwo-tests (License): Likewise.
100955         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
100957         * modules/gc-hmac-sha1-tests (Files): Likewise.
100959         * modules/gc-hmac-md5-tests (License): Likewise.
100961         * modules/gc-sha1-tests (License): Likewise.
100963         * modules/gc-md5-tests (License): Likewise.
100965         * modules/gc-md4-tests (License): Likewise.
100967         * modules/gc-md2-tests (License): Likewise.
100969         * modules/gc-tests (License): Likewise.
100971         * modules/des-tests (License): Likewise.
100973         * modules/md4-tests (License): Likewise.
100975         * modules/md2-tests (License): Likewise.
100977 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
100979         Sync from coreutils:
100981         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
100982         * modules/lib-ignore: New file.
100983         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
100984         chdir-safer.m4, lchmod.m4.
100985         * modules/openat: Add mkdirat.c, openat-priv.h.
100987 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
100989         Sync from coreutils.
100990         * m4/lib-ignore.m4: New file.
100991         * m4/lchmod.m4: New file.
100993 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
100995         Sync from coreutils.
100996         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
100997         for write access: POSIX says that must fail.
100998         * lib/fts.c (diropen): Likewise.
100999         * lib/save-cwd.c (save_cwd): Likewise.
101000         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
101001         well, for minor improvements on hosts that lack O_DIRECTORY.
101002         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
101003         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
101004         Fall back on chown if open failed with EACCES.
101006         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
101007         Report an error at compile-time if only a 1-second nominal clock
101008         resolution is found.
101010         * lib/lchmod.h: New file.
101011         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
101012         (make_dir_parents): Use lchown rather than chown, and
101013         lchmod rather than chmod.
101015         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
101016         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
101017         "proc" reported by n0dalus.
101019         * lib/mountlist.c: Include <limits.h>.
101020         (dev_from_mount_options)
101021         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
101022         New function.  It no longer assumes "dev=" has the System V meaning
101023         on Linux (since it doesn't).  It also parses "dev=" more carefully.
101024         (read_file_system_list)
101025         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
101026         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
101027         dev= in that case.
101029         * lib/posixtm.h (PDS_PRE_2000): New macro.
101030         * lib/posixtm.c (year): Arg is now syntax_bits rather than
101031         allow_century.  All usages changed.  Reject dates outside the range
101032         1969-1999 if PDS_PRE_2000 is used.
101034 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
101036         Sync from coreutils.
101037         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
101038         (Time of day items): Mention the possibility of leap seconds.
101039         Problem reported by Dr. David Alan Gilbert.
101041 2006-01-09  Jim Meyering  <jim@meyering.net>
101043         Sync from coreutils.
101045         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
101047         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
101049         * lib/modechange.c (mode_compile): Reject an invalid mode string
101050         that starts with an octal digit.  From Andreas Gruenbacher.
101052         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
101053         and dup to open_safer and dup_safer, respectively.
101054         (openat_permissive): Fix typo in comment.
101056         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
101057         "gettext.h"; either no longer needed or are guaranteed by openat.h.
101058         (_): Remove; no longer needed.
101059         (openat): Renamed from rpl_openat; no need for rpl_openat
101060         since openat.h renames openat for us.
101061         Replace most of the body with a call to openat_permissive,
101062         to avoid duplicate code.
101063         Port to (probably hypothetical) environments were mode_t is
101064         wider than int.
101065         (openat_permissive): Require mode arg, so that we can check
101066         types better.  Put it just after flags.  Change cwd failure
101067         indicator from pointer-to-bool to pointer-to-errno-value.
101068         All callers changed.
101069         Invoke openat_save_fail and/or openat_restore_fail if
101070         cwd_errno is null, so that openat can call us.
101071         (openat_permissive, fdopendir, fstatat, unlinkat):
101072         Simplify errno handling to avoid some duplicate code,
101073         as it's OK to set errno on success.
101074         * lib/openat.h: Revamp code so that function macros depend on
101075         __OPENAT_PREFIX only, not also on AT_FDCWD.
101076         (openat_ro): Remove.  Caller changed to use openat_permissive.
101077         (openat_permissive): Now a macro, if not a function.
101078         (openat_restore_fail, openat_save_fail): Now always functions,
101079         since mkdirat needs them even if __OPENAT_PREFIX is defined.
101081         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
101082         and openat.c.
101083         * lib/mkdirat.c: Include openat-priv.h.
101084         Remove definitions of macros defined therein.
101085         * lib/openat.c: Likewise.
101087         * lib/mkdirat.c (mkdirat): New file and function.
101088         * lib/openat.h (mkdirat): Declare.
101090         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
101092         * lib/openat.h (openat_permissive): Declare.
101093         (openat_ro): Define.
101095         * lib/openat.c (EXPECTED_ERRNO): New macro.
101096         (openat_permissive): New function -- used in remove.c rewrite.
101097         (all functions): Set errno just before returning, only if there
101098         was an actual failure.
101099         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
101101         Emulate openat-family functions using Linux's procfs, if possible.
101102         Idea and some code based on Ulrich Drepper's glibc changes.
101104         * lib/openat.c: (BUILD_PROC_NAME): New macro.
101105         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
101106         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
101107         before falling back on save_cwd and restore_cwd.
101108         (fdopendir, fstatat, unlinkat): Likewise.
101110         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
101111         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
101113         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
101114         as second argument to va_arg.  Otherwise, some versions of gcc
101115         warn that `if this code is reached, the program will abort'.
101117 2006-01-09  Jim Meyering  <jim@meyering.net>
101119         Sync from coreutils.
101120         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
101121         Require openat-priv.h.
101123 2006-01-09  Bruno Haible  <bruno@clisp.org>
101125         * modules/strnlen (Include): Use strnlen.h.
101127 2006-01-09  Bruno Haible  <bruno@clisp.org>
101129         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
101131 2006-01-09  Bruno Haible  <bruno@clisp.org>
101133         * lib/sysexit_.h (EX_OK): New macro.
101134         Suggested by Martin Lambers <marlam@marlam.de>.
101136 2006-01-09  Bruno Haible  <bruno@clisp.org>
101138         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
101139         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
101141 2006-01-09  Bruno Haible  <bruno@clisp.org>
101143         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
101144         numbers.
101146 2006-01-09  Bruno Haible  <bruno@clisp.org>
101148         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
101149         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
101150         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
101151         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
101153 2006-01-09  Bruno Haible  <bruno@clisp.org>
101155         * build-aux/javacomp.sh.in: New file, moved from lib/.
101156         * modules/javacomp-script (Files): Update.
101157         (configure.ac): Add AC_CONFIG_FILES invocation.
101158         (EXTRA_DIST): Remove variable.
101160         * build-aux/javaexec.sh.in: New file, moved from lib/.
101161         * modules/javaexec (Files): Update.
101162         (configure.ac): Add AC_CONFIG_FILES invocation.
101163         (EXTRA_DIST): Remove javaexec.sh.in.
101165         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
101166         * modules/csharpcomp-script (Files): Update.
101167         (configure.ac): Add AC_CONFIG_FILES invocation.
101168         (EXTRA_DIST): Remove variable.
101170         * build-aux/csharpexec.sh.in: New file, moved from lib/.
101171         * modules/csharpexec (Files): Update.
101172         (configure.ac): Add AC_CONFIG_FILES invocation.
101173         (EXTRA_DIST): Remove csharpexec.sh.in.
101175 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
101177         Sync from coreutils.
101179         Add POSIX ACL support
101180         * lib/acl.h (copy_acl, set_acl): Add declarations.
101181         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
101182         systems other than Linux.
101183         (chmod_or_fchmod): New function: use fchmod when possible,
101184         and chmod otherwise.
101185         (file_has_acl): Add a POSIX ACL implementation, with a
101186         Linux-specific subcase.
101187         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
101188         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
101189         acls are unsupported.
101190         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
101191         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
101192         are unsupported.
101194 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
101196         Sync from coreutils.
101197         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
101199 2006-01-07  Bruno Haible  <bruno@clisp.org>
101201         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
101202         gl_EARLY.
101204 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
101206         * lib/strftime.c (tzname): Don't declare if it is already #defined.
101207         Problem reported for Mingw by Mark Junker.
101209 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
101211         * README: Gnulib normally doesn't generate a tarball.
101213 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
101215         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
101216         long int, not int, for nanosecond counts, so that people who are
101217         used to POSIX struct timespec won't be surprised.  Reported by Jim
101218         Meyering.
101220 2005-12-28  Bruno Haible  <bruno@clisp.org>
101222         * build-aux/config.rpath: Update from GNU gettext.
101224 2005-12-16  Jim Meyering  <jim@meyering.net>
101226         * modules/fprintftime: New module.
101227         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
101229 2005-12-16  Jim Meyering  <jim@meyering.net>
101231         * m4/fprintftime.m4: New file.
101233 2005-12-16  Jim Meyering  <jim@meyering.net>
101235         * lib/fprintftime.c, lib/fprintftime.h: New files.
101237 2005-12-15  Simon Josefsson  <jas@extundo.com>
101239         * modules/socklen (configure.ac): Fix M4 macro name, to align with
101240         new m4/socklen.m4.
101242 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
101244         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
101245         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
101247 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
101249         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
101250         * lib/argp-help.c (fill_in_uparams): Check if the constructed
101251         struct uparams is valid. Fall back to the default values if it is
101252         not.
101254 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
101256         * modules/argp (Files): Add argp-pin.c
101257         (Depends-on): dirname
101258         (lib_SOURCES): Add argp-pin.c
101260 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
101262         * m4/argp.m4:  Check if program_invocation_name and
101263         program_invocation_short_name are declared and define appropriate
101264         macros if they are not.
101266 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
101268         * lib/argp-help.c (__argp_base_name): New function
101269         (__argp_short_program_name): Rewrite using __argp_base_name
101270         * lib/argp-namefrob.h: Define program_invocation_name and
101271         program_invocation_short_name if requested
101272         (__argp_base_name): Add prototype
101273         * lib/argp-parse.c (argp_def): Use gettext wrappers
101274         (argp_default_parser): Use __argp_base_name
101275         * lib/argp-pin.c: New file. Defines program_invocation_name and
101276         program_invocation_short_name on systems that lack them.
101278 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
101280         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
101281         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
101282         porting problem reported by Georg Schwarz in
101283         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
101285 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
101287         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
101288         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
101289         porting problem reported by Georg Schwarz in
101290         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
101292 2005-12-05  Bruno Haible  <bruno@clisp.org>
101294         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
101295         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
101296         Reported by Mark Junker <mjscod@gmx.de>.
101298 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
101300         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
101301         Use implementation from Albert Chin, with some
101302         comments/corrections by Stepan Kasal and myself.
101304 2005-12-02  Bruno Haible  <bruno@clisp.org>
101306         * gnulib-tool (func_import): Accept GPLed build tool modules when
101307         --lgpl is given.
101308         * modules/csharpcomp-script: New file.
101309         * modules/csharpcomp: Depend on it.
101310         * modules/javacomp-script: New file.
101311         * modules/javacomp: Depend on it.
101312         Suggested by Simon Josefsson.
101314 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
101316         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
101317         statement, to work around an HP-UX 10.20 compiler bug reported by
101318         Peter O'Gorman.
101320 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
101322         * modules/savedir (Depends-on): Add openat.
101324 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
101326         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
101327         (uintmax_t) [defined uintmax_t]: Do not declare.
101328         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
101329         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
101330         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
101331         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
101332         sake of portability to weird hosts that C allows (though we don't
101333         know of any practical examples).
101335         * lib/savedir.h (fdsavedir): New decl.
101336         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
101337         contains most of the former guts of savedir.
101338         (savedir): Use savedirstream.
101339         Include "openat.h".
101341 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
101343         * modules/obstack (Files): Add m4/ulonglong.m4.
101344         Problem reported by Davide Angelocola.
101346 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
101348         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
101349         coreutils no longer futzes with rounding modes.
101351 2005-11-14  Jim Meyering  <jim@meyering.net>
101353         * lib/mkstemp-safer.c: Include <config.h>, required for possible
101354         replacement of mkstemp.
101356 2005-11-10  Simon Josefsson  <jas@extundo.com>
101358         * lib/readline.c: Remove EOL.
101360 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
101362         * modules/gethrxtime (Depends-on): Add gettime.
101364 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
101366         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
101367         or gettimeofday; no longer needed.
101369 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
101371         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
101372         time business.
101373         (gethrxtime) [! (HAVE_NANOUPTIME
101374         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
101375         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
101376         our own approximation.
101378 2005-11-08  Eric Blake  <ebb9@byu.net>
101380         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
101382 2005-11-08  Eric Blake  <ebb9@byu.net>
101384         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
101386 2005-11-04  Bruno Haible  <bruno@clisp.org>
101388         * gnulib-tool: Implement --update mode.
101390 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
101392         Fix porting problem reported by Theodoros V. Kalamatianos.
101393         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
101394         Don't assume that futimes failing means we must fail.
101396 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
101398         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
101399         variables to suggest the intended function of the PATH_MAX check.
101401 2005-10-30  Kean Johnston  <jkj@sco.com>
101403         Trivial changes to support SCO systems.
101404         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
101405         as PATH_MAX.
101406         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
101407         where __ptr is null when no I/O is pending.
101409 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
101411         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
101412         leave errno alone.  Problem reported by Dmitry V. Levin.
101414 2005-10-28  Simon Josefsson  <jas@extundo.com>
101416         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
101417         Test more.
101419         * tests/test-gc-md2.c, tests/test-md2.c: New files.
101421         * modules/md2, modules/md2-tests: New files.
101423 2005-10-28  Simon Josefsson  <jas@extundo.com>
101425         * m4/inet_ntop.m4: More tests.
101427         * m4/gc-md2.m4, md2.m4: New file.
101429 2005-10-28  Simon Josefsson  <jas@extundo.com>
101431         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
101432         "restrict" keywords, as per POSIX.  Protect the function
101433         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
101434         Don't use K&R prototypes.  Check the sprintf return values.
101435         Re-define EAFNOSUPPORT if not present.  Indent.
101437         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
101438         suggested by Bruno Haible <bruno@clisp.org>.
101440         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
101442         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
101444         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
101445         libgcrypt).
101447         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
101449         * lib/md2.h, lib/md2.c: New files.
101451 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
101453         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
101454         errno alone.  Problem reported by Frederic Jolliton.
101456 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
101458         * modules/verify (License): Change from GPL to LGPL.  This is a
101459         tiny module and there are apparently near-equivalents that are
101460         under the BSD license.
101462 2005-10-24  Simon Josefsson  <jas@extundo.com>
101464         * modules/sha1: Relicense to LGPL.
101466 2005-10-24  Simon Josefsson  <jas@extundo.com>
101468         * lib/md4.h: Shrink buffer size, now that we changed the type.
101470 2005-10-23  Simon Josefsson  <jas@extundo.com>
101472         * gnulib-tool (func_import): Fix --tests-base.
101474 2005-10-22  Simon Josefsson  <jas@extundo.com>
101476         * modules/arcfour (Depends-on): Need stdint.
101478 2005-10-22  Simon Josefsson  <jas@extundo.com>
101480         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
101481         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
101483 2005-10-22  Simon Josefsson  <jas@extundo.com>
101485         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
101486         suggested by Bruno Haible <bruno@clisp.org>.
101488 2005-10-22  Simon Josefsson  <jas@extundo.com>
101490         * lib/crc.h: Include stddef.h, for size_t.
101492 2005-10-22  Simon Josefsson  <jas@extundo.com>
101494         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
101495         arcfour_context struct (simplify test vector testing in GNU
101496         Shishi).
101498 2005-10-21  Simon Josefsson  <jas@extundo.com>
101500         * modules/des, modules/des-tests: New files.
101502         * modules/gc-des, modules/gc-des-tests: New files.
101504         * tests/test-des.c, tests/test-gc-des.c: New file.
101506 2005-10-21  Simon Josefsson  <jas@extundo.com>
101508         * modules/arctwo, modules/arctwo-tests: New files.
101510         * tests/test-arctwo.c: New file.
101512         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
101514         * tests/test-gc-arctwo.c: New file.
101516 2005-10-21  Simon Josefsson  <jas@extundo.com>
101518         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
101519         Bruno Haible <bruno@clisp.org>.
101521         * m4/gc-des.m4: New file.
101523 2005-10-21  Simon Josefsson  <jas@extundo.com>
101525         * m4/arctwo.m4: New file.
101527         * m4/gc-arctwo.m4: New file.
101529 2005-10-21  Simon Josefsson  <jas@extundo.com>
101531         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
101532         block.
101534 2005-10-21  Simon Josefsson  <jas@extundo.com>
101536         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
101537         <bruno@clisp.org>.
101539         * lib/hmac-sha1.c (hmac_sha1): Likewise.
101541         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
101542         Bruno Haible <bruno@clisp.org>.
101544         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
101545         <bruno@clisp.org>.
101547 2005-10-21  Simon Josefsson  <jas@extundo.com>
101549         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
101551 2005-10-21  Simon Josefsson  <jas@extundo.com>
101553         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
101555 2005-10-21  Simon Josefsson  <jas@extundo.com>
101557         * lib/des.h, lib/des.c: New files.
101559         * lib/gc-gnulib.c: Support DES.c
101561 2005-10-21  Simon Josefsson  <jas@extundo.com>
101563         * lib/arctwo.h, lib/arctwo.c: New files.
101565         * lib/gc-gnulib.c: Support ARCTWO.
101567 2005-10-21  Simon Josefsson  <jas@extundo.com>
101569         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
101570         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
101572 2005-10-21  Simon Josefsson  <jas@extundo.com>
101574         * gnulib-tool (func_import, func_create_testdir): Define automake
101575         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
101576         Makefile.am snippet),
101577         suggested by Bruno Haible <bruno@clisp.org>.
101579         * modules/gc (Makefile.am): Use it.
101581 2005-10-21  Bruno Haible  <bruno@clisp.org>
101583         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
101584         patch.
101586 2005-10-19  Simon Josefsson  <jas@extundo.com>
101588         * tests/test-gc-rijndael.c: New file.
101590         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
101592 2005-10-19  Simon Josefsson  <jas@extundo.com>
101594         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
101595         interface too.
101597 2005-10-19  Simon Josefsson  <jas@extundo.com>
101599         * tests/test-gc-arcfour.c: New file.
101601         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
101603 2005-10-19  Simon Josefsson  <jas@extundo.com>
101605         * modules/gc-md4, modules/gc-md4-tests: New file.
101607         * tests/test-gc-md4.c: New file.
101609 2005-10-19  Simon Josefsson  <jas@extundo.com>
101611         * m4/gc-md4.m4: New file.
101613 2005-10-19  Simon Josefsson  <jas@extundo.com>
101615         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
101616         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
101617         <kasal@ucw.cz>.
101619 2005-10-19  Simon Josefsson  <jas@extundo.com>
101621         * m4/gc-arcfour.m4: New file.
101623         * m4/gc-rijndael.m4: New file.
101625 2005-10-19  Simon Josefsson  <jas@extundo.com>
101627         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
101629 2005-10-19  Simon Josefsson  <jas@extundo.com>
101631         * lib/gc-gnulib.c: Support ARCFOUR.
101633 2005-10-19  Simon Josefsson  <jas@extundo.com>
101635         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
101636         support.
101638         * lib/gc.h: Add ECB enum type.
101640         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
101642 2005-10-18  Simon Josefsson  <jas@extundo.com>
101644         * tests/test-md5.c: New file.
101646         * modules/md5-tests: New file.
101648 2005-10-18  Simon Josefsson  <jas@extundo.com>
101650         * tests/test-md4.c: New file.
101652         * modules/md4, modules/md4-tests: New files.
101654 2005-10-18  Simon Josefsson  <jas@extundo.com>
101656         * m4/md4.m4: New file.
101658 2005-10-18  Simon Josefsson  <jas@extundo.com>
101660         * lib/md4.h, lib/md4.c: New files, based on md5.?.
101662 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
101664         * gnulib-tool (func_create_testdir): Omit the second check whether
101665         BUILT_SOURCES in nonempty.
101667 2005-10-17  Simon Josefsson  <jas@extundo.com>
101669         * tests/test-rijndael.c: New file.
101671 2005-10-17  Simon Josefsson  <jas@extundo.com>
101673         * modules/sha1: Depend on stdint instead of md5.
101675         * modules/md5: Depend on stdint, remove uint32_t.
101677 2005-10-17  Simon Josefsson  <jas@extundo.com>
101679         * modules/gc-sha1-tests: New file.
101681         * tests/test-gc-sha1.c: New file.
101683 2005-10-17  Simon Josefsson  <jas@extundo.com>
101685         * m4/md5.m4: Remove call to uint32_t.m4.
101687 2005-10-17  Simon Josefsson  <jas@extundo.com>
101689         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
101691         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
101692         md5.h.
101694         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
101696         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
101698 2005-10-17  Simon Josefsson  <jas@extundo.com>
101700         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
101702 2005-10-17  Simon Josefsson  <jas@extundo.com>
101704         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
101706 2005-10-17  Simon Josefsson  <jas@extundo.com>
101708         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
101710         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
101712 2005-10-17  Bruno Haible  <bruno@clisp.org>
101714         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
101715         that it can also be used in a test.
101717 2005-10-16  Bruno Haible  <bruno@clisp.org>
101719         * gnulib-tool (func_emit_tests_Makefile_am): Also define
101720         TESTS_ENVIRONMENT, so that individual tests can augment it.
101722         * gnulib-tool (func_create_testdir): Use an intermediate target for
101723         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
101724         macros, like $(ALLOCA_H), which cannot be passed through the command
101725         line.
101727 2005-10-15  Simon Josefsson  <jas@extundo.com>
101729         * modules/rijndael-tests: New file.
101731         * modules/rijndael: New file.
101733 2005-10-15  Simon Josefsson  <jas@extundo.com>
101735         * m4/rijndael.m4: New file.
101737 2005-10-15  Simon Josefsson  <jas@extundo.com>
101739         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
101741         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
101743 2005-10-14  Simon Josefsson  <jas@extundo.com>
101745         * tests/test-arcfour.c: New file.
101747         * modules/arcfour, modules/arcfour-tests: New files.
101749 2005-10-14  Simon Josefsson  <jas@extundo.com>
101751         * m4/arcfour.m4: New file.
101753 2005-10-14  Simon Josefsson  <jas@extundo.com>
101755         * lib/arcfour.h, lib/arcfour.c: New files.
101757 2005-10-14  Roland McGrath  <roland@redhat.com>
101759         Import from libc.  [BZ #1331]
101760         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
101761         macro argument.
101762         Reported by Matej Vela <vela@debian.org>.
101764 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
101766         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
101767         include <wchar.h>; no longer needed.
101769 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
101771         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
101773 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
101774         and  Ulrich Drepper  <drepper@redhat.com>
101776         Import from libc.
101777         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
101778         instead of inline stream orientation test and two separate
101779         function calls.  Pay no attention to USE_IN_LIBIO.
101781 2005-10-13  Simon Josefsson  <jas@extundo.com>
101783         * modules/gc-hmac-md5-tests: New file.
101785         * tests/test-gc-hmac-sha1.c: New file.
101787         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
101789         * modules/gc-hmac-md5-tests: New file.
101791         * tests/test-gc-md5.c: New file.
101793         * modules/gc-md5-tests: New file.
101795 2005-10-13  Simon Josefsson  <jas@extundo.com>
101797         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
101798         Move memory allocation outside of loop.
101800 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
101802         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
101803         intermediate directory is in a read-only file system.  Problem
101804         reported by Eric Blake.
101806 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
101808         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
101810 2005-10-12  Simon Josefsson  <jas@extundo.com>
101812         * tests/test-hmac-sha1.c: New file.
101814         * modules/hmac-sha1-tests: New file.
101816         * modules/hmac-sha1: New file.
101818 2005-10-12  Simon Josefsson  <jas@extundo.com>
101820         * modules/gc-sha1: New file.
101822 2005-10-12  Simon Josefsson  <jas@extundo.com>
101824         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
101826         * tests/test-gc-pbkdf2-sha1.c: New file.
101828 2005-10-12  Simon Josefsson  <jas@extundo.com>
101830         * modules/gc-md5, modules/gc-hmac-md5: New files.
101832         * modules/gc (Files): Remove md5, memxor and hmac files.
101834 2005-10-12  Simon Josefsson  <jas@extundo.com>
101836         * m4/gc-pbkdf2-sha1.m4: New file.
101838         * m4/gc-hmac-sha1.m4: New file.
101840         * m4/gc-sha1: New file.
101842         * m4/hmac-sha1.m4: New file.
101844 2005-10-12  Simon Josefsson  <jas@extundo.com>
101846         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
101848         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
101850 2005-10-12  Simon Josefsson  <jas@extundo.com>
101852         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
101853         suggested by Bruno Haible <bruno@clisp.org>.
101855 2005-10-12  Simon Josefsson  <jas@extundo.com>
101857         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
101859 2005-10-12  Simon Josefsson  <jas@extundo.com>
101861         * lib/gc-pbkdf2-sha1.c: New file.
101863         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
101865 2005-10-12  Simon Josefsson  <jas@extundo.com>
101867         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
101869         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
101871 2005-10-12  Simon Josefsson  <jas@extundo.com>
101873         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
101874         GC_USE_HMAC_MD5, respectively.
101876         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
101877         (gc_md5): Fix typo.
101879         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
101881         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
101883         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
101885 2005-10-12  Bruno Haible  <bruno@clisp.org>
101887         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
101888         Reported by Stepan Kasal <kasal@ucw.cz>.
101890 2005-10-11  Simon Josefsson  <jas@extundo.com>
101892         * tests/test-crc.c: New file.
101894         * modules/crc, modules/crc-tests: New files.
101896 2005-10-11  Simon Josefsson  <jas@extundo.com>
101898         * m4/crc.m4: New file.
101900 2005-10-11  Simon Josefsson  <jas@extundo.com>
101902         * lib/gc.h: Add gc_hash and gc_hash_buffer.
101904         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
101906         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
101908 2005-10-11  Simon Josefsson  <jas@extundo.com>
101910         * lib/crc.h, lib/crc.c: New files.
101912         * lib/gc.h (gc_hash_buffer): Add doc.
101914 2005-10-11  Bruno Haible  <bruno@clisp.org>
101916         * modules/c-strcasestr: New file.
101917         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
101919 2005-10-11  Bruno Haible  <bruno@clisp.org>
101921         * modules/c-strcase: New file.
101922         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
101924 2005-10-11  Bruno Haible  <bruno@clisp.org>
101926         * lib/strcasecmp.c: Include limits.h.
101927         (strcasecmp): Avoid integer overflow on exotic platforms.
101928         * lib/strncasecmp.c: Include limits.h.
101929         (strncasecmp): Avoid integer overflow on exotic platforms.
101930         Reported by Paul Eggert.
101932 2005-10-11  Bruno Haible  <bruno@clisp.org>
101934         * lib/c-strcasestr.h: New file, from GNU gettext.
101935         * lib/c-strcasestr.c: New file, from GNU gettext.
101937 2005-10-11  Bruno Haible  <bruno@clisp.org>
101939         * lib/c-strcase.h: New file, from GNU gettext.
101940         * lib/c-strcasecmp.c: New file, from GNU gettext.
101941         * lib/c-strncasecmp.c: New file, from GNU gettext.
101943 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
101945         * modules/mempcpy (License): GPL -> LGPL.
101946         * modules/strchrnul (License): Likewise.
101947         * modules/sysexits (License): Likewise.
101949 2005-10-08  Simon Josefsson  <jas@extundo.com>
101951         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
101953 2005-10-07  Simon Josefsson  <jas@extundo.com>
101955         * m4/memxor.m4: Remove gl_C_RESTRICT call.
101957 2005-10-06  Simon Josefsson  <jas@extundo.com>
101959         * tests/test-hmac-md5.c: New file.
101961         * modules/hmac-md5-tests: New file.
101963         * modules/hmac-md5: New file.
101965 2005-10-06  Simon Josefsson  <jas@extundo.com>
101967         * m4/hmac-md5.m4: New file.
101969         * m4/memxor.m4: Require gl_C_RESTRICT.
101971 2005-10-06  Simon Josefsson  <jas@extundo.com>
101973         * lib/memxor.c (memxor): Avoid casts and warnings.
101975 2005-10-06  Simon Josefsson  <jas@extundo.com>
101977         * lib/hmac-md5.c: New file.
101979         * lib/hmac.h: New file.
101981 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
101983         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
101984         promotes to int, not unsigned int, to catch the AIX 5.3
101985         compiler bug.
101987 2005-10-05  Simon Josefsson  <jas@extundo.com>
101989         * modules/memxor: New file.
101991         * modules/iconv (Files): Move config.rpath to havelib, it is used
101992         there.
101994         * modules/havelib (Files): Add config.rpath.
101996 2005-10-05  Simon Josefsson  <jas@extundo.com>
101998         * m4/memxor.m4: New file.
102000 2005-10-05  Simon Josefsson  <jas@extundo.com>
102002         * lib/memxor.c (memxor): Fix compiler error.
102004         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
102005         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
102007         * lib/memxor.h, lib/memxor.c: New files.
102009         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
102010         we assume all systems have it, suggested by Jim Meyering
102011         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
102012         any systems lack sys/socket.h; mingw32 is known to lack it, but we
102013         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
102014         same reasons.
102016 2005-10-05  Simon Josefsson  <jas@extundo.com>
102018         * config/srclist.txt: Add glibc bug 1423 for md5.h.
102020 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
102022         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
102023         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
102024         needed, since the source code now assumes these .h files.
102026 2005-10-05  Derek Price  <derek@ximbiot.com>
102028         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
102030 2005-10-05  Bruno Haible  <bruno@clisp.org>
102032         * modules/stdint (License): Change to LGPL.
102034 2005-10-04  Simon Josefsson  <jas@extundo.com>
102036         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
102037         D. Baushke" <mdb@gnu.org>.
102039 2005-10-04  Bruno Haible  <bruno@clisp.org>
102041         * lib/verify.h (verify_true): Provide alternative definition for C++.
102043 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
102045         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
102046         (SSIZE_MAX): New macro, if not already defined.
102047         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
102048         than 2 GiB.
102050 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
102052         Sync from coreutils.
102053         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
102054         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
102055         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
102056         ULLONG_MAX doesn't work with 2.7.2.1.
102058 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
102060         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
102061         From Ben Pfaff.
102063         * modules/exclude (Depends-on): Depend on verify.
102064         * modules/strtoimax (Depends-on): Likewise.
102065         * modules/utimecmp (Depends-on): Likewise.
102067 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
102069         * lib/exclude.c: Include verify.h.
102070         (verify): Remove.  All callers changed to use verify.h's version.
102071         * lib/strtoimax.c: Likewise.
102072         * lib/utimecmp.c: Likewis.e
102074         Sync from coreutils.
102075         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
102076         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
102077         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
102078         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
102079         bother returning ENOSYS if settimeofday or stime fails; just let
102080         them return whatever errno they want to return.
102081         * lib/utimens.c: Include unistd.h, for dup2.
102082         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
102083         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
102085 2005-10-02  Jim Meyering  <jim@meyering.net>
102087         Sync from coreutils.
102088         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
102089         from glibc-2.2.5 that fails for read-only files.
102091 2005-10-02  Jim Meyering  <jim@meyering.net>
102093         Sync from coreutils.
102094         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
102095         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
102096         `#if HAVE_CONFIG_H'.
102097         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
102098         Remove AT_FDCWD test.
102099         Do not consume the fd unless successful.
102100         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
102101         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
102102         block, so that we don't even try to compile it if settimeofday is
102103         available.  This works around a compilation failure on OSF1 V5.1,
102104         due to stime requiring a `long int*' while tv_sec is `int'.
102106 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
102108         Sync from coreutils.
102109         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
102110         against `yes', rather than just testing for nonempty.
102112 2005-10-01  Simon Josefsson  <jas@extundo.com>
102114         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
102115         and Darwin.
102117         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
102118         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
102119         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
102120         freeaddrinfo and gai_strerror are declared by the POSIX headers.
102121         Check if struct addrinfo is declared.
102123 2005-10-01  Simon Josefsson  <jas@extundo.com>
102125         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
102126         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
102127         AI_* and EAI_* definitions.  Protect function declarations.
102129 2005-10-01  Jim Meyering  <jim@meyering.net>
102131         Sync from coreutils.
102133         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
102134         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
102135         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
102136         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
102137         in the inet and nsl libraries.  Required on Solaris 5.7.
102139 2005-10-01  Jim Meyering  <jim@meyering.net>
102141         Sync from coreutils.
102142         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
102143         in the inet and nsl libraries.  Required on Solaris 5.7.
102145 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
102147         * lib/getdelim.c (getdelim): Remove unused variables.
102149 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
102151         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
102152         so that the code works even with ancient cpp.  Portability problem
102153         with GCC 2.7.2.1 reported by Thomas M.Ott.
102155 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
102157         * modules/regex (Depends-on): Add strcase.
102159         * modules/gethostname (Licence): Change from GPL to LGPL, since
102160         gethostname.c is a trivial implementation of a standard library
102161         function.
102162         * modules/poll (License): Change from GPL to LGPL, since it's
102163         derived from LGPL code.
102165 2005-09-27  Jim Meyering  <jim@meyering.net>
102167         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
102168         HAVE_CONFIG_H.
102170         * lib/intprops.h (signed_type_or_expr__): Define.
102171         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
102172         for unsigned types.
102174 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
102176         * lib/verify.h (verify_expr): Remove, replacing with:
102177         (verify_true): New macro that returns true instead of void.
102178         (verify_type__): Remove.
102179         (verify): Use verify_true rather than verify_type__.
102181 2005-09-26  Bruno Haible  <bruno@clisp.org>
102183         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
102184         is necessary.
102185         (lib_SOURCES): Remove mbchar.c.
102186         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
102187         (Files): Add m4/mbrtowc.m4.
102188         * modules/mbiter: Likewise.
102189         * modules/mbuiter: Likewise.
102191 2005-09-26  Bruno Haible  <bruno@clisp.org>
102193         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
102194         compile mbchar.c if they are not both present.
102195         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
102196         * m4/mbiter.m4 (gl_MBITER): Likewise.
102197         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
102198         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
102199         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
102201 2005-09-25  Jim Meyering  <jim@meyering.net>
102203         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
102204         also uses socklen_t.
102206 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
102208         * lib/utimens.c (ENOSYS): Define if not already defined.
102209         (futimens): Support having a null PATH if the file descriptor
102210         is nonnegative.
102212         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
102213         Remove.
102214         (__attribute): Define to empty unless GCC 3.1 or later.
102215         This works around a core dump on OpenBSD 3.4, which has GCC
102216         2.95.3, which dumps core when given __attribute__(()).  It also
102217         simplifies other tests, since we really don't want to bother with
102218         worrying about which ancient version of GCC supported what.
102219         Original problem reported by Yoann Vandoorselaere, with part of
102220         the fix suggested by Derek Price.
102222 2005-09-24  Jim Meyering  <jim@meyering.net>
102224         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
102225         so we can once again use a positive bitfield width of 1 -- now we
102226         don't have to explain why we were using a bitfield width of 2.
102228 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
102230         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
102231         and similarly for the other external symbols.  Problem reported
102232         by James Gallager.
102234         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
102235         bug reported by Jim Meyering.
102237         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
102238         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
102239         not needed, since socklen is a prerequisite module.
102241 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
102243         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
102244         Problem reported by Eric Blake.
102245         (getaddrinfo): Initialize se so that it's not garbage.
102246         Redo internal storage allocation so that it doesn't make unportable
102247         assumptions about alignment.
102248         Fix a memory leak.
102250         * lib/utimens.c (futimens): Use futimesat if available.
102251         Prefer it to futimes since it doesn't have the futimes bug.
102253         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
102254         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
102255         Instead, declare a function that returns a pointer to an array,
102256         and use verify_type__ to declare the size of the array.
102257         Problem and germ of a solution reported by Bruno Haible.
102258         (verify_type__): Use 2, not 1, for bitfield size, to avoid
102259         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
102261 2005-09-23  Jim Meyering  <jim@meyering.net>
102263         Sync from coreutils.
102264         Correct build failure (socklen_t not defined) on at least
102265         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
102266         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
102268 2005-09-23  Jim Meyering  <jim@meyering.net>
102270         * modules/getaddrinfo (Depends-on): Add socklen.
102272 2005-09-23  Bruno Haible  <bruno@clisp.org>
102274         * tests/test-verify.c: New file.
102276 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
102278         Sync from coreutils.
102280         * modules/argmatch (Depends-on): Add verify.
102281         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
102282         unistd-safer.
102283         * modules/save-cwd (Depends-on): Likewise.
102285         * modules/openat (Files): Add lib/openat-die.c.
102286         (Depends-on): Remove error, exitfail.
102287         Add dirname.
102289         * modules/verify: New file.
102290         * MODULES.html.sh (Diagnostics <assert.h>): New section,
102291         with "verify" module.
102293 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
102295         Sync from coreutils.
102297         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
102298         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
102299         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
102300         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
102301         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
102302         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
102303         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
102304         Don't bother checking for string.h, stdlib.h, unistd.h.
102305         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
102306         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
102307         module's job.
102308         * m4/jm-macros.m4 (gl_MACROS): Likewise.
102309         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
102311         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
102312         (gl_GETDATE): Use it.
102314         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
102316 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
102318         Sync from coreutils.
102320         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
102321         stat-time.h.
102322         * lib/argmatch.h: Include verify.h
102323         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
102324         (ARGMATCH_ASSERT): Remove; unused.
102325         * lib/canonicalize.c: Assume STDC_HEADERS.
102326         * lib/exclude.c: Include "strcase.h".
102327         * lib/regex_internal.h [!defined _LIBC]: Likewise.
102328         * lib/getusershell.c: Include stdio--.h rather than stdio.h
102329         and stdio-safer.h.
102330         (getusershell): Call fopen, not fopen_safer.
102331         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
102332         Do not include unistd-safer.h.
102333         (save_cwd): Don't call fd_safer; no longer needed
102334         now that we include fcntl--.h.
102336         * lib/getdate.y (relative_time): New type.
102337         (RELATIVE_TIME_0): New constant.
102338         (parser_control): Use relative_time instead of doing it ourselves.
102339         (%union): Add new relative_time rel member.
102340         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
102341         Now typeless.
102342         (relunit, relunit_snumber): Now of type rel.
102343         (zone, rel, relunit, get_date): Adjust to above changes.
102345         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
102346         Do not include unistd-safer.h.
102347         (getloadavg): Don't call fd_safer; no longer needed
102348         now that we include fcntl--.h.
102350         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
102351         (make_dir_parents): Treat ENOSYS like EEXIST.
102353         Improve quality of diagnostics on restore_cwd failure.
102354         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
102355         (make_dir_parents): Last arg is now int * (for errno), not bool *.
102356         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
102357         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
102358         each time through the loop.  Do not diagnose restore_cwd failure;
102359         that is the caller's job (and perhaps the caller does not care).
102361         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
102362         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
102363         If the file already exists but is not a directory, don't bother
102364         to try to make its parents.
102365         Close potential file descriptor leak if we can't chdir("/") (!).
102366         Don't always return true if chdir($PWD) fails; return true only
102367         if the requested action was done successfully (except for the
102368         chdir($PWD)).
102369         Don't log final directory unless we actually made it.
102370         Refactor to avoid duplicate code to fix up permissions.
102371         Don't attempt to fix up parent permissions if chdir($PWD) fails.
102373         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
102374         to make it a bit faster and (I hope) clearer.
102375         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
102376         Fix bug in formats like %2N.
102378         * lib/verify.h: New file.
102380 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
102382         Sync from coreutils.
102383         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
102385 2005-09-22  Jim Meyering  <jim@meyering.net>
102387         Sync from coreutils.
102389         * m4/lstat.m4 (gl_FUNC_LSTAT):
102390         Use AC_LIBSOURCES to require lstat.c and lstat.h.
102391         Remove obsolete comment.
102392         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
102393         * m4/xstrtod.m4: Likewise.
102395         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
102397 2005-09-22  Jim Meyering  <jim@meyering.net>
102399         Sync from coreutils.
102401         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
102403         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
102404         the .tm_year member, since otherwise gcc-4.0 would now warn about
102405         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
102407         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
102408         order to avoid an unsuppressible warning from gcc on 64-bit systems.
102410         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
102411         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
102412         when run in a time zone for which daylight savings time is in effect
102413         for the starting date.
102415         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
102416         stop us from restricting permissions of just-created absolute-named
102417         directories.
102418         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
102419         to restore initial working directory.
102420         * lib/mkdir-p.c (make_dir_parents): New parameter:
102421         different_working_dir, to tell caller if/when we change the working
102422         directory and are unable to return to the initial one.
102423         * lib/mkdir-p.h (make_dir_parents): Update prototype.
102424         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
102425         `return false'.  This fixes a bug introduced on 2004-07-30.
102427         * lib/openat.c (fdopendir): Be sure to close the supplied
102428         file descriptor before returning.  This makes our replacement
102429         implementation a little closer to Solaris's, where fdopendir
102430         ties the file descriptor to the returned DIR* pointer.
102431         * lib/openat.c (unlinkat): New function.
102432         * lib/openat.h (unlinkat): Add prototype.
102433         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
102434         (openat_restore_fail): Rename from openat_restore_die.
102435         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
102437         Provide an alternative to exiting immediately upon save_cwd or
102438         restore_cwd failure.  Now, an application can arrange e.g.,
102439         to perform a longjump in that case.
102440         * lib/openat.c: Include dirname.h.
102441         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
102442         (rpl_openat, fdopendir, fstatat): Call openat_save_die
102443         and openat_restore_die rather than calling error directly.
102444         Don't include "error.h" or "exitfail.h"; they're no longer needed.
102446         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
102447         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
102448         define.
102450         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
102451         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
102452                             int utc, int nanoseconds);
102453         Background:
102454         date should not have to allocate a megabyte of virtual memory to
102455         handle a format argument like +%1048575T.  When implemented with
102456         strftime, it must allocate such a buffer, use strftime to fill it
102457         in, print it, then free it.
102458         With fprintftime, it simply prints everything and exits.
102459         With no need for memory allocation, that's one fewer way to fail.
102460         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
102461         optional field width, not before, so we accept %9:z, not %:9z.
102462         (my_strftime): Be sure to use L_('x') for literals.
102464         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
102465         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
102466         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
102467         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
102468         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
102469         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
102470         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
102471         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
102472         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
102473         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
102474         * lib/xgethostname.c, lib/xreadlink.c:
102475         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
102477         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
102478         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
102479         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
102480         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
102481         and don't include <sys/file.h>).
102483 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
102485         Sync from coreutils.
102487         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
102488         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
102489         [!LDAV_DONE]: Avoid unused variable warning.
102491 2005-09-21  Bruno Haible  <bruno@clisp.org>
102493         * lib/unicodeio.h (unicode_to_mb): New declaration.
102495 2005-09-20  Derek Price  <derek@ximbiot.com>
102497         * lib/getaddrinfo.c: Don't include <netdb.h> included from
102498         getaddrinfo.h.
102500 2005-09-20  Bruno Haible  <bruno@clisp.org>
102502         * gnulib-tool: Remove trailing slashes from the values specified for
102503         --source-base, --m4-base, --tests-base, --aux-dir.
102504         Suggested by Simon Josefsson <jas@extundo.com>.
102506 2005-09-20  Bruno Haible  <bruno@clisp.org>
102508         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
102509         func_modules_to_filelist, func_import, func_create_testdir): Make all
102510         sorting results locale-independent, so that gnulib-cache.m4 doesn't
102511         change when gnulib-tool is invoked in a different locale.
102513 2005-09-19  Simon Josefsson  <jas@extundo.com>
102515         * m4/socklen.m4: Fix typo.
102517 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
102519         Use a consistent style for including <config.h>.
102520         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
102521         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
102522         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
102523         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
102524         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
102525         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
102526         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
102527         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
102528         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
102529         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
102530         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
102531         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
102532         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
102533         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
102534         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
102535         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
102536         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
102537         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
102538         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
102539         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
102540         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
102541         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
102542         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
102543         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
102544         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
102545         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
102546         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
102547         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
102548         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
102549         lib/xstrtoumax.c, lib/yesno.c:
102550         Standardize inclusion of config.h.
102551         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
102552         lib/inttostr.h:  Removed inclusion of config.h from header files.
102553         * lib/inttostr.c:  Adjusted in-tree users.
102554         * lib/timespec.h: Remove superfluous warning to include config.h.
102555         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
102556         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
102557         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
102558         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
102559         config.h with HAVE_CONFIG_H.
102561 2005-09-19  Jim Meyering  <jim@meyering.net>
102563         * modules/pathmax (License): Change to LGPL.
102565 2005-09-19  Derek Price  <derek@ximbiot.com>
102567         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
102569 2005-09-19  Bruno Haible  <bruno@clisp.org>
102571         * gnulib-tool (import): Provide default for --tests-base.
102573 2005-09-19  Bruno Haible  <bruno@clisp.org>
102575         * doc/quote.texi: New file, extracted from gnulib.texi.
102576         * doc/ctime.texi: New file, extracted from gnulib.texi.
102577         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
102578         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
102579         * doc/gnulib.texi: Include them.
102581 2005-09-18  Bruno Haible  <bruno@clisp.org>
102583         Portability fix.
102584         * gnulib-tool (func_readlink): New function.
102585         (func_ln_if_changed): Use it.
102587 2005-09-18  Bruno Haible  <bruno@clisp.org>
102589         * gnulib-tool: Support --with-tests also with --import.
102590         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
102591         (func_import): Use variables $testsbase and $inctests. Emit a
102592         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
102593         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
102594         SUBDIRS += $testsdir.
102595         (func_create_testdir): Update.
102597 2005-09-18  Bruno Haible  <bruno@clisp.org>
102599         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
102600         instead of $dry_run.
102601         (func_cp_if_changed, func_mv_if_changed): Remove functions.
102602         (func_ln_if_changed): Don't handle dry-run here.
102603         (func_import): In dry-run mode, detect more precisely which actions
102604         would be performed, and don't use "...ing" verbs.
102606 2005-09-18  Bruno Haible  <bruno@clisp.org>
102608         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
102609         (func_import): Use join on two temporary files instead of three nested
102610         loops, in order to determine which files are new or old.
102612 2005-09-18  Bruno Haible  <bruno@clisp.org>
102614         * gnulib-tool (func_import): Comment out code that spits out the
102615         new files with --dry-run.
102617 2005-09-18  Bruno Haible  <bruno@clisp.org>
102619         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
102621 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
102623         * lib/stat-time.h: New file.
102624         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
102625         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
102626         in a different way.
102627         (timespec_cmp): New function.
102628         * lib/utimecmp.c: Include stat-time.h.
102629         (SYSCALL_RESOLUTION): Depend on whether various struct stat
102630         members exist, not on the obsolescent ST_MTIM_NSEC.
102631         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
102633 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
102635         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
102637 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
102639         * MODULES.html.sh (File system functions): Add stat-time.
102640         * modules/stat-time: New file.
102641         * modules/timespec (Files): Remove m4/st_mtim.m4; this
102642         is now done in a different way, by the stat-time module.
102643         * modules/utimecmp (Depends-on): Add stat-time.
102645 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
102647         * m4/st_mtim.m4: Remove.  Superseded by...
102648         * m4/stat-time.m4: New file.
102649         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
102650         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
102652 2005-09-15  Derek Price  <derek@ximbiot.com>
102654         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
102656 2005-09-15  Derek Price  <derek@ximbiot.com>
102658         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
102659         * lib/regex_internal.c: Ditto, using this...
102660         (__GNUC_PREREQ): ...new macro.
102661         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
102662         using...
102663         (__GNUC_PREREQ): ...this new macro.
102665         * lib/strstr.h: Include string.h. Define strstr as a macro here.
102667 2005-09-15  Derek Price  <derek@ximbiot.com>
102668             Paul Eggert  <eggert@cs.ucla.edu>
102670         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
102671         changes, consolidating in...
102672         * lib/regex_internal.h: ...this file.
102674 2005-09-13  Jim Meyering  <jim@meyering.net>
102676         * lib/canon-host.c: Filter through gnu indent and reword comments
102677         slightly.
102678         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
102680 2005-09-13  Derek Price  <derek@ximbiot.com>
102682         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
102683         failure.
102684         Reported by Jim Meyering  <jim@meyering.net>.
102686 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
102688         * lib/base64.c: Typo.
102689         (base64_encode): Put b64str in initialized data section.
102691 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
102693         Merge glibc and coreutils changes into gnulib, plus a few
102694         extra fixes.
102695         * lib/md5.c: Use #error rather than a string.
102696         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
102697         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
102698         (__attribute__): Define to empty for non recent-GCC.
102699         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
102700         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
102701         Renamed from their non-__ counterparts, with new macros replacing
102702         them if not _LIBC.  Add __THROW attribute.
102703         (rol): Remove.
102704         (struct md5_ctx): Align buffer if using GCC.
102705         * lib/sha1.h (struct sha1_ctx): Likewise.
102706         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
102707         The old name was backwards.
102708         (NOTSWAP): Remove; not used.
102709         (rol): New macro, moved here from md5.h.
102710         (sha1_process_block): Remove a FIXME that doesn't make sense.
102712 2005-09-12  Derek Price  <derek@ximbiot.com>
102714         Return usable errors from canon-host.
102715         * lib/canon-host.h: New file.
102716         * lib/canon-host.c (canon_host): Wrap...
102717         (canon_host_r): ...this new function, which now relies exclusively on
102718         getaddrinfo.
102719         (ch_strerror): New function.
102720         (last_cherror): New global.
102721         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
102722         interface.
102723         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
102724         void *.
102725         (freeaddrinfo): Free ai->ai_canonname when set.
102727 2005-09-12  Derek Price  <derek@ximbiot.com>
102729         Make canon-host require getaddrinfo.
102730         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
102731         AC_LIBSOURCE canon-host.h.  Call...
102732         (gl_PREREQ_CANON_HOST): ...this new function, which requires
102733         gl_GETADDRINFO.
102734         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
102736 2005-09-12  Derek Price  <derek@ximbiot.com>
102738         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
102739         LGPL.
102740         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
102742 2005-09-12  Derek Price  <derek@ximbiot.com>
102744         * lib/gai_strerror.c: Include config.h when available.  Include
102745         getaddrinfo.h before other headers to test interface.
102746         Reported by Larry Jones <lawrence.jones@ugs.com>.
102748 2005-09-12  Derek Price  <derek@ximbiot.com>
102749             Paul Eggert  <eggert@cs.ucla.edu>
102751         * modules/glob (Files): Add glob-libc.h.
102753 2005-09-12  Derek Price  <derek@ximbiot.com>
102754             Paul Eggert  <eggert@cs.ucla.edu>
102756         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
102757         glob_.h, glob-libc.h.
102758         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
102760 2005-09-12  Derek Price  <derek@ximbiot.com>
102761             Paul Eggert  <eggert@cs.ucla.edu>
102763         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
102764         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
102765         protecting things that should be done only in gnulib contexts.
102766         * lib/glob_.h: New file, containing only the glob things needed for
102767         gnulib.
102768         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
102769         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
102770         (glob, globfree, glob_pattern_p): Now defined simply in terms of
102771         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
102772         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
102773         and to respect the namespace rules better.
102775 2005-09-08  Simon Josefsson  <jas@extundo.com>
102777         * modules/socklen: New file.
102779 2005-09-08  Simon Josefsson  <jas@extundo.com>
102781         * m4/socklen.m4: New file.
102783 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
102785         * modules/utimens (Files): Add m4/utimbuf.m4, since
102786         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
102787         Reported by Sergey Poznyakoff.
102789 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
102791         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
102792         definitions, since that's the preferred style in glibc.
102793         Fix a minor spacing issue, and update copyright notice to match
102794         glibc's.
102796 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
102798         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
102800 2005-09-06  Simon Josefsson  <jas@extundo.com>
102802         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
102803         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
102805 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
102807         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
102808         warning.
102810 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
102812         * config/srclist.txt: Add glibc bug 1302.
102814 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
102816         Change bitset word type from unsigned int to unsigned long int,
102817         as this has better performance on typical 64-bit hosts.
102818         Port bitset code to hosts with unusual word sizes.
102819         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
102820         (build_collating_symbol):
102821         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
102822         argument is a bitset.  This is merely a style issue, but it makes
102823         it clearer that an entire array is expected.
102824         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
102825         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
102826         Port to the case where bitset_word is not the same as unsigned int.
102827         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
102828         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
102829         Likewise.
102830         * lib/regexec.c (check_dst_limits_calc_pos_1,
102831         check_subexp_matching_top):
102832         (build_trtable, group_nodes_into_DFAstates):
102833         Likewise.
102834         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
102835         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
102836         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
102837         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
102838         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
102839         * lib/regcomp.c (optimize_subexps, lower_subexp):
102840         Work even if bitset_word has holes in its bitwise representation.
102841         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
102842         * lib/regexec.c (check_dst_limits_calc_pos_1,
102843         check_subexp_matching_top):
102844         Likewise.
102845         * lib/regex_internal.c (re_string_reconstruct):
102846         Don't assume UCHAR_MAX == 255.
102847         * lib/regex_internal.h (bitset_set_all): Likewise.
102848         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
102849         All uses changed.
102850         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
102851         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
102852         All uses changed.
102853         (BITSET_WORD_MAX): New macro.
102854         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
102855         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
102856         (bitset_empty, bitset_copy):
102857         Prefer sizeof (bitset) to multiplying it out ourselves.
102858         (bitset_not_merge): Remove; unused.
102859         (bitset_contain): Return bool, not unsigned int with one bit on.
102860         All callers changed.
102861         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
102862         alignment than re_node_set; do this by defining a new internal
102863         type struct dests_alloc and using it to allocate memory.
102865 2005-09-05  Bruno Haible  <bruno@clisp.org>
102867         * gnulib-tool (func_import): Fix comparison in handling of symbolic
102868         links.
102870 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
102872         * modules/size_max (Makefile.am): Add size_max.h
102874 2005-09-04  Derek Price  <derek@ximbiot.com>
102876         * gnulib-tool (func_import): Fix reversed $symbolic logic.
102878 2005-09-03  Simon Josefsson  <jas@extundo.com>
102880         * gnulib-tool: Fix typo.
102882 2005-09-03  Simon Josefsson  <jas@extundo.com>
102884         * config/srclist.txt: Add glibc bug 1293.
102886 2005-09-03  Derek Price  <derek@ximbiot.com>
102888         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
102889         From Larry Jones <lawrence.jones@ugs.com>.
102891 2005-09-02  Simon Josefsson  <jas@extundo.com>
102893         * modules/socklen: New file.
102895 2005-09-02  Simon Josefsson  <jas@extundo.com>
102897         * modules/havelib: New module.
102899         * modules/gettext, modules/iconv, modules/lock, modules/readline:
102900         Use havelib.
102902 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
102904         Check for arithmetic overflow when calculating sizes, to prevent
102905         some buffer-overflow issues.  These patches are conservative, in the
102906         sense that when I couldn't determine whether an overflow was possible,
102907         I inserted a run-time check.
102908         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
102909         macros.
102910         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
102911         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
102912         (re_xnrealloc, re_x2nrealloc): New inline functions.
102913         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
102914         parse_bracket_exp):
102915         (build_equiv_class, build_charclass): Check for arithmetic overflow
102916         in size expression calculations.
102917         * lib/regex_internal.c (re_string_realloc_buffers):
102918         (build_wcs_upper_buffer, re_node_set_add_intersect):
102919         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
102920         (re_dfa_add_node, register_state): Likewise.
102921         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
102922         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
102923         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
102924         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
102926 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
102928         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
102929         m4/ulonglong.m4.  Problem reported by Martin Lambers.
102931 2005-09-02  Bruno Haible  <bruno@clisp.org>
102933         Support for lib vs. lib64 distinction on biarch platforms.
102934         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
102935         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
102936         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
102938 2005-09-02  Bruno Haible  <bruno@clisp.org>
102940         * gnulib-tool (import): In the other first-use case, provide defaults
102941         as well.
102943 2005-09-02  Bruno Haible  <bruno@clisp.org>
102945         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
102946         patches not yet found in the latest gettext release.
102948 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
102950         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
102951         to avoid a collision with bits/local_lim.h in glibc.
102952         All uses changed.  Problem reported by Dmitry V. Levin in
102953         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
102955         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
102956         bugs in int versus size_t comparisons.
102957         (re_string_context_at): Fix bug where the code assumed that
102958         Idx is signed.
102960         Use bool where appropriate.
102961         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
102962         All callers changed.
102963         (calc_eclosure_iter): Likewise, for ROOT arg.
102964         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
102965         (build_charclass_op): Likewise, for NON_MATCH arg.
102966         * lib/regex_internal.c (re_string_allocate, re_string_construct):
102967         (re_string_construct_common): Likewise, for ICASE arg.
102968         * lib/regexec.c (re_search_2_stub, re_search_stub):
102969         Likewise, for RET_LEN arg.
102970         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
102971         (set_regs): Likewise, for FL_BACKTRACK arg.
102972         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
102973         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
102974         (calc_eclosure_iter, parse_bracket_exp):
102975         Use bool for internal variables that are booleans.
102976         * lib/regexec.c (re_search_internal, check_matching,
102977         proceed_next_node):
102978         (set_regs, build_sifted_states, sift_states_bkref):
102979         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
102980         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
102981         (find_collation_sequence_value):
102982         Likewise.
102983         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
102984         (re_node_set_compare):
102985         Return bool, not int. All callers changed.
102986         * lib/regexec.c (check_halt_node_context, check_dst_limits):
102987         (build_trtable, check_node_accept): Likewise.
102988         * lib/regex_internal.h: Include stdbool.h.
102990         Fix bugs uncovered when converting to bool.
102991         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
102992         failure instead of charging ahead blindly.
102993         * lib/regex_internal.c (register_state): Likewise.
102994         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
102995         for freeing internal storage.
102996         (group_nodes_into_DFA_states): Use unsigned int, not int, for
102997         bitset pieces used as boolean, to avoid undefined behavior
102998         on hosts that do int overflow checking.
103000 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
103002         * config/srclist.txt: Add glibc bugs 1285-1287.
103004 2005-09-01  Jim Meyering  <jim@meyering.net>
103006         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
103007         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
103008         Require gl_STAT_MACROS, too.
103010 2005-09-01  Bruno Haible  <bruno@clisp.org>
103012         * gnulib-tool (import): In the first-use case, provide defaults.
103014 2005-09-01  Bruno Haible  <bruno@clisp.org>
103016         * gnulib-tool (func_import): Remove the .tmp files.
103018 2005-09-01  Bruno Haible  <bruno@clisp.org>
103020         * gnulib-tool (func_import): Fix handling of symbolic links.
103022 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
103024         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
103025         old glibc regex code mishandles strings longer than 2**31 bytes.
103026         This patch fixes this when the regex code is used in gnulib
103027         (i.e., outside glibc).
103029         This patch should not affect the use of the regex code inside
103030         glibc.  No doubt this problem also needs to be handled for glibc
103031         as well, but the result will be an incompatible change to the
103032         glibc ABI, and the old ABI will have to be supported too.  That
103033         can be the subject for another patch.
103035         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
103036         governing whether the rest of this patch is active.  By default,
103037         the macro is disabled and the patch has no effect.
103038         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
103039         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
103040         (struct re_pattern_buffer, re_search, re_search_2, re_match):
103041         (re_match_2, re_set_registers): Use the new types.
103042         * lib/regex_internal.h (Idx, re_hashval_t): New types.
103043         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
103044         New macros.
103045         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
103046         (re_string_context_at, bin_tree_t, re_dfastate_t):
103047         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
103048         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
103049         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
103050         (re_string_char_size_at, re_string_wchar_at):
103051         (re_string_elem_size_at):
103052         Use the new types and macros to port to 64-bit hosts.
103053         Use unsigned types for internal values, so that the code
103054         mostly works even for arrays larger than SSIZE_MAX.
103055         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
103056         (search_duplicated_node, calc_eclosure_iter, fetch_number):
103057         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
103058         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
103059         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
103060         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
103061         (calc_inveclosure, parse_dup_op, build_range_exp):
103062         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
103063         (fetch_number, create_token_tree, mark_opt_subexp):
103064         Likewise.
103065         * lib/regex_internal.c (re_string_construct_common,
103066         create_ci_newstate):
103067         (create_cd_newstate, re_string_allocate, re_string_construct):
103068         (re_string_realloc_buffers, build_wcs_upper_buffer):
103069         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
103070         (re_string_reconstruct, re_string_peek_byte_case):
103071         (re_string_fetch_byte_case, re_string_context_at):
103072         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
103073         (re_node_set_init_copy, re_node_set_add_intersect):
103074         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
103075         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
103076         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
103077         (re_acquire_state, re_acquire_state_context, register_state):
103078         Likewise.
103079         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
103080         search_cur_bkref_entry):
103081         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
103082         (re_search_internal, re_search_2_stub, re_search_stub)
103083         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
103084         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
103085         (update_cur_sifted_state, check_dst_limits):
103086         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
103087         (check_subexp_limits, sift_states_bkref, merge_state_array):
103088         (check_subexp_matching_top, get_subexp, get_subexp_sub):
103089         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
103090         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
103091         (expand_bkref_cache, check_node_accept_bytes):
103092         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
103093         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
103094         (acquire_init_state_context, check_halt_node_context):
103095         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
103096         (sift_states_backward, clean_state_log_if_needed):
103097         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
103098         (find_recover_state, transit_state_sb, transit_state_mb):
103099         (transit_state_bkref, build_trtable, match_ctx_clean):
103100         Likewise.
103101         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
103102         to work around an assumption that REG_MISSING is negative.
103104         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
103105         (seek_collating_symbol_entry) [defined _LIBC]:
103106         (lookup_collation_sequence_value) [defined _LIBC]:
103107         (build_range_exp, build_collating_symbol) [defined _LIBC]:
103108         Use prototypes rather than old-style function definitions.
103109         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
103110         (transit_state_sb) [0]:
103111         (find_collation_sequence_value) [defined _LIBC]: Likewise.
103113         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
103114         rm_eo.
103116         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
103117         (optimize_subexps, lower_subexp):
103118         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
103119         since the signed shift might overflow.  Use 1u<<31 instead.
103120         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
103121         Likewise.
103122         * lib/regexec.c (check_dst_limits_calc_pos_1,
103123         check_subexp_matching_top): Likewise.
103125         * lib/regcomp.c (optimize_subexps, lower_subexp):
103126         Use CHAR_BIT rather than 8, for clarity.
103127         * lib/regexec.c (check_dst_limits_calc_pos_1):
103128         (check_subexp_matching_top): Likewise.
103129         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
103130         have to worry about portability issues when shifting it left.
103131         Remove no-longer-needed test for table_size > 0.
103132         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
103133         in a word, as the resulting behavior is undefined.
103134         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
103135         in one case, a <= should have been an <, and in another case the
103136         whole test was missing.
103137         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
103138         the standard name CHAR_BIT.
103139         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
103140         this is not true on one's complement and signed-magnitude hosts.
103142         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
103143         next_last_offset.
103144         (struct re_dfa_t): Remove unused member states_alloc.
103145         * lib/regcomp.c (init_dfa): Don't initialize unused members.
103147 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
103149         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
103150         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
103151         and large-file glibc and in 32-bit large-file Solaris.
103153 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
103155         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
103156         lengths fit in regoff_t; this isn't true if regoff_t is the same
103157         width as size_t.
103158         * lib/regex.c (re_search_internal): 5th arg is LAST_START
103159         (= START + RANGE) instead of RANGE.  This avoids overflow
103160         problems when regoff_t is the same width as size_t.
103161         All callers changed.
103162         (re_search_2_stub): Check for overflow when adding the
103163         sizes of the two strings.
103164         (re_search_stub): Check for overflow when adding START
103165         to RANGE; if it occurs, substitute the extreme value.
103167 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
103169         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
103171 2005-08-31  Jim Meyering  <jim@meyering.net>
103173         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
103174         a pointer-to-const.
103175         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
103176         (register_state): Likewise.
103177         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
103178         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
103179         (group_nodes_into_DFAstates): Likewise.
103181 2005-08-31  Jim Meyering  <jim@meyering.net>
103183         * check-module: Add a FIXME comment.
103185 2005-08-31  Eric Blake  <ebb9@byu.net>
103187         * modules/unistd-safer (Files): Add unistd--.h.
103188         * modules/stdio-safer (Files): Add stdio--.h.
103190 2005-08-31  Derek Price  <derek@ximbiot.com>
103192         * lib/getdelim.c (getdelim): Return EOF on EOF.
103193         Reported by Larry Jones <lawrence.jones@ugs.com>.
103195 2005-08-31  Bruno Haible  <bruno@clisp.org>
103197         Avoid unnecessary diffs in the generated lib/Makefile.am.
103198         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
103199         the generated files.
103200         (func_import): Don't set cmd.
103202 2005-08-31  Bruno Haible  <bruno@clisp.org>
103204         * lib/strstr.c: Include <stddef.h>, for NULL.
103205         * lib/strcasestr.c: Likewise.
103206         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
103208 2005-08-31  Bruno Haible  <bruno@clisp.org>
103210         * gnulib-tool: New option --macro-prefix.
103211         (func_import): Use macro_prefix.
103212         (import): Handle option --macro-prefix.
103214 2005-08-31  Bruno Haible  <bruno@clisp.org>
103216         * gnulib-tool (import): Rename most ac_* variables to cached_*.
103217         Also use new variables cached_lgpl, cached_libtool.
103219 2005-08-31  Bruno Haible  <bruno@clisp.org>
103221         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
103222         always instantiating them.
103224 2005-08-31  Bruno Haible  <bruno@clisp.org>
103226         * gnulib-tool (func_import): Read the previous cached settings
103227         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
103228         earlier added by gnulib but are now dropped. Warn when a gnulib file
103229         overwrites a non-gnulib file.
103231 2005-08-31  Bruno Haible  <bruno@clisp.org>
103233         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
103234         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
103235         projects that don't keep autogenerated files in CVS. Put into
103236         actioncmd only the specified modules, not the transitive closure.
103238 2005-08-31  Bruno Haible  <bruno@clisp.org>
103240         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
103241         Create directories that shall be filled.
103242         (import): Don't look for gl_* macros in configure.ac. Recurse across
103243         all directories containing a gnulib-cache.m4 files, if meaningful.
103245 2005-08-31  Bruno Haible  <bruno@clisp.org>
103247         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
103248         (import): Set seen_libtool when we see gl_LIBTOOL.
103250 2005-08-31  Bruno Haible  <bruno@clisp.org>
103252         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
103253         declaration macro definitions from generated gnulib.m4.
103255 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
103257         * lib/iconvme.h: Add prototype for iconv_alloc.
103259 2005-08-29  Simon Josefsson  <jas@extundo.com>
103261         * lib/iconvme.c: Fix errno.
103263 2005-08-29  Bruno Haible  <bruno@clisp.org>
103265         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
103266         that it works when the directory contains spaces.
103268 2005-08-29  Bruno Haible  <bruno@clisp.org>
103270         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
103272 2005-08-29  Bruno Haible  <bruno@clisp.org>
103274         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
103275         Emit more advice.
103277 2005-08-29  Bruno Haible  <bruno@clisp.org>
103278         and Stepan Kasal  <kasal@ucw.cz>
103280         * check-module: If more parameters are given, check each of them
103281         separately; add more exceptions, as noted by Jim Meyering.
103282         (check_module): New procedure.
103283         (%exempt_header): Now contains all exceptions.
103285 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
103287         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
103289 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
103291         * lib/iconvme.c: Split iconv_string into iconv_alloc.
103293 2005-08-28  Bruno Haible  <bruno@clisp.org>
103295         * m4/gnulib-tool.m4: New file.
103297 2005-08-27  Jim Meyering  <jim@meyering.net>
103299         * modules/unistd-safer (Files): Add pipe-safer.c.
103300         * modules/fcntl-safer (Files): Add creat-safer.c.
103302 2005-08-27  Jim Meyering  <jim@meyering.net>
103304         * m4/stdlib-safer.m4: New file.  From coreutils.
103305         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
103306         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
103307         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
103308         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
103309         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
103311 2005-08-27  Jim Meyering  <jim@meyering.net>
103313         * lib/fopen-safer.c: Merge minor changes from coreutils.
103314         * lib/dup-safer.c: Likewise.
103315         * lib/fd-safer.c: Likewise.
103317         Merge from coreutils.
103318         * lib/stdio--.h: New file.
103319         * lib/stdlib--.h: New file.
103320         * lib/mkstemp-safer.c: New file.
103322         GNU tar needs these.
103323         * lib/pipe-safer.c: New file.
103324         * lib/creat-safer.c: New file.
103325         * lib/fcntl--.h (creat): Define to creat_safer.
103326         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
103327         * lib/unistd--.h (pipe): Define to pipe_safer.
103328         * lib/unistd-safer.h: Declare pipe_safer.
103330 2005-08-26  Simon Josefsson  <jas@extundo.com>
103332         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
103333         Haible <bruno@clisp.org>.
103335 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
103337         * lib/regex_internal.h: Remove all references to
103338         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
103339         or better.
103340         (bitset_not, bitset_merge, bitset_not_merge):
103341         (bitset_mask, re_string_allocate, re_string_construct):
103342         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
103343         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
103344         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
103345         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
103346         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
103347         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
103348         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
103349         (re_acquire_state_context):
103350         Remove unnecessary forward decls.
103351         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
103352         Put __attribute at function definition,
103353         now that the function decl has been removed.
103354         * lib/regex_internal.c (re_string_peek_byte_case):
103355         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
103356         Likewise.
103358 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
103360         * m4/regex.m4: Add AC_PREREQ(2.50).
103361         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
103363 2005-08-25  Simon Josefsson  <jas@extundo.com>
103365         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
103366         __fsetlocking.
103368 2005-08-25  Simon Josefsson  <jas@extundo.com>
103370         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
103371         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
103372         GLIBC specific code.
103374 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
103376         Make regex safe for g++.  This fixes one real bug (an "err"
103377         that should have been "*err").  g++ problem reported by
103378         Sam Steingold.
103379         * lib/regex_internal.h (re_calloc): New macro, consistent with
103380         re_malloc etc.  All callers of calloc changed to use re_calloc.
103381         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
103382         not int.  All callers changed.
103383         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
103384         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
103385         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
103386         (find_recover_state): Change "err" to "*err"; this fixes what
103387         appears to be a real bug.
103388         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
103389         versus int.
103391 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
103393         * modules/regex (Depends-on): Add malloc, since the code
103394         assumes that !malloc(0) means failure.
103396 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
103398         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
103400         alloca modernization/simplification for regex.
103401         * lib/regex.c: Remove portability cruft for alloca.  This no longer
103402         needs to be at the start of the file, and can be moved into
103403         regex_internal.h and simplified.
103404         * lib/regex_internal.h: Include <alloca.h>.
103405         (__libc_use_alloca) [!defined _LIBC]: New macro.
103406         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
103407         now works outside glibc.
103409 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
103411         * config/srclist.txt: Add glibc bugs 1241, 1245.
103413 2005-08-25  Jim Meyering  <jim@meyering.net>
103415         * lib/open-safer.c: Include <config.h>.
103416         Otherwise, we'd lose LARGEFILE support in any file using
103417         e.g. "fcntl--.h"
103419 2005-08-25  Bruno Haible  <bruno@clisp.org>
103421         * m4/minmax.m4: Require autoconf 2.52.
103422         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
103423         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
103424         alternatives of translit over the alphabet.
103425         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
103427 2005-08-24  Simon Josefsson  <jas@extundo.com>
103429         * tests/test-getpass.c: New file.
103431 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
103433         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
103434         for GNU regex features.
103436 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
103438         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
103439         * lib/regex.h (regerror): Likewise.
103441         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
103442         requires this.  (The code never needed it.)
103444         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
103445         All uses of recently-renamed identifiers changed to use the new,
103446         POSIX-compliant names.  The code will build and run just fine
103447         without these changes, but it's better to eat our own dog food
103448         and use the standard-conforming names.
103450         * lib/regex.h: Fix a multitude of POSIX name space violations.
103451         These changes have an effect only for programs that define
103452         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
103453         do not change anything for programs compiled in the normal way.
103454         Also, there is no effect on the ABI.
103456         (_REGEX_SOURCE): New macro.
103457         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
103458         defined and _GNU_SOURCE is not; this fixes a name space violation.
103460         Rename the following macros to obey POSIX requirements.
103461         The old names are still visible as macros if _REGEX_SOURCE is defined.
103462         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
103463         RE_BACKSLASH_ESCAPE_IN_LISTS.
103464         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
103465         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
103466         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
103467         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
103468         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
103469         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
103470         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
103471         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
103472         (REG_INTERVALS): renamed from RE_INTERVALS.
103473         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
103474         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
103475         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
103476         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
103477         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
103478         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
103479         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
103480         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
103481         RE_UNMATCHED_RIGHT_PAREN_ORD.
103482         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
103483         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
103484         (REG_DEBUG): renamed from RE_DEBUG.
103485         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
103486         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
103487         unusual, since we can't clash with the POSIX REG_ICASE.
103488         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
103489         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
103490         (REG_NO_SUB): renamed from RE_NO_SUB.
103491         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
103492         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
103493         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
103494         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
103495         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
103496         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
103497         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
103498         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
103499         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
103500         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
103501         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
103502         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
103503         RE_SYNTAX_POSIX_MINIMAL_BASIC.
103504         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
103505         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
103506         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
103507         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
103508         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
103509         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
103510         (REG_FIXED): Renamed from REGS_FIXED.
103511         (REG_NREGS): Renamed from RE_NREGS.
103513         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
103514         of other REG_* macros, since POSIX says the user is allowed to
103515         #undef these macros selectively.
103517         (reg_errcode_t): Update comment stating what other tables need
103518         to be consistent.
103520         Rename the following enum values to obey POSIX requirements.
103521         The old names are still visible as macros.
103522         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
103523         is not defined, since GNU is supposed to be a superset of POSIX as
103524         much as possible, and since we want reg_errcode_t to be a signed
103525         type for implementation consistency.
103526         (_REG_NOERROR): Renamed from REG_NOERROR.
103527         (_REG_NOMATCH): Renamed from REG_NOMATCH.
103528         (_REG_BADPAT): Renamed from REG_BADPAT.
103529         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
103530         (_REG_ECTYPE): Renamed from REG_ECTYPE.
103531         (_REG_EESCAPE): Renamed from REG_EESCAPE.
103532         (_REG_ESUBREG): Renamed from REG_ESUBREG.
103533         (_REG_EBRACK): Renamed from REG_EBRACK.
103534         (_REG_EPAREN): Renamed from REG_EPAREN.
103535         (_REG_EBRACE): Renamed from REG_EBRACE.
103536         (_REG_BADBR): Renamed from REG_BADBR.
103537         (_REG_ERANGE): Renamed from REG_ERANGE.
103538         (_REG_ESPACE): Renamed from REG_ESPACE.
103539         (_REG_BADRPT): Renamed from REG_BADRPT.
103540         (_REG_EEND): Renamed from REG_EEND.
103541         (_REG_ESIZE): Renamed from REG_ESIZE.
103542         (_REG_ERPAREN): Renamed from REG_ERPAREN.
103543         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
103544         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
103545         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
103546         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
103548         (_REG_RE_NAME, _REG_RM_NAME): New macros.
103549         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
103550         changed.  But support the old name if the new one is not defined
103551         and if _REGEX_SOURCE.
103553         Change the following member names in struct re_pattern_buffer.
103554         The old names are still supported if !_REGEX_SOURCE.
103555         The new names are always supported, regardless of _REGEX_SOURCE.
103556         (re_buffer): Renamed from buffer.
103557         (re_allocated): Renamed from allocated.
103558         (re_used): Renamed from used.
103559         (re_syntax): Renamed from syntax.
103560         (re_fastmap): Renamed from fastmap.
103561         (re_translate): Renamed from translate.
103562         (re_can_be_null): Renamed from can_be_null.
103563         (re_regs_allocated): Renamed from regs_allocated.
103564         (re_fastmap_accurate): Renamed from fastmap_accurate.
103565         (re_no_sub): Renamed from no_sub.
103566         (re_not_bol): Renamed from not_bol.
103567         (re_not_eol): Renamed from not_eol.
103568         (re_newline_anchor): Renamed from newline_anchor.
103570         Change the following member names in struct re_registers.
103571         The old names are still supported if !_REGEX_SOURCE.
103572         The new names are always supported, regardless of _REGEX_SOURCE.
103573         (rm_num_regs): Renamed from num_regs.
103574         (rm_start): Renamed from start.
103575         (rm_end): Renamed from end.
103577         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
103578         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
103579         Prepend __ to parameter names.
103581         Undo yesterday's changes.
103583 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
103585         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
103586         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
103587         lib/regex.c.
103589 2005-08-24  Jim Meyering  <jim@meyering.net>
103591         Sync from coreutils.
103592         * m4/fcntl-safer.m4: New file.
103594         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
103595         and object files for this module.
103597 2005-08-24  Jim Meyering  <jim@meyering.net>
103599         Sync from coreutils.
103600         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
103602 2005-08-24  Jim Meyering  <jim@meyering.net>
103604         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
103605         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
103607 2005-08-24  Jim Meyering  <jim@meyering.net>
103609         * modules/fcntl-safer: New module.
103610         * modules/fts (Depends-on): Add fcntl-safer.
103611         * MODULES.html.sh (File descriptor based Input/Output):
103612         Add fcntl-safer.
103614 2005-08-24  Bruno Haible  <bruno@clisp.org>
103616         Support for unit test modules.
103617         * modules/README: Mention tests modules.
103618         * modules/TEMPLATE-TESTS: New file.
103619         * gnulib-tool: New options --extract-tests-module, --with-tests and
103620         --tests-base (unused for the moment).
103621         (testsbase, inctests): New variables.
103622         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
103623         (func_verify_module): Exclude TEMPLATE-TESTS.
103624         (func_verify_nontests_module, func_verify_tests_module): New functions.
103625         (func_get_dependencies): Add implicit dependency for tests modules.
103626         (func_get_tests_module): New function.
103627         (func_modules_transitive_closure): When --with-tests was specified,
103628         include the unit tests as well, unless explicitly avoided.
103629         (func_emit_lib_Makefile_am): Ignore the tests modules here.
103630         (func_emit_tests_Makefile_am): New function.
103631         (func_create_testdir): When --with-tests was specified, emit a
103632         tests/ directory.
103633         * MODULES.html.sh (Future developments): Update.
103635 2005-08-24  Bruno Haible  <bruno@clisp.org>
103637         * modules/tls-tests: New file.
103638         * tests/test-tls.c: New file, from GNU gettext.
103640 2005-08-24  Bruno Haible  <bruno@clisp.org>
103642         * modules/lock-tests: New file.
103643         * tests/test-lock.c: New file, from GNU gettext.
103645 2005-08-24  Bruno Haible  <bruno@clisp.org>
103647         * lib/lock.h: Add multiple inclusion guard.
103648         * lib/tls.h: Add multiple inclusion guard.
103650 2005-08-24  Bruno Haible  <bruno@clisp.org>
103652         * gnulib-tool: Add support for the --aux-dir option to
103653         --create-testdir, --create-megatestdir, --test, --megatest.
103654         (func_create_testdir, func_create_megatestdir): Optionally emit a
103655         AC_CONFIG_AUX_DIR directive.
103656         (create-testdir, create-megatestdir, test, megatest): Provide a
103657         default value for $auxdir.
103659 2005-08-24  Bruno Haible  <bruno@clisp.org>
103661         * gnulib-tool (import): Use compound statement instead of subshell
103662         where possible.
103664 2005-08-24  Bruno Haible  <bruno@clisp.org>
103666         * gnulib-tool (import): Change --aux-dir default to "build-aux".
103668 2005-08-24  Bruno Haible  <bruno@clisp.org>
103670         * gnulib-tool (func_version): Update.
103672 2005-08-24  Bruno Haible  <bruno@clisp.org>
103674         * gnulib-tool (func_import, func_create_testdir,
103675         func_create_megatestdir): Quote all autoconf macro arguments.
103677 2005-08-24  Bruno Haible  <bruno@clisp.org>
103679         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
103680         option --force, because --force causes the aclocal.m4 of each
103681         subdirectory to be newer than the corresponding config.h.in.
103683 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
103685         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
103686         All contents moved to gl_REGEX.
103687         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
103688         assume that it does.
103690 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
103692         * lib/regex.h (REG_NOSYS)
103693         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
103694         Define, since POSIX requires it as of 2001.
103695         (_REG_ENOSYS)
103696         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
103697         New private symbol, used to keep the enum signed in all cases.
103698         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
103699         Youngman in
103700         <http://lists.gnu.org/r/bug-gnulib/2005-07/msg00132.html>.
103702         * lib/regex_internal.c (re_string_skip_chars, register_state):
103703         (calc_state_hash):
103704         Remove forward decls; no longer needed now that we use prototypes.
103705         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
103706         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
103707         (clean_state_log_if_needed): Likewise.
103709 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
103711         * config/srclist.txt: Add glibc bugs 1231-1233.
103713 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
103715         Fix problems reported by Sam Steingold in
103716         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00007.html>.
103717         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
103718         assumed that reg_errcode_t is a signed type, which is not
103719         necessarily true if _XOPEN_SOURCE is not defined.
103720         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
103721         since some compilers warn about it otherwise.
103723 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
103725         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
103726         (init_word_char, create_initial_state, duplicate_node_closure):
103727         (fetch_token, peek_token_bracket, build_range_exp):
103728         (build_collating_symbol): Remove forward decls; no longer needed
103729         now that we use prototypes.
103731         * lib/regcomp.c:
103732         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
103733         (re_compile_fastmap_iter, regcomp, regerror, regfree):
103734         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
103735         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
103736         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
103737         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
103738         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
103739         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
103740         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
103741         (build_range_exp, build_collating_symbol, parse_bracket_exp):
103742         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
103743         (build_charclass, build_charclass_op, fetch_number, create_tree):
103744         (create_token_tree, mark_opt_subexp, duplicate_tree):
103745         Use prototypes rather than old-style definitions.
103747         * lib/regex_internal.c:
103748         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
103749         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
103750         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
103751         (re_string_reconstruct, re_string_peek_byte_case):
103752         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
103753         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
103754         (re_node_set_init_copy, re_node_set_add_intersect):
103755         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
103756         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
103757         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
103758         (re_acquire_state, re_acquire_state_context, register_state):
103759         (create_ci_newstate, create_cd_newstate, free_state):
103760         Likewise.
103761         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
103762         re_search_2):
103763         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
103764         (re_search_internal, prune_impossible_nodes):
103765         (acquire_init_state_context, check_matching, static):
103766         (check_halt_node_context, check_halt_state_context, proceed_next_node):
103767         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
103768         (update_regs, sift_states_backward, build_sifted_states):
103769         (clean_state_log_if_needed, merge_state_array):
103770         (update_cur_sifted_state, add_epsilon_src_nodes):
103771         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
103772         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
103773         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
103774         (find_recover_state, check_subexp_matching_top, transit_state_mb):
103775         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
103776         (check_arrival, check_arrival_add_next_nodes):
103777         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
103778         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
103779         (check_node_accept_bytes, check_node_accept, extend_buffers):
103780         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
103781         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
103782         (sift_ctx_init):
103783         Likewise.
103785         * lib/regex_internal.h:
103786         (re_string_allocate, re_string_construct, re_string_reconstruct):
103787         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
103788         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
103789         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
103790         (re_string_context_at, re_string_peek_byte_case):
103791         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
103792         is defined, since we now use prototypes always.
103794         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
103795         C89 or better.  All uses removed.
103797 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
103799         * config/srclist.txt: Add glibc bugs 1220-1227.
103801 2005-08-20  Jim Meyering  <jim@meyering.net>
103803         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
103804         of unused local, dfa.
103806 2005-08-20  Bruno Haible  <bruno@clisp.org>
103808         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
103810 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
103812         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
103813         (re_node_set_insert_last, re_dfa_add_node):
103814         Rename local variables to avoid GCC shadowing warnings.
103816 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
103818         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
103819         [defined lint]: Suppress bogus uninitialized-variable warnings.
103821         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
103822         and let the caller return REG_ESPACE if out of space.  This
103823         removes an uninitialied-variable warning with GCC 4.0.1, and also
103824         avoids taking the address of a local variable.  All callers
103825         changed.
103827 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
103829         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
103830         $LIBCSRC/posix/regexec.c.
103831         Add glibc bug 1217 for regcomp.c.
103833 2005-08-19  Jim Meyering  <jim@meyering.net>
103835         * lib/regexec.c (proceed_next_node): Redo local variables to
103836         avoid GCC shadowing warnings.
103838 2005-08-18  Bruno Haible  <bruno@clisp.org>
103840         * lib/strstr.c (strstr): Fix return value in multibyte case.
103841         * lib/strcasestr.c (strcasestr): Likewise.
103843 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
103845         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
103847 2005-08-17  Jim Meyering  <jim@meyering.net>
103849         Make the %s format (seconds since the epoch) work for a negative
103850         number and when used with a zero-padded field width, e.g. %015s.
103852         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
103853         label so that it precedes the code to set `digits'.  Otherwise,
103854         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
103855         print `00-22'.  Now, it prints `-0022', as it should.
103857 2005-08-17  Bruno Haible  <bruno@clisp.org>
103859         * modules/strstr (Files): Add m4/mbrtowc.m4.
103860         (Depends-on): Add mbuiter.
103862 2005-08-17  Bruno Haible  <bruno@clisp.org>
103864         * modules/strcasestr: New file.
103865         * MODULES.html.sh (String handling, based on ANSI C 89): Add
103866         strcasestr.
103868 2005-08-17  Bruno Haible  <bruno@clisp.org>
103870         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
103872 2005-08-17  Bruno Haible  <bruno@clisp.org>
103874         * modules/mbuiter: New file.
103875         * MODULES.html.sh (Extended multibyte and wide character utilities):
103876         Add mbuiter.
103878 2005-08-17  Bruno Haible  <bruno@clisp.org>
103880         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
103881         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
103883 2005-08-17  Bruno Haible  <bruno@clisp.org>
103885         * m4/strcasestr.m4: New file.
103887 2005-08-17  Bruno Haible  <bruno@clisp.org>
103889         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
103890         * lib/strstr.c: Completely rewritten, with multibyte locale support.
103892 2005-08-17  Bruno Haible  <bruno@clisp.org>
103894         * lib/strcasestr.h: New file.
103895         * lib/strcasestr.c: New file.
103897 2005-08-17  Bruno Haible  <bruno@clisp.org>
103899         * lib/strcasecmp.c: Use mbuiter.h.
103901 2005-08-17  Bruno Haible  <bruno@clisp.org>
103903         * lib/mbuiter.h: New file.
103905 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
103907         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
103908         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
103909         and gl_GETOPT are both invoked via different paths (as happens
103910         with GNU tar CVS because it uses both argp and getopt), the former
103911         wins.
103913 2005-08-16  Bruno Haible  <bruno@clisp.org>
103915         * modules/tls: New file.
103916         * MODULES.html.sh (Multithreading): Add tls.
103918 2005-08-16  Bruno Haible  <bruno@clisp.org>
103920         * modules/strnlen1: New file.
103921         * MODULES.html.sh (String handling): Add strnlen1.
103923 2005-08-16  Bruno Haible  <bruno@clisp.org>
103925         * modules/strcase (Files): Add m4/mbrtowc.m4.
103926         (Depends-on): Add strnlen1, mbchar.
103928 2005-08-16  Bruno Haible  <bruno@clisp.org>
103930         * modules/mbiter: New file.
103931         * MODULES.html.sh (Extended multibyte and wide character utilities):
103932         Add mbiter.
103934 2005-08-16  Bruno Haible  <bruno@clisp.org>
103936         * modules/mbfile: New file.
103937         * MODULES.html.sh (Extended multibyte and wide character utilities):
103938         Add mbfile.
103940 2005-08-16  Bruno Haible  <bruno@clisp.org>
103942         * modules/mbchar: New file.
103943         * MODULES.html.sh (Extended multibyte and wide character utilities):
103944         New section.
103946 2005-08-16  Bruno Haible  <bruno@clisp.org>
103948         * m4/tls.m4: New file, from GNU gettext.
103950 2005-08-16  Bruno Haible  <bruno@clisp.org>
103952         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
103953         always.
103954         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
103956 2005-08-16  Bruno Haible  <bruno@clisp.org>
103958         * m4/mbiter.m4: New file.
103960 2005-08-16  Bruno Haible  <bruno@clisp.org>
103962         * m4/mbfile.m4: New file.
103964 2005-08-16  Bruno Haible  <bruno@clisp.org>
103966         * m4/mbchar.m4: New file.
103968 2005-08-16  Bruno Haible  <bruno@clisp.org>
103970         * lib/tls.h: New file, from GNU gettext.
103971         * lib/tls.c: New file, from GNU gettext.
103973 2005-08-16  Bruno Haible  <bruno@clisp.org>
103975         * lib/strnlen1.h: New file.
103976         * lib/strnlen1.c: New file.
103978 2005-08-16  Bruno Haible  <bruno@clisp.org>
103980         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
103981         (mbi_init): Update.
103982         (mbi_avail, mbi_advance): Let the iteration end before the terminating
103983         NUL byte, not after it.
103985 2005-08-16  Bruno Haible  <bruno@clisp.org>
103987         * lib/strcase.h (strcasecmp): Add note in comments.
103988         * lib/strncasecmp.c: Use code from strcasecmp.c.
103989         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
103990         (strcasecmp): Work correctly in multibyte locales.
103992 2005-08-16  Bruno Haible  <bruno@clisp.org>
103994         * lib/mbiter.h: New file.
103996 2005-08-16  Bruno Haible  <bruno@clisp.org>
103998         * lib/mbfile.h: New file.
104000 2005-08-16  Bruno Haible  <bruno@clisp.org>
104002         * lib/mbchar.h: New file.
104003         * lib/mbchar.c: New file.
104005 2005-08-16  Bruno Haible  <bruno@clisp.org>
104007         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
104008         the valid ones. Makes the comparison operations transitive:
104009         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
104010         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
104012 2005-08-15  Simon Josefsson  <jas@extundo.com>
104014         * modules/ssize_t (License): Change to 'unlimited'.
104016         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
104018 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
104020         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
104021         Add comments for each pending glibc patch.
104023 2005-08-15  Bruno Haible  <bruno@clisp.org>
104025         * lib/regex.h (__restrict_arr): Don't define to __restrict if
104026         __cplusplus is defined.
104028 2005-08-14  Jim Meyering  <jim@meyering.net>
104030         Sync from coreutils.
104032         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
104033         Use the hash-table-based cycle-detection code not just when
104034         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
104035         Reported by James Youngman in
104036         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00011.html>.
104037         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
104038         FTS_TIGHT_CYCLE_CHECK.
104039         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
104040         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
104041         once again.
104042         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
104043         * lib/fts.c (fd_safer): Remove decl.
104044         Include fcntl--.h rather than unistd-safer.h
104045         (fts_safe_changedir): Don't call fd_safer; no longer needed
104046         now that we include fcntl--.h.
104048 2005-08-12  Simon Josefsson  <jas@extundo.com>
104050         * modules/getndelim2: Use ssize_t module.
104051         * modules/getnline: Likewise.
104052         * modules/safe-read: Likewise.
104053         * modules/xreadlink: Likewise.
104055         * modules/ssize_t: New file.
104057 2005-08-12  Simon Josefsson  <jas@extundo.com>
104059         * m4/readline.m4: Look for termcap, curses or ncurses if required.
104061 2005-08-12  Simon Josefsson  <jas@extundo.com>
104063         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
104064         ssize_t.
104066 2005-08-12  Simon Josefsson  <jas@extundo.com>
104068         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
104069         readline, getdelim and check_version.
104070         (Support for systems lacking ISO C 99: Sizes of integer types):
104071         Add size_max.
104073 2005-08-12  Bruno Haible  <bruno@clisp.org>
104075         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
104077 2005-08-11  Simon Josefsson  <jas@extundo.com>
104079         * modules/readline: New file.
104081         * modules/strnlen (Files): Add strnlen.h.
104083 2005-08-11  Simon Josefsson  <jas@extundo.com>
104085         * m4/readline.m4: New file.
104087 2005-08-11  Simon Josefsson  <jas@extundo.com>
104089         * lib/readline.h, readline.c: New file.
104091 2005-08-11  Simon Josefsson  <jas@extundo.com>
104093         * doc/gnulib.texi (Initial import, Finishing touches): Mention
104094         gl_AVOID.
104096 2005-08-11  Bruno Haible  <bruno@clisp.org>
104098         * lib/strnlen.h (strnlen): Change parameter name to match comment.
104100 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
104102         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
104104 2005-08-10  Simon Josefsson  <jas@extundo.com>
104106         * tests/test-iconvme.c: New file.
104108 2005-08-10  Simon Josefsson  <jas@extundo.com>
104110         * m4/strnlen.m4: New file.
104112         * m4/strndup.m4: Don't check for strnlen declaration, done in
104113         strnlen.m4.
104115 2005-08-10  Simon Josefsson  <jas@extundo.com>
104117         * lib/strndup.c: Use strnlen.h.
104119         * lib/strnlen.h: New file.
104121 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
104123         * README: Typos.
104125 2005-08-02  Simon Josefsson  <jas@extundo.com>
104127         * modules/readline: New file.
104129 2005-08-02  Simon Josefsson  <jas@extundo.com>
104131         * modules/getdelim: New file.
104133         * modules/getline: Rewrite, don't use getndelim2.
104135 2005-08-02  Simon Josefsson  <jas@extundo.com>
104137         * m4/getline.m4: Separate out getdelim stuff into separate module.
104139         * m4/getdelim.m4: New file.
104141 2005-08-02  Simon Josefsson  <jas@extundo.com>
104143         * lib/getline.h, getline.c: Rewrite.
104145         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
104147 2005-07-31  Bruno Haible  <bruno@clisp.org>
104149         * lib/lock.h (gl_lock_initializer): New macro.
104150         (gl_lock_define_initialized): Use it.
104151         (gl_rwlock_initializer): New macro.
104152         (gl_rwlock_define_initialized): Use it.
104153         (gl_recursive_lock_initializer): New macro.
104154         (gl_recursive_lock_define_initialized): Use it.
104156 2005-07-30  Karl Berry  <karl@gnu.org>
104158         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
104159         Report from Ben Pfaff, regarding getopt.
104161 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
104163         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
104164         normal way.
104165         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
104166         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
104167         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
104168         (gl_GETOPT): Use the new macros.  Most of the implementation
104169         is moved to the new macros.  This is for programs like Emacs
104170         that don't want all the functionality of gl_GETOPT.
104172 2005-07-26  Bruno Haible  <bruno@clisp.org>
104174         * m4/lock.m4: Update from GNU gettext.
104176 2005-07-26  Bruno Haible  <bruno@clisp.org>
104178         * lib/lock.h: Update from GNU gettext.
104179         * lib/lock.c: Update from GNU gettext.
104181 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
104183         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
104184         obsolescent AC_TRY_RUN.  Include the default includes files, for
104185         'exit'.
104187 2005-07-24  Bruno Haible  <bruno@clisp.org>
104189         * modules/visibility: New file.
104190         * MODULES.html.sh (Misc): Add visibility.
104192 2005-07-24  Bruno Haible  <bruno@clisp.org>
104194         * m4/visibility.m4: New file.
104196 2005-07-24  Bruno Haible  <bruno@clisp.org>
104198         * doc/visibility.texi: New file.
104200 2005-07-22  Bruno Haible  <bruno@clisp.org>
104202         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
104203         $(ALLOCA_H), redundant through BUILT_SOURCES.
104204         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
104205         redundant through BUILT_SOURCES.
104206         * modules/byteswap (Makefile.am): Remove explicit dependency on
104207         $(BYTESWAP_H), redundant through BUILT_SOURCES.
104208         * modules/fnmatch (Makefile.am): Remove explicit dependency on
104209         $(FNMATCH_H), redundant through BUILT_SOURCES.
104210         * modules/getopt (Makefile.am): Remove explicit dependency on
104211         $(GETOPT_H), redundant through BUILT_SOURCES.
104212         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
104213         redundant through BUILT_SOURCES.
104214         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
104215         redundant through BUILT_SOURCES.
104216         * modules/stdbool (Makefile.am): Remove explicit dependency on
104217         $(STDBOOL_H), redundant through BUILT_SOURCES.
104218         * modules/stdint (Makefile.am): Remove explicit dependency on
104219         $(STDINT_H), redundant through BUILT_SOURCES.
104220         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
104221         Remove explicit dependency on $(SYSEXITS_H).
104222         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
104224 2005-07-18  Simon Josefsson  <jas@extundo.com>
104226         * lib/check-version.c (check_version): Accept identical versions too.
104228 2005-07-18  Bruno Haible  <bruno@clisp.org>
104230         * modules/lock: New file.
104231         * MODULES.html.sh (Multithreading): New section.
104233 2005-07-18  Bruno Haible  <bruno@clisp.org>
104235         * m4/lock.m4: New file, from GNU gettext.
104237 2005-07-18  Bruno Haible  <bruno@clisp.org>
104239         * lib/lock.h: New file, from GNU gettext.
104240         * lib/lock.c: New file, from GNU gettext.
104242 2005-07-18  Bruno Haible  <bruno@clisp.org>
104244         * lib/lock.h (gl_once_t): New type.
104245         (gl_once_define, gl_once): New macros.
104246         * lib/lock.c (fresh_once): New variable.
104247         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
104248         functions.
104250 2005-07-16  Simon Josefsson  <jas@extundo.com>
104252         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
104253         workaround, suggested by Bruno.
104255 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
104257         * modules/xalloc (Depends-on): Add xalloc-die.
104258         * modules/xvasprintf (Depends-on): Add xalloc-die.
104260 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
104262         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
104263         with a minor change.
104265 2005-07-15  Bruno Haible  <bruno@clisp.org>
104267         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
104268         When using lib/poll.c, define poll as rpl_poll.
104270 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
104272         * modules/argp (Depends-on): Remove unlocked-io.
104274 2005-07-14  Derek Price  <derek@ximbiot.com>
104276         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
104277         for glob symlink bug.
104279 2005-07-14  Bruno Haible  <bruno@clisp.org>
104281         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
104282         Instead, test for *_unlocked function declarations directly.
104284 2005-07-11  Simon Josefsson  <jas@extundo.com>
104286         * modules/size_max: New file.
104288         * modules/xsize: Depend on size_max module for size_max.m4.
104290 2005-07-11  Simon Josefsson  <jas@extundo.com>
104292         * lib/size_max.h: New file.
104294 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
104296         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
104297         copyright symbol and the year.
104298         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
104299         (version_etc_va): Use parameterized copyright notice.
104300         Reword to conform to the current GNU coding standards.
104302 2005-07-11  Karl Berry  <karl@gnu.org>
104304         * doc/gnulib.texi (Quoting): new node.
104305         (Initial import): more info, from Patrice.
104307 2005-07-11  Bruno Haible  <bruno@clisp.org>
104309         * gnulib-tool (func_usage): Document option --avoid.
104310         (Command line options): Handle --avoid.
104311         (func_acceptable): New function.
104312         (func_modules_transitive_closure): Use it.
104314 2005-07-11  Bruno Haible  <bruno@clisp.org>
104316         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
104317         Reported by Jim Meyering.
104319 2005-07-10  Bruno Haible  <bruno@clisp.org>
104321         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
104322         Needed when size_t is smaller than 'unsigned int'.
104323         Reported by Paul Eggert.
104325 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
104327         * modules/argp (Depends-on): Add unlocked-io
104329 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
104331         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
104332         block of defines.
104334 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
104336         * config/srclist.txt: Comment out regcomp.c, since we have a porting
104337         fix now.
104339 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
104340         and Paul Eggert  <eggert@cs.ucla.edu>
104342         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
104343         in wint_t, not wchar_t.  Remove now-unnecessary cast.
104345 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
104347         * modules/regex (Files): Add lib/regex_internal.c,
104348         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
104349         (Depends-on): Add extensions.
104350         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
104352 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
104354         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
104355         pathconf.
104356         * m4/same.m4 (gl_SAME): Likewise.
104357         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
104359         * m4/regex.m4: Adjust to new libc regex implementation.
104360         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
104361         all the .c and .h parts of (the new) regex.
104362         Quote the m4 stuff better.
104363         Check for RE_ICASE bug of old gnulib.
104364         Check for REG_STARTEND of recent libc.
104365         Rename local variables from jm_* to gl_*.
104366         Quote operand of "test -f".
104367         Say "recent enough" version of libc, not "version 2".
104368         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
104369         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
104370         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
104371         Remove check for btowc, isascii.
104372         Require AM_LANGINFO_CODESET.
104374 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
104376         * lib/regex.c, regex.h: Sync from libc.
104377         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
104378         * lib/regexec.c:
104379         New files, synced from libc, except that regex_internal.h
104380         currently has a small porting fix.
104382 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
104384         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
104385         regex_internal.c, regexec.c.
104386         Add regex_internal.h too, but as a comment, since the libc version
104387         is currently broken in gnulib mode.
104389 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
104391         Support programs like Emacs that use gnulib but not gettext.
104392         * MODULES.html.sh (Internationalization functions): Add gettext-h.
104393         * modules/gettext-h: New file.
104394         * modules/gettext (Files): Remove lib/gettext.h.
104395         (Depends-on): Add gettext-h.
104396         (Makefile.am): Remove lib_SOURCES.
104397         * modules/argmatch, modules/c-stack, modules/closeout:
104398         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
104399         * modules/execute, modules/file-type, modules/getaddrinfo:
104400         * modules/getopt, modules/human, modules/javacomp:
104401         * modules/javaexec, modules/mkdir-p, modules/obstack:
104402         * modules/openat, modules/pagealign_alloc, modules/pipe:
104403         * modules/quotearg, modules/regex, modules/rpmatch:
104404         * modules/unicodeio, modules/userspec, modules/version-etc:
104405         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
104406         * modules/xsetenv:
104407         Depend on gettext-h, not gettext.
104409 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
104411         * gnulib-tool (func_import): Add support for 'public domain' license.
104412         * modules/alloca, modules/atexit, modules/memmove:
104413         Now public domain, not GPL.
104414         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
104415         * modules/realloc, modules/strerror, modules/strtod:
104416         Now LGPL, not GPL.
104418 2005-07-05  Bruno Haible  <bruno@clisp.org>
104420         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
104421         autoconf CVS. Needed for mingw.
104423 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
104425         Remove the dependency of the strftime module on the tzset module.
104426         * modules/strftime (Depends-on): Remove dependency on tzset.
104428 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
104430         Remove the dependency of the strftime module on the tzset module.
104431         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
104432         gl_FUNC_TZSET_CLOBBER.
104434 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
104436         Remove the dependency of the strftime module on the tzset module.
104437         * lib/strftime.c (my_strftime)
104438         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
104439         Copy the input structure, to work around some of the bug with
104440         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
104441         Solaris releases, you should also use the tzset module, but we won't
104442         require it as a dependency any more since we don't want LGPLed code
104443         to depend on GPLed code.
104445 2005-07-02  Jim Meyering  <jim@meyering.net>
104447         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
104448         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
104449         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
104450         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
104452 2005-07-02  Jim Meyering  <jim@meyering.net>
104454         * lib/backupfile.c (backup_args): Change a `0' to NULL.
104456 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
104458         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
104459         declares only 'struct timespec;' (!).
104461 2005-07-01  Jim Meyering  <jim@meyering.net>
104463         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
104464         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
104465         * lib/save-cwd.c, tempname.c:
104466         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
104467         and don't include <sys/file.h>).
104469 2005-06-29  Jim Meyering  <jim@meyering.net>
104471         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
104472         type name.  Use the variable name instead.
104473         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
104474         Likewise.
104476 2005-06-28  Simon Josefsson  <jas@extundo.com>
104478         * modules/check-version (Files): Add check-version.m4.
104480 2005-06-28  Simon Josefsson  <jas@extundo.com>
104482         * m4/check-version.m4: New file, suggested by Jim Meyering
104483         <jim@meyering.net>.
104485 2005-06-28  Simon Josefsson  <jas@extundo.com>
104487         * lib/check-version.h, lib/check-version.c: New files.
104489 2005-06-28  Simon Josefsson  <jas@extundo.com>
104491         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
104492         collision with global variable.  Better indentation.  Don't
104493         increment buffer pointer beyond buffer end.  Based on comments
104494         from Paul Eggert <eggert@cs.ucla.edu>.
104496         * lib/base64.h: Indent.
104498 2005-06-28  Simon Josefsson  <jas@extundo.com>
104500         * doc/gnulib.texi (Library version handling): New section.
104502 2005-06-28  Jim Meyering  <jim@meyering.net>
104504         * check-module (find_included_lib_files): Hard-code another
104505         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
104506         but modules/fts-lgpl (correctly) does not list those files.
104508         * modules/canonicalize (Files): Add lib/pathmax.h.
104510 2005-06-25  Simon Josefsson  <jas@extundo.com>
104512         * modules/check-version: New file.
104514 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
104516         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
104517         initializer of struct addrinfo, as an indication that we don't
104518         care how many members the structure has.
104520 2005-06-24  Derek Price  <derek@ximbiot.com>
104521         and Bruno Haible  <bruno@clisp.org>
104523         Remove stat module & update lstat.
104524         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
104525         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
104526         * m4/stat.m4: Remove this file.
104528 2005-06-24  Derek Price  <derek@ximbiot.com>
104529         and Bruno Haible  <bruno@clisp.org>
104531         Remove stat module & update lstat.
104532         * lib/stat.c: Remove this file...
104533         (slash_aware_lstat): ...moving this content and its support...
104534         * lib/lstat.c (rpl_lstat): ...into here.
104535         * lib/lstat.h: New file.
104537 2005-06-24  Derek Price  <derek@ximbiot.com>
104538         and Bruno Haible  <bruno@clisp.org>
104540         Remove stat module & update lstat.
104541         * config/srclist.txt (libc sources): Remove stat.
104543 2005-06-24  Derek Price  <derek@ximbiot.com>
104544         and Bruno Haible  <bruno@clisp.org>
104546         Remove stat module & update lstat.
104547         * MODULES.html.sh (stat): Remove.
104548         * MODULES.html: Regenerated.
104549         * modules/lstat (Description): Correct function name.
104550         (Files): Add "lstat.h".
104551         (Depends-on): Remove stat, add xalloc, stat-macros.
104552         * modules/stat: Remove this file.
104553         (Include): Add "lstat.h", remove <sys/stat.h>.
104555 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
104557         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
104558         (ranged_convert): Don't save conversion in a temporary struct.
104559         This causes a warning with GCC 4.0.0, and anyway in the typical
104560         case it's not worth the extra 100 bytes or so of code.
104561         (ranged_convert, __mktime_internal): When calling a function via a
104562         pointer P, use P () rather than (*P) (), as we now assume C89 or
104563         better.
104565 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
104567         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
104568         "who -r" failed to give output.  Problem reported by Tim Waugh.
104570         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
104571         (xcalloc): Use it to avoid needless tests.
104572         Problem reported by Jim Meyering.
104574 2005-06-20  Derek Price  <derek@ximbiot.com>
104576         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
104577         unnecessary for Autoconfs > 2.59c.
104579 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
104581         * lib/argp.h (__option_is_short): Check upper limit of
104582         __key. Isprint() requires its argument to have the value
104583         of an unsigned char or EOF.
104585 2005-06-16  Jim Meyering  <jim@meyering.net>
104587         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
104588         when either N or S is zero.
104590 2005-06-16  Derek Price  <derek@ximbiot.com>
104592         * m4/bison.m4: Declare YACC & YFLAGS precious.
104594 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
104596         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
104597         multibyte string or pattern, fall back on unibyte matching.
104598         Problem reported by James Youngman.
104600 2005-06-08  Bruno Haible  <bruno@clisp.org>
104602         * modules/csharpcomp: New file.
104603         * MODULES.html.sh (C#): Add csharpcomp.
104605 2005-06-08  Bruno Haible  <bruno@clisp.org>
104607         * m4/csharpcomp.m4: New file, from GNU gettext.
104609 2005-06-08  Bruno Haible  <bruno@clisp.org>
104611         * lib/csharpcomp.h: New file, from GNU gettext.
104612         * lib/csharpcomp.c: New file, from GNU gettext.
104613         * lib/csharpcomp.sh.in: New file, from GNU gettext.
104615 2005-06-08  Bruno Haible  <bruno@clisp.org>
104617         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
104618         warning on mingw.
104620 2005-06-07  Derek Price  <derek@ximbiot.com>
104622         Sync from CVS.
104623         * lib/glob_.h: Indent nested #ifdef.
104625 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
104627         Sync from coreutils.
104628         Use "file name" when talking about file names, instead of "filename"
104629         or "path", as per the GNU coding standards.
104630         * lib/mkdir-p.c: Renamed from makepath.c.
104631         (make_dir_parents): Renamed from make_path.  All callers changed.
104632         * lib/mkdir-p.h: Likewise.  All includers changed.
104633         * lib/filenamecat.c: Renamed from path-concat.c.
104634         (file_name_concat): Renamed from path_concat.  All callers changed.
104635         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
104636         * lib/filenamecat.h: Likewise.  All includers changed.
104637         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
104638         in comments or local variable names.
104639         * lib/basename.c: Likewise.
104640         * lib/canonicalize.c, canonicalize.h: Likewise.
104641         * lib/dirname.c, dirname.h: Likewise.
104642         * lib/euidaccess.c: Likewise.
104643         * lib/exclude.c: Likewise
104644         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
104645         * lib/fsusage.c, fsuage.h: Likewise.
104646         * lib/fts.c, fts_.h: Likewise.
104647         * lib/getcwd.c: Likewise.
104648         * lib/getloadavg.c: Likewise.
104649         * lib/mkstemp.c: Likewise.
104650         * lib/mountlist.c, mountlist.h: Likewise.
104651         * lib/openat.c, openat.h: Likewise.
104652         * lib/readlink-stub.c: Likewise.
104653         * lib/readutmp.c, readutmp.h: Likewise.
104654         * lib/rename.c: Likewise.
104655         * lib/rmdir.c: Likewise.
104656         * lib/same.c: Likewise.
104657         * lib/savedir.c: Likewise.
104658         * lib/stripslash.c: Likewise.
104659         * lib/tempname.c: Likewise.
104660         * lib/xreadlink.c: Likewise.
104661         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
104662         All uses changed.
104663         * lib/exclude.h: Likewise.
104665         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
104666         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
104667         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
104668         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
104669         * lib/pathmax.h: Include <limits.h> unconditionally, since other
104670         files have been getting away with it for years (MORE/BSD 4.3
104671         is extinct now).
104672         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
104673         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
104675         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
104676         Define to 256, not 255, as per modern POSIX.
104678 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
104680         Sync from coreutils.
104681         Use "file name" when talking about file names, instead of "filename"
104682         or "path", as per the GNU coding standards.
104683         * MODULES.html.sh: mkdir-p renamed from makepath.
104684         filenamecat renamed from path-concat.
104685         * modules/filenamecat: Renamed from modules/path-concat.
104686         (Files): filenamecat.h and filenamecat.c renamed from
104687         path-concat.h and path-concat.c.
104688         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
104689         (Include): filenamecat.h, not path-concat.h.
104690         * modules/mkdir-p: Renamed from modules/makepath.
104691         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
104692         makepath.c.
104693         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
104694         (Include): mkdir-p.h, not makepath.h.
104696 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
104698         Sync from coreutils.
104699         * m4/mkdir-p.m4: Renamed from makepath.m4.
104700         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
104701         Rename files from makepath.c to mkdir-p.c, and from
104702         makepath.h to mkdir-p.h.
104703         * m4/filenamecat.m4: Renamed from path-concat.m4.
104704         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
104705         Rename files from path-concat.c to filenamecat.c,
104706         and from path-concat.h to filenamecat.h.
104707         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
104708         "file name" in local variables or comments.
104709         * m4/rename.m4: Likewise.
104711 2005-06-01  Bruno Haible  <bruno@clisp.org>
104713         * modules/csharpexec: New file.
104714         * MODULES.html.sh (C#): New section.
104716 2005-06-01  Bruno Haible  <bruno@clisp.org>
104718         * m4/csharp.m4: New file, from GNU gettext.
104719         * m4/csharpexec.m4: New file, from GNU gettext.
104721 2005-06-01  Bruno Haible  <bruno@clisp.org>
104723         * lib/csharpexec.h: New file, from GNU gettext.
104724         * lib/csharpexec.c: New file, from GNU gettext.
104725         * lib/csharpexec.sh.in: New file, from GNU gettext.
104727 2005-05-31  Derek Price  <derek@ximbiot.com>
104728             Paul Eggert  <eggert@cs.ucla.edu>
104730         Sync from cvs.
104731         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
104733 2005-05-31  Derek Price  <derek@ximbiot.com>
104734             Paul Eggert  <eggert@cs.ucla.edu>
104736         Sync from cvs.
104737         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
104739 2005-05-29  Derek Price  <derek@ximbiot.com>
104741         * config/srclist.txt (glob_.h, glob.c): Add these files.
104743 2005-05-29  Derek Price  <derek@ximbiot.com>
104745         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
104746         * modules/glob: New file.
104747         * modules/getlogin_r: Add link to POSIX spec in description.
104749 2005-05-29  Derek Price  <derek@ximbiot.com>
104750             Paul Eggert  <eggert@cs.ucla.edu>
104752         * m4/glob.m4: New file.
104754 2005-05-29  Derek Price  <derek@ximbiot.com>
104755             Paul Eggert  <eggert@cs.ucla.edu>
104757         * lib/glob_.h, lib/glob.c: New files.
104759 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
104761         * modules/fts (Files): Remove m4/inttypes-pri.m4.
104762         * modules/fts-lgpl (Depends-on): Remove gettext.
104764 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
104766         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
104767         and don't require gt_INTTYPES_PRI.
104769 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
104771         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
104773         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
104774         the configuration hassle isn't worth it.
104775         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
104776         (LONGEST_MODIFIER, PRIuMAX): Remove.
104778 2005-05-27  Bruno Haible  <bruno@clisp.org>
104780         * lib/getlogin_r.h: Remove second include of <stddef.h>.
104782 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
104784         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
104785         _POSIX_PTHREAD_SEMANTICS for Solaris.
104787 2005-05-25  Derek Price  <derek@ximbiot.com>
104789         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
104791 2005-05-25  Derek Price  <derek@ximbiot.com>
104792             Paul Eggert  <eggert@cs.ucla.edu>
104794         * modules/getlogin_r, m4/getlogin_r.m4: New files.
104795         * lib/getlogin_r.c, getlogin_r.h: New files.
104797 2005-05-25  Bruno Haible  <bruno@clisp.org>
104798             Derek Price  <derek@ximbiot.com>
104800         * lib/getlogin_r.h: Simplify API documentation.
104802 2005-05-23  Derek Price  <derek@ximbiot.com>
104804         * modules/minmax (Files): Add m4/minmax.m4.
104805         (configure.ac): Add gl_MINMAX.
104807 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
104809         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
104810         so that unistd-safer.h (GPL'ed code) need not be included.
104812 2005-05-22  Bruno Haible  <bruno@clisp.org>
104814         * m4/minmax.m4: New file.
104815         Based on a patch by Derek Price <derek@ximbiot.com>.
104817 2005-05-22  Bruno Haible  <bruno@clisp.org>
104819         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
104820         (INT64_MIN): Fix definition.
104821         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
104823         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
104824         NEED_SIGNED_INT_TYPES.
104826         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
104827         HAVE_SYSTEM_INTTYPES.
104829 2005-05-22  Bruno Haible  <bruno@clisp.org>
104831         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
104832         Also include <sys/param.h> if it defines MIN, MAX.
104833         Based on a patch by Derek Price <derek@ximbiot.com>.
104835 2005-05-21  Jim Meyering  <jim@meyering.net>
104837         * modules/fts (Files): Add m4/inttypes-pri.m4.
104838         (Depends-on): Add lstat and remove gettext.  Alphabetize.
104840 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
104842         New fts module.
104843         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
104844         (setup_dir, free_dir): New functions.
104845         (enter_dir, leave_dir): Define trivial
104846         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
104847         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
104848         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
104849         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
104850         Move to fts-cycle.c.
104851         (fts_open): Use setup_dir.
104852         (fts_close): Use free_dir.
104853         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
104854         This adds a label and some gotos, but the alternatives were messier.
104855         Check for memory allocation failure when entering a dir.
104856         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
104857         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
104858         (FTS): New member fts_cycle, that is a union that contains the
104859         old active_dir_ht and cycle_state.  All uses changed to mention
104860         fts_cycle.ht and fts_cycle.state.
104861         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
104862         fts.c, with the following changes:
104863         (setup_dir, free_dir): New functions.
104864         (enter_dir): Now returns bool.  Return true if successful, false
104865         if memory exhausted.  All callers changed.
104866         Do not bother partly cleaning up on
104867         memory allocation failure; that is free_dir's job.
104868         However, free ad if hash_insert fails, to avoid memory leak.
104869         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
104870         fts->fts_options to see which union member to use.
104872 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
104874         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
104875         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
104877 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
104879         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
104881 2005-05-20  Jim Meyering  <jim@meyering.net>
104883         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
104884         Now a macro, to pacify GCC.
104886 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
104888         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
104889         of -1.
104891 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
104893         * lib/chown.c (rpl_chown): Return -1 on failure.
104895 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
104897         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
104898         Don't check for stddef.h.
104899         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
104900         don't use its results.
104901         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
104902         since we include them unconditionally.  Don't require
104903         AM_STDBOOL_H, since stdbool is a prerequisite.
104904         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
104905         since we assume C89 or better.
104906         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
104907         as we don't use their results.
104908         Don't check for fchdir, memmove, memset, strrchr, as we use
104909         them unconditionally.
104910         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
104911         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
104913 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
104915         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
104916         Include <stddef.h> unconditionally, since we assume C89 now.
104917         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
104918         * lib/fts.c: Include fts_.h first, to check interface.
104919         Do not include intprops.h; no longer needed.
104920         Include cycle-check.h and hash.h, since fts_.h no longer does.
104921         Remove unnecessary casts of closedir to void.
104922         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
104923         decide whether to decrement nlinks.
104924         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
104925         (FTS): Use struct hash_table * instead of Hash_table, so that
104926         we no longer need to include hash.h here.
104928 2005-05-18  Jim Meyering  <jim@meyering.net>
104930         * modules/dirfd (License): Change to LGPL.  Most of the code
104931         is already in the public domain.
104933 2005-05-18  Jim Meyering  <jim@meyering.net>
104935         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
104936         Reported by Yoann Vandoorselaere.
104938 2005-05-17  Jim Meyering  <jim@meyering.net>
104940         * m4/fts.m4: New file, from coreutils.
104942 2005-05-17  Jim Meyering  <jim@meyering.net>
104944         * lib/fts.c, lib/fts_.h: New files, from coreutils.
104946 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
104948         Sync from coreutils.
104949         * m4/unlinkdir.m4: New file.
104951 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
104953         Sync from coreutils.
104954         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
104955         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
104956         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
104957         White space changes only.
104958         * lib/makepath.c (make_path): Port to hosts where leading "//" is
104959         special.
104960         * lib/yesno.c: Include getline.h, not ctype.h.
104961         (yesno): Don't remove leading white space; POSIX doesn't allow it.
104962         Use getline to remove arbitrary restriction on response length.
104964 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
104966         * config/srclist-update: Spell out "Street" in FSF postal
104967         mail address; this is the style the FSF seems to prefer.
104969         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
104970         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
104971         this updates FSF postal mail address.
104973         Sync from coreutils.
104974         * modules/unlinkdir: New file.
104975         * modules/yesno (Depends-on): Add getline.
104976         * MODULES.html.sh (File system functions): Add unlinkdir.
104978 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
104980         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
104981         lib/strsep.h:
104982         Change the initial comment to refer to GPL, not LGPL.
104983         gnulib-tool will change it to LGPL as needed.
104985         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
104986         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
104987         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
104988         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
104989         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
104990         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
104991         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
104992         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
104993         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
104994         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
104995         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
104996         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
104997         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
104998         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
104999         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
105000         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
105001         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
105002         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
105003         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
105004         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
105005         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
105006         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
105007         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
105008         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
105009         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
105010         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
105011         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
105012         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
105013         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
105014         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
105015         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
105016         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
105017         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
105018         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
105019         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
105020         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
105021         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
105022         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
105023         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
105024         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
105025         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
105026         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
105027         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
105028         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
105029         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
105030         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
105031         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
105032         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
105033         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
105034         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
105035         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
105036         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
105037         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
105038         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
105039         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
105040         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
105041         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
105042         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
105043         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
105044         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
105045         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
105046         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
105047         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
105048         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
105049         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
105050         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
105051         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
105052         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
105053         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
105054         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
105055         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
105056         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
105057         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
105058         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
105059         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
105060         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
105061         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
105062         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
105063         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
105064         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
105065         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
105066         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
105067         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
105068         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
105069         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
105070         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
105071         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
105072         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
105073         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
105074         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
105075         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
105076         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
105077         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
105078         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
105079         lib/yesno.c, lib/yesno.h:
105080         Update FSF postal mail address.
105082 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
105084         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
105085         tests/test-memmem.c, tests/test-stpncpy.c:
105086         Update FSF postal mail address.
105088 2005-05-13  Bruno Haible  <bruno@clisp.org>
105090         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
105091         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
105092         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
105093         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
105094         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
105095         Add support for 64-bit integers in the MSVC compiler.
105097 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
105099         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
105101 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
105103         * gnulib-tool (func_import): Sort and uniquify recommended includes.
105105 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
105107         * doc/getdate.texi (General date syntax): Don't say that date
105108         date --iso-8601=ns generates acceptable dates; it doesn't yet.
105109         Problem reported by Nic Ferrier.
105111 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
105113         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
105114         specified in ai_socktype. Fix invalid ai_protocol
105115         check. ai_protocol is usually set to 0 or depending on
105116         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
105117         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
105118         ai_socktype / ai_protocol in the returned addrinfo structure.
105120 2005-05-10  Simon Josefsson  <jas@extundo.com>
105122         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
105123         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
105125 2005-05-10  Karl Berry  <karl@gnu.org>
105127         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
105128         (from http://www.gnu.org/licenses).
105129         * doc/COPYING.LIB: also rename to COPYING.LESSER.
105130         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
105131         fdl.texi suffices.
105133 2005-05-10  Karl Berry  <karl@gnu.org>
105135         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
105136         (COPYING.DOC): remove.
105138         * config/srclist-update: new FSF address.
105140 2005-05-10  Derek Price  <derek@ximbiot.com>
105142         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
105143         possible.
105145 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
105146             Bruno Haible  <bruno@clisp.org>
105148         * modules/inet_ntop: New file.
105149         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
105150         inet_ntop.
105152 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
105153             Bruno Haible  <bruno@clisp.org>
105155         * m4/inet_ntop.m4: New file.
105157 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
105158             Bruno Haible  <bruno@clisp.org>
105160         * lib/inet_ntop.h: New file.
105161         * lib/inet_ntop.c: New file, from glibc with modifications.
105163 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
105165         * modules/time_r (License): Change to LGPL.
105166         * modules/extensions (License): Change to LGPL.  Actually,
105167         the license is more permissive than that, but currently gnulib-tool
105168         doesn't know how to handle more-permissive licenses.
105170         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
105171         Problem reported by Dave Love.
105173 2005-05-08  Jim Meyering  <jim@meyering.net>
105175         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
105176         blank.
105178 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
105180         * modules/argmatch (Depends-on): Add stdbool.
105181         * modules/backupfile (Depends-on): Likewise.
105182         * modules/chdir-long (Depends-on): Likewise.
105183         * modules/closeout (Depends-on): Likewise.
105184         * modules/cycle-check (Depends-on): Likewise.
105185         * modules/dirname (Depends-on): Likewise.
105186         * modules/fnmatch (Depends-on): Likewise.
105187         * modules/fsusage (Depends-on): Likewise.
105188         * modules/fwriteerror (Depends-on): Likewise.
105189         * modules/getcwd (Depends-on): Likewise.
105190         * modules/getloadavg (Depends-on): Likewise.
105191         * modules/hard-locale (Depends-on): Likewise.
105192         * modules/makepath (Depends-on): Likewise.
105193         * modules/mountlist (Depends-on): Likewise.
105194         * modules/nanosleep (Depends-on): Likewise.
105195         * modules/posixtm (Depends-on): Likewise.
105196         * modules/quotearg (Depends-on): Likewise.
105197         * modules/readtokens (Depends-on): Likewise.
105198         * modules/readtokens0 (Depends-on): Likewise.
105199         * modules/readutmp (Depends-on): Likewise.
105200         * modules/save-cwd (Depends-on): Likewise.
105201         * modules/strftime (Depends-on): Likewise.
105202         * modules/userspec (Depends-on): Likewise.
105203         * modules/utimecmp (Depends-on): Likewise.
105204         * modules/xgetcwd (Depends-on): Likewise.
105205         * modules/xnanosleep (Depends-on): Likewise.
105206         * modules/xstrtod (Depends-on): Likewise.
105207         * modules/yesno (Depends-on): Likewise.
105209 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
105211         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
105212         needless checks.
105214 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
105216         Merge from coreutils.  Among other things,
105217         add bulletproofing for cases where stdin, stdout, or stderr are closed.
105218         * lib/fd-safer.c: New file.
105219         * lib/fcntl-safer.h, open-safer.c: Remove.
105220         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
105221         * lib/dup-safer.c: Include unistd-safer.h first.
105222         Don't include errno.h.
105223         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
105224         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
105225         * lib/file-type.c: Rely on file-type.h change.
105226         * lib/getloadavg.c: Include unistd-safer.h.
105227         (getloadavg): Use safer open.
105228         * lib/getusershell.c: Include "stdio-safer.h".
105229         (getusershell): Use safer fopen.
105230         * lib/long-options.c (long_options): Use NULL rather than 0.
105231         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
105232         'free'.
105233         * lib/modechange.c: Likewise.
105234         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
105235         (MODE_DONE): New constant.
105236         (struct mode_change): Remove 'next' member.
105237         (make_node_op_equals): New function; like the old one of the
105238         same name, except it allocates an array.
105239         (mode_compile, mode_create_from_ref): Use it.
105240         (mode_compile): Allocate result as an array, not a linked list.
105241         Parse octal string ourself, so that we catch mistakes like "+0".
105242         (mode_adjust): Arg is an array, not a linked list.
105243         * lib/modechange.c: Include stat-macros.h, xalloc.h.
105244         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
105245         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
105246         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
105247         Remove.  This is now stat-macros.h's job.
105248         (talloc): Remove.  All callers replaced by xalloc, so that
105249         our invokers don't have to worry about reporting memory failures.
105250         (make_node_op_equals): Remove.
105251         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
105252         New constants.
105253         (struct mode_change): Moved here from modechange.h.
105254         (mode_append_entry): Remove.
105255         (mode_compile): Remove MASKED_OPS arg, since it encouraged
105256         apps to have incorrect behavior.  Use simpler algorithm for head
105257         and tail.  Don't futz with umask; that's now the job of mode_adjust.
105258         Detect more invalid usages rather than having somewhat-random behavior.
105259         Don't insert an "a=" action, as that leads to incorrect behavior.
105260         (mode_compile, mode_create_from_ref): Return NULL on error instead
105261         of an enum, since now there's only one way to have an error.  All
105262         callers changed.
105263         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
105264         at the correct time.  Simplify calculation of "+u" and its ilk.
105265         Don't mishandle "+X".
105266         (mode_free): Remove "register" and localize decls.
105267         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
105268         (struct mode_change): Move to modechange.c; callers don't
105269         need to see this stuff.
105270         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
105271         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
105272         (mode_change, mode_adjust): Reflect the new signatures noted above.
105273         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
105274         that might redefine system include files.
105275         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
105276         (my_usleep): Use NULL rather than (void *) 0.
105277         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
105278         Use siginterrupt to specify that system calls should be interrupted.
105279         (rpl_nanosleep): Move initialization of suspended closer to call of
105280         my_usleep.
105281         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
105282         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
105283         (desirable_utmp_entry): New function.
105284         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
105285         using x2nrealloc, to simplify logic.
105286         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
105287         size calculation.  Do not assume utmp file is a regular file.
105288         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
105289         (READ_UTMP_CHECK_PIDS): New constant.
105290         * lib/save-cwd.c: Include unistd-safer.h.
105291         (save_cwd): Use fd_safer.
105292         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
105293         [!_LIBC] Include "stat-macros.h" instead.
105294         * lib/unistd-safer.h (fd_safer): New decl.
105296 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
105298         * modules/getloadavg (Depends-on): Add unistd-safer.
105299         * modules/getusershell (Depends-on): Add stdio-safer.
105300         * modules/lstat (Depends-on): Remove xalloc.
105301         * modules/mkstemp (Depends-on): Add stat-macros.
105302         * modules/modechange (Depends-on): Remove xstrtol.
105303         Add stat-macros, xalloc.
105304         * modules/save-cwd (Depends-on): Add unistd-safer.
105305         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
105306         * modules/unistd-safer (Files): Add lib/fd-safer.c
105307         (Makefile.am): Remove lib_SOURCES.
105309         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
105310         Remove fcntl-safer; unistd-safer supersedes it.
105312 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
105314         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
105315         AC_HEADER_STAT.
105316         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
105317         (gl_PREREQ_CHOWN): Remove.
105318         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
105319         it.  Don't require AC_HEADER_STAT.
105320         (gl_PREREQ_LSTAT): Remove.
105321         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
105322         Don't require AC_HEADER_STAT.
105323         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
105324         (gl_PREREQ_RMDIR): Remove.
105325         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
105326         mention stat-macros.h or AC_HEADER_STAT, since we'll make
105327         the stat-macros module a prerequisite.
105328         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
105329         * m4/filemode.m4 (gl_FILEMODE): Likewise.
105330         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
105331         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
105332         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
105333         variable names.
105334         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
105335         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
105336         variable prefixes.
105337         * m4/fcntl-safer.m4: Remove.
105338         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
105339         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
105340         Invoke gl_PREREQ_FD_SAFER.
105341         (gl_PREREQ_FD_SAFER): New macro.
105342         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
105343         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
105344         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
105345         Remove duplicate call to AC_LIBOBJ(readutmp).
105346         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
105348         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
105349         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
105351 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
105353         * MODULES.html.sh (Misc): Add byteswap.
105355 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
105357         * modules/getcwd (Depends-on): Add extensions.
105358         * modules/openat (Depends-on): Likewise.
105360 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
105362         * modules/byteswap: New file.
105364 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
105366         * m4/byteswap.m4: New file.
105368 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
105370         * lib/byteswap_.h: New file.
105372 2005-04-25  Karl Berry  <karl@gnu.org>
105374         * m4/gettext.m4: Update from GNU gettext 0.14.4.
105376 2005-04-25  Albert Chin  <china@thewrittenword.com>
105378         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
105379         Toolkit C bug.
105381 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
105383         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
105384         (func_ln_if_changed): Remove forcibly for no error message
105385         in case file does not exist.
105387 2005-04-19  Simon Josefsson  <jas@extundo.com>
105389         * gnulib-tool (Options): Make --symlink mean --symbolic.
105391 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
105393         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
105395 2005-04-16  Simon Josefsson  <jas@extundo.com>
105397         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
105399 2005-04-15  Simon Josefsson  <jas@extundo.com>
105401         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
105403 2005-04-15  Simon Josefsson  <jas@extundo.com>
105405         * gnulib-tool: Rename --symlink to --symbolic.
105407 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
105409         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
105410         symbolic links to files instead of copying/moving.  Add --aux-dir,
105411         specifying directory relative --dir where auxiliary build tools
105412         are placed.
105414 2005-04-14  Bruno Haible  <bruno@clisp.org>
105416         * modules/allocsa (License): Change to LGPL.
105417         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
105419 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
105421         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
105422         that "UTC +1 second" continues to work.  Problem reported
105423         by Dmitry V. Levin.
105424         (relunit_snumber): New rule.
105425         (relunit): Use it.
105427 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
105429         * lib/getdate.y (universal_time_zone_table): New constant.
105430         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
105431         universal_time_zone_table.
105432         (lookup_zone): Prefer universal_time_zone_table to
105433         local_time_zone_table, so that "GMT" time stamps are allowed in
105434         London during the summer.  Problem reported by Ian Abbott.
105436 2005-04-12  Jim Meyering  <jim@meyering.net>
105438         * lib/human.c (humblock): Set *options even when returning due to
105439         xstrtoumax conversion failure.  Thanks to a used-uninitialized
105440         warning from gcc-4.
105442 2005-04-09  Jim Meyering  <jim@meyering.net>
105444         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
105445         -Wuninitialized: initialize tm0.tm_year.
105447 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
105449         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
105450         count, since there's no maximum.  All uses changed.
105451         Add member dsts_seen.
105452         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
105453         not being INT_MAX.
105454         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
105455         Use pc_rels_seen to decide whether a date is absolute.
105457         * lib/getdate.y (number): Don't overwrite year.
105458         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
105459         check.
105461 2005-04-02  Simon Josefsson  <jas@extundo.com>
105463         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
105464         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
105466 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
105468         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
105469         where no absolute path name can be longer than PATH_MAX.
105471 2005-03-27  Jim Meyering  <jim@meyering.net>
105473         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
105475 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
105477         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
105478         "one's complement" -> "ones' complement" in comment, as per Knuth.
105479         "value of type" -> "type or expression" in comment.
105480         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
105482 2005-03-26  Jim Meyering  <jim@meyering.net>
105484         Comment nits.
105485         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
105486         Correct typos: s/or/of/.
105488 2005-03-26  Jim Meyering  <jim@meyering.net>
105490         * modules/check-include-files: Move to ../ and rename to...
105491         * check-module: ...this.
105493 2005-03-25  Jim Meyering  <jim@meyering.net>
105495         * modules/xvasprintf (Files): Add xalloc.h.
105497 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
105499         * modules/gettext (Files): config/config.rpath ->
105500         build-aux/config.rpath
105501         * modules/iconv (Files): Likewise.
105502         Problem reported by Oskar Liljeblad.
105504 2005-03-23  Jim Meyering  <jim@meyering.net>
105506         * modules/check-include-files: New script to check for
105507         missing dependencies, multiple includes, etc.
105509         * modules/c-strtold (Depends-on): Add xalloc.
105510         * modules/c-strtod (Depends-on): Add xalloc.
105511         * modules/hash (Depends-on): Add xalloc.
105512         (Files): Remove lib/xalloc.h.
105514         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
105515         * modules/userspec (Files): Add lib/inttostr.h.
105517 2005-03-23  Jim Meyering  <jim@meyering.net>
105519         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
105521 2005-03-22  Jim Meyering  <jim@meyering.net>
105523         * modules/stat-macros: New module.
105524         * modules/canonicalize, modules/euidaccess, modules/file-type,
105525         * modules/filemode, modules/lchown, modules/makepath,
105526         * modules/rmdir, modules/stat: Depend on new stat-macros module
105527         rather than listing lib/stat-macros.h manually.
105528         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
105530 2005-03-22  Jim Meyering  <jim@meyering.net>
105532         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
105534 2005-03-22  Bruno Haible  <bruno@clisp.org>
105536         * config/srclist.txt: Replace target directory 'config' with
105537         'build-aux'.
105538         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
105539         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
105540         ../build-aux/.
105542 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
105544         * modules/chdir-long (Depends-on): Add mempcpy.
105546         * modules/acl, modules/backupfile, modules/c-strtod,
105547         modules/c-strtold, modules/canon-host, modules/canonicalize,
105548         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
105549         modules/exclude, modules/exitfail, modules/file-type,
105550         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
105551         modules/getdate, modules/getline, modules/getpagesize,
105552         modules/getpass, modules/getugroups, modules/group-member,
105553         modules/hard-locale, modules/hash, modules/human, modules/idcache,
105554         modules/inttostr, modules/long-options, modules/makepath,
105555         modules/md5, modules/memcasecmp, modules/memcoll,
105556         modules/modechange, modules/mountlist, modules/path-concat,
105557         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
105558         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
105559         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
105560         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
105561         modules/strftime, modules/strndup, modules/strverscmp,
105562         modules/timespec, modules/unlocked-io, modules/userspec,
105563         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
105564         modules/yesno:
105565         Remove lib_SOURCES line from Makefile.am section, as this is now
105566         done automatically by the corresponding Autoconf macro.
105568 2005-03-21  Jim Meyering  <jim@meyering.net>
105570         Changes imported from coreutils.
105572         * lib/cycle-check.c: Don't include xalloc.h.
105574         * lib/path-concat.c: Don't include assert.h.
105575         (path_concat): Remove assertion that would have triggered
105576         for ABASE starting with more than one slash.
105577         Reported by Andreas Schwab.
105579         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
105580         properly when ABASE is an absolute file name.
105581         Correct the description of this function.
105582         Include <assert.h>.
105583         Add an assertion and a test driver.
105584         This fixes a bug introduced on 2004-07-02.
105585         Andreas Schwab reported the resulting failure of cp --parents:
105586         http://lists.gnu.org/r/bug-coreutils/2005-01/msg00130.html
105588 2005-03-21  Jim Meyering  <jim@meyering.net>
105590         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
105591         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
105593 2005-03-21  Jim Meyering  <jim@meyering.net>
105594         and  Paul Eggert  <eggert@cs.ucla.edu>
105596         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
105597         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
105598         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
105599         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
105600         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
105601         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
105602         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
105603         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
105604         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
105605         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
105606         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
105607         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
105608         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
105609         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
105610         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
105611         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
105612         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
105613         for these modules.
105615 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
105617         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
105618         (which shouldn't happen), generate nothing instead of returning 0
105619         immediately, so that nstrftime (NULL, ...) doesn't return 0.
105621 2005-03-16  Bruno Haible  <bruno@clisp.org>
105623         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
105624         HAVE_LONGLONG_64BIT.
105626 2005-03-16  Bruno Haible  <bruno@clisp.org>
105628         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
105629         HAVE_LONGLONG_64BIT.
105631 2005-03-16  Bruno Haible  <bruno@clisp.org>
105633         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
105634         HAVE_LONGLONG_64BIT.
105636 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
105638         * lib/strftime.c (my_strftime): Prepend space to format so that we can
105639         reliably distinguish strftime failure from empty output on POSIX
105640         hosts.
105642 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
105644         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
105645         (iconv_string): Don't guess a size-zero buffer, as that might cause
105646         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
105647         result would be 'too large', where 'too large' is (heuristically)
105648         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
105649         overflow concerns.  This will prevent some unwanted malloc failures
105650         when the inputs are very large.
105652 2005-03-15  Karl Berry  <karl@gnu.org>
105654         * config/srclist.txt (config.rpath): from gettext.
105655         * config/config.rpath: update.
105657 2005-03-15  Bruno Haible  <bruno@clisp.org>
105659         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
105660         to 'negate'.
105662         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
105663         variable.
105665         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
105666         results.
105668 2005-03-14  Simon Josefsson  <jas@extundo.com>
105670         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
105671         <fx@gnu.org>.
105673 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
105675         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
105676         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
105677         intprops.h.
105678         * lib/strtol.c: Likewise.
105680 2005-03-14  Jim Meyering  <jim@meyering.net>
105682         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
105683         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
105684         to be nonzero so that we (and caller) can detect the difference
105685         between a valid zero-length expansion and an error return, even
105686         when the underlying strftime fails before writing anything into
105687         that location.
105689 2005-03-14  Bruno Haible  <bruno@clisp.org>
105691         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
105692         Update from GNU gettext 0.14.3.
105694 2005-03-10  Jim Meyering  <jim@meyering.net>
105696         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
105698 2005-03-10  Jim Meyering  <jim@meyering.net>
105700         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
105701         so that this module works on systems without fchdir.
105703 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
105705         Factor int-properties macros into a single file, except for
105706         glibc-related files.
105707         * lib/intprops.h: New file.
105708         * lib/getloadavg.c: Include it instead of limits.h.
105709         (INT_STRLEN_BOUND): Remove.
105710         * lib/human.c: Include intprops.h.
105711         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
105712         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
105713         302/1000.
105714         * lib/inttostr.h: Include intprops.h instead of limits.h.
105715         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
105716         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
105717         for consistency with intprops.h.
105718         (time_t_is_integer, twos_complement_arithmetic): Use them.
105719         * lib/sig2str.h: Include <signal.h>, intprops.h.
105720         (INT_STRLEN_BOUND): Remove.
105721         * lib/strftime.c (TYPE_SIGNED): Remove.
105722         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
105723         * lib/strtol.c: Adjust comments to match intprops.h.
105724         * lib/userspec.c: Include intprops.h.
105725         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
105726         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
105727         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
105728         instead of rolling our own expressions.
105729         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
105731         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
105732         instead of int.
105733         (my_strftime): Do not mishandle years close to INT_MAX, by doing
105734         the right thing even if adding 1900 would overflow.  Similarly
105735         for tm_mon + 1 and tm_yday + 1.
105736         Make %Y always equivalent to %C%y, and similarly for %G and %g.
105737         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
105738         (DO_SIGNED_NUMBER): New macro.
105739         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
105741 2005-03-07  Bruno Haible  <bruno@clisp.org>
105743         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
105745 2005-03-07  Bruno Haible  <bruno@clisp.org>
105747         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
105749 2005-03-04  Derek R. Price  <derek@ximbiot.com>
105751         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
105752         (func_import): Only replace files via --import when they have actually
105753         changed.
105755 2005-03-03  Derek R. Price  <derek@ximbiot.com>
105757         * m4/mmap-anon.m4: New file.
105758         * m4/pagealign_alloc.m4: New file.
105760 2005-03-03  Derek R. Price  <derek@ximbiot.com>
105761             Bruno Haible  <bruno@clisp.org>
105763         * modules/pagealign_alloc: New file.
105764         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
105766 2005-03-03  Derek R. Price  <derek@ximbiot.com>
105767             Bruno Haible  <bruno@clisp.org>
105769         * lib/pagealign_alloc.h: New file.
105770         * lib/pagealign_alloc.c: New file.
105772 2005-03-03  Bruno Haible  <bruno@clisp.org>
105774         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
105775         Use an all-permissive copyright notice, recommended by RMS.
105777 2005-03-02  Bruno Haible  <bruno@clisp.org>
105779         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
105780         of AIX, the replacement has to be done only after <string.h> is
105781         included, therefore not in config.h. stpncpy.h does the replacement,
105782         and stpncpy.c uses it.
105784 2005-03-02  Bruno Haible  <bruno@clisp.org>
105786         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
105787         stpncpy.c uses it.
105789 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
105791         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
105792         The workaround isn't strictly needed for POSIX conformance, and
105793         it's too much of a pain to configure and maintain.  We'll ask
105794         people to fix their kernels instead.
105795         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
105796         (NANOSLEEP_BUG_WORKAROUND): Remove.
105797         (xnanosleep): Remove the workaround.
105799 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
105801         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
105802         Reported by Derek Price.
105803         (Include): Add "timespec.h".
105805         * modules/xnanosleep (Depends-on): Remove gethrxtime.
105807 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
105809         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
105810         to detect nanosleep bug.
105812 2005-03-01  Bruno Haible  <bruno@clisp.org>
105814         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
105816 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
105818         * modules/gethrxtime: New file.
105819         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
105820         (Depends-on): Add gethrxtime.
105821         (configure.ac): Add gl_XNANOSLEEP.
105822         (Makefile.am): Remove lib_SOURCES line.
105824 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
105826         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
105827         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
105829 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
105831         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
105832         * lib/timespec.h (gettime): Return void, since it always
105833         succeeds now.  All uses changed.
105834         * lib/gettime.c (gettime): Likewise.
105835         [HAVE_NANOTIME]: Prefer nanotime.
105836         Assume gettimeofday succeeds, as POSIX requires.
105837         Assime time () succeeds, since other code already does.
105838         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
105839         (timespec_subtract): Remove.
105840         (NANOSLEEP_BUG_WORKAROUND): New constant.
105841         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
105842         things considerably.  Use it only on GNU/Linux hosts, since the
105843         workaround shouldn't be needed elsewhere.
105845 2005-02-24  Bruno Haible  <bruno@clisp.org>
105847         * modules/gettext (Files): Add m4/glibc2.m4.
105849 2005-02-24  Bruno Haible  <bruno@clisp.org>
105851         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
105852         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
105853         * m4/progtest.m4:
105854         Update from GNU gettext 0.14.2.
105855         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
105857 2005-02-24  Bruno Haible  <bruno@clisp.org>
105859         * lib/localcharset.c: Update from GNU gettext 0.14.2.
105860         * lib/config.charset: Update from GNU gettext 0.14.2.
105862 2005-02-24  Bruno Haible  <bruno@clisp.org>
105864         * lib/gettext.h: Update from GNU gettext 0.14.2.
105866 2005-02-23  Simon Josefsson  <jas@extundo.com>
105868         * m4/iconvme.m4: New file.
105870 2005-02-23  Jim Meyering  <jim@meyering.net>
105872         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
105873         change.
105874         Thanks to Bruno Haible for catching it.
105876 2005-02-22  Simon Josefsson  <jas@extundo.com>
105878         * modules/iconvme: New file.
105880         * MODULES.html.sh: Add iconvme.
105882 2005-02-22  Simon Josefsson  <jas@extundo.com>
105884         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
105886 2005-02-22  Simon Josefsson  <jas@extundo.com>
105888         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
105890 2005-02-22  Jim Meyering  <jim@meyering.net>
105892         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
105893         s/ifndef/ifdef/.
105895 2005-02-20  Neil Conway  <neilc@samurai.com>
105897         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
105898         returned by OSX/Darwin if the specified buffer is not large
105899         enough for the hostname.
105901 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
105903         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
105904         pass it to _help, otherwise the latter coredumps trying to
105905         dereference state.root_argp.
105907 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
105909         * modules/chdir-long (Depends-on): Add memrchr.
105910         * modules/memrchr (Files): Add lib/memrchr.h.
105911         (Include): "memrchr.h".
105913 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
105915         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
105917 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
105919         * lib/memrchr.h: New file.
105920         * lib/chdir-long.c: Include it.
105921         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
105922         Don't bother including stddef.h.
105924 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
105926         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
105927         inclusion.
105928         Include <sys/types.h>, for dev_t.
105929         (ME_DUMMY, ME_REMOTE): Move from here....
105930         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
105931         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
105932         Dmitry V. Levin.
105933         Include mountlist.h first, to test the interface.
105935 2005-01-29  Bruno Haible  <bruno@clisp.org>
105937         * lib/progname.c (program_name): Initialize.
105938         Needed when linking statically on MacOS X.
105940 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
105942         Sync from coreutils.
105943         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
105944         (Depends-on): Add c-strtod.
105945         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
105947 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
105949         Sync from coreutils.
105950         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
105952         Remove files that are specific to coreutils.
105953         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
105955 2005-01-28  Bruno Haible  <bruno@clisp.org>
105957         * modules/javacomp: New file.
105958         * MODULES.html.sh (Java): Add javacomp.
105960 2005-01-28  Bruno Haible  <bruno@clisp.org>
105962         * m4/javacomp.m4: New file, from GNU gettext.
105964 2005-01-28  Bruno Haible  <bruno@clisp.org>
105966         * lib/javacomp.sh.in: New file, from GNU gettext.
105967         * lib/javacomp.h: New file, from GNU gettext.
105968         * lib/javacomp.c: New file, from GNU gettext.
105970 2005-01-26  Simon Josefsson  <jas@extundo.com>
105972         * lib/gai_strerror.c: Use GPL in header.
105974 2005-01-26  Bruno Haible  <bruno@clisp.org>
105976         * modules/javaexec: New file.
105977         * MODULES.html.sh (Java): Add javaexec.
105979 2005-01-26  Bruno Haible  <bruno@clisp.org>
105981         * m4/javaexec.m4: New file, from GNU gettext.
105983 2005-01-26  Bruno Haible  <bruno@clisp.org>
105985         * lib/javaexec.sh.in: New file, from GNU gettext.
105986         * lib/javaexec.h: New file, from GNU gettext.
105987         * lib/javaexec.c: New file, from GNU gettext.
105989 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
105991         * modules/lchown (Depends-on): Remove lchown.h
105993 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
105995         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
105996         must be defined if the header file was not found, in order
105997         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
105999 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106001         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
106002         initializers for struct pentry_state.
106003         (__argp_error): Check return value of __asprintf
106004         (__argp_failure): Translate error message
106006         * lib/argp-parse.c: Removed braces around the expansion of N_()
106008 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
106010         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
106011         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
106012         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
106013         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
106014         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
106015         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
106016         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
106017         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
106018         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
106019         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
106020         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
106021         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
106022         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
106023         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
106024         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
106025         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
106026         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
106027         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
106028         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
106029         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
106030         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
106031         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
106032         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
106033         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
106034         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
106035         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
106036         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
106037         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
106038         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
106039         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
106040         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
106041         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
106042         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
106043         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
106044         xstrtol.m4, xstrtoumax.m4, yesno.m4:
106045         Use an all-permissive copyright notice, recommended by RMS.
106047 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
106049         * modules/chdir-long (Depends-on): Remove mempcpy.
106051 2005-01-21  Jim Meyering  <jim@meyering.net>
106053         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
106054         same value as for Solaris 9.
106056         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
106057         component length.  This included changing the parameter to be
106058         of type `char *' rather than `char const *'.
106059         * lib/chdir-long.h (chdir_long): Update prototype.
106061         * lib/openat.c (fdopendir, fstatat): New functions.
106062         * lib/openat.h: Include headers required for use of DIR and struct
106063         stat.
106064         [AT_SYMLINK_NOFOLLOW]: Define.
106065         (fdopendir, fstatat): Add prototypes.
106067 2005-01-21  Bruno Haible  <bruno@clisp.org>
106069         * modules/classpath: New file.
106070         * MODULES.html.sh (Java): Add classpath.
106072 2005-01-21  Bruno Haible  <bruno@clisp.org>
106074         * lib/classpath.h: New file, from GNU gettext.
106075         * lib/classpath.c: New file, from GNU gettext.
106077 2005-01-20  Simon Josefsson  <jas@extundo.com>
106079         * modules/version-etc-fsf: New file.
106081 2005-01-20  Simon Josefsson  <jas@extundo.com>
106083         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
106084         * lib/version-etc.c: Remove version_etc_copyright.
106085         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
106086         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
106088 2005-01-20  Simon Josefsson  <jas@extundo.com>
106090         * lib/base64.h (isbase64): Add.
106092         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
106093         using a unsigned prototype, don't inline.
106094         (base64_decode): Use it.
106096 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
106098         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
106099         it.
106101 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
106103         * lib/save-cwd.c (save_cwd): Remove code to support the case
106104         where fchdir is missing or flaky.
106106 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
106108         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
106110 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
106112         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
106113         AC_LIBSOURCES now does this.
106114         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
106115         with new ullong_max module.
106117 2005-01-19  Bruno Haible  <bruno@clisp.org>
106119         * modules/sh-quote: New file.
106120         * MODULES.html.sh (Executing programs): Add sh-quote.
106122 2005-01-19  Bruno Haible  <bruno@clisp.org>
106124         * lib/sh-quote.h: New file, from GNU gettext.
106125         * lib/sh-quote.c: New file, from GNU gettext.
106127 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
106129         Merge from coreutils.
106130         * m4/ullong_max.m4: New file.
106131         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
106132         (gl_MACROS): Assume localeconv exists.
106134 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
106136         Merge changes from coreutils, as described below in several
106137         changelogs dated today.
106139         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
106140         (O_DIRECTORY): Remove; not needed here, since "." must be
106141         a directory.  All uses removed.
106142         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
106143         universal on Suns, and we also need to test for IRIX.
106144         Revamp code to use 'if' rather than '#if'.
106145         Avoid unnecessary comparison of cwd->desc to 0.
106147         * lib/utimens.c (futimens): Robustify the previous patch, by checking
106148         for known valid error numbers rather than observed invalid ones.
106150 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
106152         * modules/ullong_max: New file.
106154         * modules/chdir-long, modules/openat: New files.
106155         * modules/save-cwd (Depends-on): Depend on chdir-long.
106156         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
106158 2005-01-18  Jim Meyering  <jim@meyering.net>
106160         Merge from coreutils.
106161         * m4/chdir-long.m4, m4/openat.m4: New files.
106162         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
106163         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
106164         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
106165         is sane and DOES follow symlinks.  Besides, testing 20 different
106166         systems found no broken chown implementations.
106167         Prompted by a change in rsync's copy of this macro.
106168         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
106170         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
106172         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
106173         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
106174         NULL-means-set-to-current-time semantics.
106175         Remove temporary file immediately, rather than waiting
106176         for configure's at-exit trap code to do it.
106178 2005-01-18  Jim Meyering  <jim@meyering.net>
106180         * lib/version-etc.c (version_etc_copyright): Update copyright date.
106182         * lib/utimens.c (futimens): Account for the fact that futimes
106183         can also fail with errno == ENOSYS or errno == ENOENT.
106184         Patch from Dmitry V. Levin.
106186         Change the name of the robust chdir function from chdir to chdir_long.
106187         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
106188         (restore_cwd): Use chdir_long, not chdir.
106189         * lib/chdir-long.c: Renamed from chdir.c.
106190         * lib/chdir-long.h: Renamed from chdir.h.
106191         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
106192         Hurd.
106194 2005-01-18  Bruno Haible  <bruno@clisp.org>
106196         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
106197         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
106198         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
106199         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
106200         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
106201         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
106202         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
106203         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
106204         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
106205         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
106206         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
106207         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
106208         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
106209         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
106210         Use an all-permissive copyright notice, recommended by RMS.
106212 2005-01-18  Bob Proulx  <bob@proulx.com>
106214         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
106215         simplify offsetof() macro construct to avoid compile failure with
106216         native HP-UX 11.0 ANSI C compiler.
106218 2005-01-17  Bruno Haible  <bruno@clisp.org>
106220         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
106221         redundant because stpncpy.m4 takes care of it.
106223 2005-01-17  Bruno Haible  <bruno@clisp.org>
106225         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
106227 2005-01-17  Bruno Haible  <bruno@clisp.org>
106229         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
106230         used.
106232 2005-01-17  Bruno Haible  <bruno@clisp.org>
106234         * lib/fwriteerror.h (fwriteerror): Change specification to include
106235         fclose.
106236         * lib/fwriteerror.c: Include <stdbool.h>.
106237         (fwriteerror): At the end, close the file stream. Record whether
106238         stdout was already closed.
106240 2005-01-17  Bruno Haible  <bruno@clisp.org>
106242         * lib/execute.c (environ): Declare if needed.
106243         * lib/pipe.c (environ): Likewise.
106244         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
106246 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106248         * modules/argp: Depend on vsnprintf
106250 2005-01-10  Jim Meyering  <jim@meyering.net>
106252         * modules/closeout (Depends-on): Add atexit.
106254 2005-01-06  Bruno Haible  <bruno@clisp.org>
106256         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
106258 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
106260         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
106261         definitions to be after all include files, to avoid collisions.
106262         Problem reported by Bob Proulx.
106264 2005-01-04  Jim Meyering  <jim@meyering.net>
106266         Changes imported from coreutils.
106267         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
106268         as the mkstemp template, use a temporary directory and an
106269         8.3-friendly template to avoid trouble on systems like DJGPP.
106270         Reported by Juan M. Guerrero via Stepan Kasal.
106271         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
106272         close. Remove the temporary directory right away, rather than waiting
106273         for configure's at-exit trap code to do it.
106274         Suggestion from Stepan Kasal.
106276 2005-01-01  Simon Josefsson  <jas@extundo.com>
106278         * gnulib-tool: Print #include directives when --import'ing.
106280 2004-12-28  Simon Josefsson  <jas@extundo.com>
106282         * tests/test-base64.c: Include required header files.  Remove
106283         unused variables.
106285 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
106287         * modules/error (Depends-on): Remove gettext.
106289 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
106291         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
106292         not needed.  This removes a dependency on the gettext module.
106293         [defined _LIBC]: Do not include <libintl.h>; not needed.
106295 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
106297         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
106298         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
106300 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
106302         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
106303         HAVE_DECL_STRTOLD.
106305 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
106307         * modules/getdate (Depends-on): Remove alloca-opt.
106309 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
106311         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
106313 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
106315         * lib/argp-parse.c: Include <stddef.h>.
106316         (alignof, alignto): New macros.
106317         (parser_init): Don't assume that void * is aligned sufficiently
106318         for struct option.
106320         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
106321         need to extend the stack.
106322         (YYINITDEPTH): New macro, so that the initial stack isn't overly
106323         large.
106325 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106327         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
106329 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
106331         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
106332         (2004-10-24) change.  Apparently this was a false alarm.
106334         * modules/getdate: Depend on alloca-opt, not alloca.
106336 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
106338         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
106339         Remove now-obsolete comment about AIX.
106340         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
106341         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
106342         (YYMAXDEPTH): New macro.
106344 2004-12-18  Simon Josefsson  <jas@extundo.com>
106346         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
106348 2004-12-18  Bruno Haible  <bruno@clisp.org>
106350         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
106352 2004-12-18  Bruno Haible  <bruno@clisp.org>
106354         * lib/fatal-signal.c (fatal_signals): Make non-const.
106355         (init_fatal_signals): New function.
106356         (uninstall_handlers, install_handlers): Ignore signals that were set to
106357         SIG_IGN.
106358         (at_fatal_signal): Call init_fatal_signals.
106359         (init_fatal_signal_set): Likewise. Ignore signals that were set to
106360         SIG_IGN.
106361         Reported by Paul Eggert.
106363 2004-12-18  Bruno Haible  <bruno@clisp.org>
106365         * doc/alloca.texi: New file.
106366         * doc/alloca-opt.texi: New file.
106368 2004-12-17  Jim Meyering  <jim@meyering.net>
106370         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
106371         Otherwise, install-sh could exit with improper exit status when
106372         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
106374 2004-12-16  Simon Josefsson  <jas@extundo.com>
106376         * tests/test-base64.c: Add license.
106378 2004-12-15  Stepan Kasal  <address@hidden>
106380         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
106382 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
106384         * modules/getcwd (Files): Add m4/d-ino.m4.
106385         Suggested by Mark D. Baushke.
106387 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
106389         * lib/getdate.y (textint): New member "negative".
106390         (time_zone_hhmm): New function.
106391         Expect 14 shift-reduce conflicts, not 13.
106392         (o_colon_minutes): New rule.
106393         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
106394         (yylex): Set the "negative" member of signed numbers.
106396 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
106398         * doc/getdate.texi (Time of day items, Time zone items):
106399         Describe new formats +00:00, UTC+00:00.
106401 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
106403         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
106404         spurious "-l"s.  Problem reported by Stepan Kasal.
106406 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
106408         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
106409         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
106411 2004-12-04  Simon Josefsson  <jas@extundo.com>
106413         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
106414         Vandoorselaere <yoann@prelude-ids.org>.
106416 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
106418         Changes imported from coreutils.
106419         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
106420         exist.
106421         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
106423 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
106425         Changes imported from coreutils.
106426         * lib/hard-locale.c: Assume <locale.h> exists.
106427         Include "strdup.h".
106428         (GLIBC_VERSION): New macro.
106429         (hard_locale): Assume setlocale exists.
106430         Rewrite to avoid #ifdef.
106431         Use strdup rather than malloc + strcpy.
106432         * lib/human.c: Assume <locale.h> exists.
106433         (human_readable): Assume localeconv exists.
106435 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
106437         * modules/hard-locale (Depends-on): Add strdup.
106439 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
106441         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
106442         convert T2, not T.  (Imported from libc.)
106444 2004-11-30  Simon Josefsson  <jas@extundo.com>
106446         * modules/restrict (License): Change to LGPL.
106448 2004-11-30  Simon Josefsson  <jas@extundo.com>
106450         * m4/restrict.m4: Add copyright and copying conditions.
106452 2004-11-30  Simon Josefsson  <jas@extundo.com>
106454         * m4/base64.m4: New file.
106456 2004-11-30  Simon Josefsson  <jas@extundo.com>
106458         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
106459         base64.
106461         * tests/test-base64.c: New file.
106463         * modules/base64: New file.
106465 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
106467         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
106468         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
106470         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
106472 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
106474         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
106475         (__getcwd.c): Don't restore errno; glibc doesn't.
106476         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
106477         first, falling back to our code only if its results look suspicious.
106478         Ensure that the resulting buffer is only as large as necessary.
106480         * lib/readutmp.c: Include readutmp.h first.
106481         Include <errno.h>, since readutmp.h no longer does that.
106482         * lib/readutmp.h: Don't include <errno.h>,
106483         <sys/param.h>, <time.h>; not needed to establish interface.
106484         (errno): Remove decl.
106485         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
106486         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
106487         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
106489 2004-11-28  Simon Josefsson  <jas@extundo.com>
106491         * lib/base64.h, base64.c: New file.
106493 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
106495         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
106497 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
106499         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
106500         (Depends-on): Remove pathmax, same.  Add mempcpy.
106501         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
106502         (Makefile.am): Append getcwd.h to lib_SOURCES.
106503         (Include): Add getcwd.h.
106504         (Maintainer): Change from Jim Meyering to "all, glibc",
106505         since getdate now uses intended-for-glibc code.
106506         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
106507         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
106509 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
106511         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
106512         HP's ANSI C compiler.
106513         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
106514         Declaring int functions causes warnings on some modern systems and
106515         shouldn't be needed to compile on ancient ones.
106516         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
106517         defined.
106519         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
106520         with the following changes.
106521         (__set_errno): Parenthesize properly.
106522         Include <stdbool.h>.
106523         (MIN, MAX, MATCHING_INO): New macros.
106524         (__getcwd): Define with prototype, not K&R form.
106525         Use heuristics to allocate default buffer on stack if possible.
106526         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
106527         behavior, and to avoid the PATH_MAX limit when computing
106528         ../../../../...
106529         Use MATCHING_INO to compare inode number to file.
106530         Check for arithmetic overflow in size calculations.
106531         Fix bug in reallocation of dot array that caused getcwd to fail
106532         on directories nested deeper than 75.
106533         Be more careful about saving errno on error.
106534         Do not use realloc; use only free+malloc, as this is a bit
106535         more flexible and avoids a needless copy operation.
106536         Do not inspect st_dev and st_ino for symbolic links; POSIX
106537         doesn't specify the latter.
106538         Check for closedir errors.
106539         Avoid needless casts.
106540         Use "#ifdef weak_alias" around weak_alias, to be like other
106541         glibc code.
106542         The following changes to getcwd.c have effect only when used in
106543         gnulib; they have no effect inside glibc proper.
106544         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
106545         as alloca isn't used.
106546         (alloca, __alloca): Likewise.
106547         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
106548         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
106549         unconditionally, as gnulib assumes C89 or better.
106550         Do not include <sys/param.h>.
106551         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
106552         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
106553         better.
106554         (NULL) [!defined NULL]: Remove; we assume C89 or better.
106555         Include <dirent.h> in a way that is compatible with modern Autoconf.
106556         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
106557         New macros, if not already defined.
106558         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
106559         Use "_LIBC", not "defined _LIBC", for consistency.
106560         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
106561         a mempcpy module.
106562         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
106563         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
106564         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
106565         credit only to Jim Meyering and adjust the copyright dates.
106566         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
106567         <stdlib.h>, <unistd.h>, "pathmax.h".
106568         Instead, include "xgetcwd.h" (first) and "getcwd.h".
106569         (INITIAL_BUFFER_SIZE): Remove.
106570         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
106572 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
106574         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
106575         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
106576         Use the _ONCE methods, for efficiency.
106577         Check for fcntl.h.  In test program, include <errno.h>
106578         and <fcntl.h> if available.  Remove old K&R cruft from
106579         test program.  Check for common errors in GNU/Linux,
106580         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
106581         don't do AC_LIBOBJ, as that's getcwd.m4's job.
106582         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
106583         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
106584         name accordingly.
106585         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
106586         accommodate new getcwd.c.
106587         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
106588         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
106589         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
106590         that's all we need now.
106592 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106594         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
106595         argp-parse.c depends on getopt internals, that means we should
106596         always use our getopt, to be on the safe side.
106597         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
106598         order not to spoil the result of an eventual previous invocation
106599         of gl_GETOPT_SUBSTITUTE.
106601 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106603         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
106604         redefinition warnings. To avoid them, include the defines
106605         in `#if !defined __need_getopt ... #endif'. The only place
106606         where __getopt_argv_const is used is in definitions
106607         of getopt_long and getopt_long_only below, which are as well
106608         protected by `#ifndef __need_getopt'.
106609         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
106610         __need_getopt after including <stdio.h> and <unistd.h> These
106611         headers might have defined it.
106613 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
106615         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
106617 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
106619         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
106620         (futimens): New function, which uses futimes if available.
106621         (futimens, utimens): Support timespec==NULL, with same semantics
106622         as utime and utimens.
106623         * lib/utimens.h (futimens): New decl.
106625 2004-11-23  Jim Meyering  <jim@meyering.net>
106627         * lib/getopt_.h: Remove trailing blanks.
106629 2004-11-23  Jim Meyering  <jim@meyering.net>
106631         * lib/__fpending.c: Add comment.
106633 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
106635         * modules/canonicalize (Depends-on): Add xreadlink.
106636         Problem reported by James Youngman.
106638 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
106640         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
106641         New macros.
106642         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
106643         optopt): Use them instead of invoking ## directly; otherwise, the
106644         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
106646 2004-11-19  Bruno Haible  <bruno@clisp.org>
106648         * lib/strtok_r.c: Move comments from here...
106649         * lib/strtok_r.h: ... to here.
106651 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
106653         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
106654         implementations that mishandle size_t overflow.
106656 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
106658         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
106659         might fail.  Problem reported by Yoann Vandoorselaere.
106660         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
106661         implementations that mishandle size_t overflow.
106663 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
106665         * modules/canon-host (Depends-on): Add strdup.
106667 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
106669         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
106671 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
106673         * lib/canon-host.c: Include "strdup.h".
106674         (canon_host): Use getaddrinfo if available, so that IPv6 works.
106675         Use strdup instead of malloc/strcpy to duplicate strings.
106677         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
106678         (human_space_before_unit): New constant.
106679         * lib/human.c (human_readable): Support it.
106681         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
106682         (xgetcwd): Set errno correctly when failing.
106683         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
106684         the failure is actually due to a PATH_MAX problem.
106686         Further getopt changes to make it more likely that glibc will
106687         buy the changes back.
106688         * lib/getopt.c (POSIXLY_CORRECT): New constant.
106689         (getopt): Use it, so to preserve glibc semantic
106690         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
106691         when compiling for libc.
106692         * lib/getopt_.h (__getopt_argv_const): Bring it back.
106693         (getopt_long, getopt_long_only): Use it.
106695         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
106696         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
106697         (getopt): Argv is now char * const *, as per standard.
106698         (_getopt_internal_r, _getopt_internal): Argv is now char **,
106699         not char *__getopt_argv_const *.
106700         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
106701         _getopt_long_only_r): Likewise.
106702         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
106703         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
106704         _getopt_long_r, _getopt_long_only_r): Likewise.
106705         * lib/getopt_.h (__getopt_argv_const): Remove.
106706         (getopt): Argv is now char * const *, as per standard.
106708         * lib/getdate.y (tORDINAL): New token.
106709         (day, relunit): Allow it for relative times.
106710         (relative_time_table): Use tORDINAL for ordinals.
106712 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
106714         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
106715         Document that "second" isn't allowed as an ordinal number.
106717 2004-11-16  Jim Meyering  <jim@meyering.net>
106719         * modules/closeout (Depends-on): Add fpending.
106721 2004-11-15  Jim Meyering  <jim@meyering.net>
106723         * lib/closeout.c: Include "__fpending.h" once again.
106724         Include <stdbool.h>.
106725         (close_stdout): Don't fail just because stdout was closed initially,
106726         since some programs don't write to stdout in the normal course of
106727         operation (other than --version and --help), and we don't want this
106728         function to make e.g. `touch file >&-' fail.
106729         But do fail if it was closed and someone has tried to write to it.
106730         E.g., `printf foo >&-' must fail.
106732 2004-11-13  Jim Meyering  <jim@meyering.net>
106734         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
106736 2004-11-12  Simon Josefsson  <jas@extundo.com>
106738         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
106739         small doc fix is still pending.
106741 2004-11-11  Simon Josefsson  <jas@extundo.com>
106743         * modules/strtok_r: New file.
106745         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
106746         strtok_r.
106748 2004-11-11  Simon Josefsson  <jas@extundo.com>
106750         * m4/strtok_r.m4: New file.
106752         * m4/getopt.m4: Replace opterr.
106754 2004-11-11  Simon Josefsson  <jas@extundo.com>
106756         * lib/strtok_r.h, strtok_r.c: New file.
106758 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
106760         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
106761         of replacing opterr, getopt, etc.  This should handle the
106762         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
106764 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
106766         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
106767         we can stop lying to compilers about the constness of argv when we
106768         are compiled outside glibc.
106769         (getopt, getopt_long, getopt_long_only): Use it.
106770         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
106771         _getopt_internal, getopt): Likewise.
106772         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
106773         _getopt_long_only_r): Likewise.
106774         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
106775         _getopt_long_r, _getopt_long_only_r): Likewise.
106777         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
106778         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
106779         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
106780         the other external symbols.
106781         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
106782         declaration, since the above renaming now works around collisions.
106784 2004-11-11  Jim Meyering  <jim@meyering.net>
106786         * lib/linebreak.c: Remove trailing blanks.
106787         * lib/alloca_.h: Likewise.
106788         * lib/acosl.c: Likewise.
106789         * lib/euidaccess.c: Likewise.
106790         * lib/allocsa.h: Likewise.
106792 2004-11-10  Simon Josefsson  <jas@extundo.com>
106794         * m4/getaddrinfo.m4: New file.
106796 2004-11-10  Simon Josefsson  <jas@extundo.com>
106798         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
106800 2004-11-10  Simon Josefsson  <jas@extundo.com>
106802         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
106803         getaddrinfo.
106805         * modules/getaddrinfo: New file.
106807 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
106809         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
106811 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
106813         * lib/mktime.c (SHR): New macro, which is a portable
106814         substitute for >> that should work even on Crays.
106815         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
106816         Problem reported by Mark D. Baushke in
106817         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00071.html>.
106818         * lib/getdate.y (SHR): Likewise.
106819         (tm_diff): Use it.
106820         * lib/strftime.c (SHR): Likewise.
106821         (tm_diff): Use it.
106822         * lib/quotearg.c (struct quoting_options): Use unsigned int for
106823         quote_these_too, so that right shifts are well defined.  All uses
106824         changed.
106826 2004-11-10  Jim Meyering  <jim@meyering.net>
106828         Ensure that no close failure goes unreported.
106829         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
106830         return early when it seems there's nothing to flush.
106831         Don't include __fpending.h.
106833 2004-11-10  Jim Meyering  <jim@meyering.net>
106835         * modules/closeout (Depends-on): Remove fpending.
106837 2004-11-10  Jim Meyering  <jim@meyering.net>
106839         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
106841 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
106843         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
106844         gl_FUNC_STRFTIME.
106845         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
106846         and AC_REQUIRE when possible, to avoid duplicate checks.
106847         Check for <wchar.h>.
106849 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
106851         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
106853 2004-11-09  Bruno Haible  <bruno@clisp.org>
106855         * m4/sockpfaf.m4: New file.
106857 2004-11-05  Bruno Haible  <bruno@clisp.org>
106859         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
106860         Reported by Mark D. Baushke <mdb@cvshome.org>.
106862 2004-11-04  Bruno Haible  <bruno@clisp.org>
106864         2004-09-11  Bruno Haible  <bruno@clisp.org>
106865                 * allocsa.valgrind: New file.
106866         2004-02-06  Bruno Haible  <bruno@clisp.org>
106867                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
106868                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
106869                 Reported by Christopher Seip <chris.seip@hp.com>.
106871 2004-11-04  Bruno Haible  <bruno@clisp.org>
106873         * modules/allocsa (Files): Add lib/allocsa.valgrind.
106874         (Makefile.am): Distribute it.
106876 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
106878         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
106879         with errno == ERANGE if the buffer is too small.
106880         Problem reported by Mark D. Baushke.
106882 2004-11-03  Albert Chin  <china@thewrittenword.com>
106883             Paul Eggert  <eggert@cs.ucla.edu>
106885         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
106886         equivalent, substitute $ac_type for equivalent type rather than
106887         blindly using uint32_t *always* which won't work if uint32_t is not
106888         available.  Define _UINT32_T to work around typedef of uint32_t if
106889         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
106890         2.5.1.
106892 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
106894         * m4/jm-macros.m4: Sync from coreutils.
106895         (gl_MACROS): Check for mbrlen, for pathchk.
106896         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
106898 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
106900         * lib/xreadlink.c (MAXSIZE): New macro.
106901         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
106902         size does not exceed MAXSIZE.  Avoid cast.
106903         As suggested by Mark D. Baushke in
106904         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00009.html>,
106905         if readlink fails with buffer size just under MAXSIZE, try again
106906         with MAXSIZE.
106908 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
106910         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
106912 2004-11-02  Derek R. Price  <derek@ximbiot.com>
106913         and  Paul Eggert  <eggert@cs.ucla.edu>
106915         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
106916         (get_date): Overparenthesize to avoid GCC warning.
106918 2004-11-02  Bruno Haible  <bruno@clisp.org>
106920         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
106921         returns void.
106923 2004-11-02  Bruno Haible  <bruno@clisp.org>
106925         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
106926         function returns void.
106928 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
106930         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
106931         fflush_unlocked, flockfile, funlockfile, funlockfile,
106932         fputs_unlocked, putc_unlocked.
106934 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
106936         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
106937         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
106938         already declared.
106940 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
106942         * modules/getdate (Files): Add doc/getdate.texi.
106943         (Depends-on): Add setenv, xalloc.
106945 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
106947         * lib/getdate.y: Add support for TZ="foo" within a date string.
106948         Fix some bugs near time_t boundaries.  Reject dates with
106949         out-of-range components, e.g., "Sept 31".
106950         Include <stdlib.h>, "setenv.h", "xalloc.h".
106951         (ISDIGIT_LOCALE): Remove; unused.
106952         Note that the TZ and time functions used here are not reentrant.
106953         (mktime_ok, get_tz): New functions.
106954         (TZBUFSIZE): New constant.
106955         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
106956         This requires that we sometimes generate our own TZ="XXX..." setting.
106958 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
106960         * doc/getdate.texi: New file, from coreutils with modifications for
106961         the new TZ parsing.
106963 2004-10-27  Derek R. Price  <derek@ximbiot.com>
106965         * lib/mktime.c (not_equal_tm): Remove redundant check.
106967 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
106969         * modules/regex (lib_SOURCES): Add regex.c.
106970         Reported by James Youngman in
106971         <http://lists.gnu.org/r/bug-gnulib/2004-10/msg00199.html>.
106973 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
106975         * lib/getdate.y: Use Bison 1.875 features, and some minor
106976         code cleanups.  This change does not affect semantics.
106977         Don't include <stdlib.h>; no longer needed.
106978         Don't include unlocked-io.h; only the "#if TEST" code uses
106979         stdio, and performance isn't crucial there.
106980         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
106981         Bison 1.875 features as described below.
106982         All uses of "PC." replaced by "pc->".
106983         (YYSTYPE): Add a forward declaration.
106984         (yylex, yyerror): Use full prototypes in forward decls.
106985         Use "%pure-parser" rather than obsolescent "%pure_parser".
106986         Use %parse-param and %lex-param instead of obsolescent
106987         YYPARSE_PARAM and YYLEX_PARAM.
106988         (meridian_table, month_and_day_table, time_units_table,
106989         relative_time_table, time_zone_table, military_table,
106990         lookup_zone, lookup_word, get_date):
106991         Use NULL instead of 0 where appropriate.
106992         (to_hour): Avoid abort (), to avoid a dependency on
106993         stdlib.h.
106994         (yyerror, yylex): Now accepts parser_control * arg.
106995         (main) [TEST]: Use '\0' rather than 0 for char.
106997 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
106999         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
107001 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
107003         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
107004         It's now the caller's responsibility to handle the case where
107005         !HAVE_GETPAGESIZE && !defined getpagesize.
107007         * lib/mktime.c (leapyear): Arg is long int, not int.
107009 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
107011         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
107013 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
107015         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
107016         missing.  Problem reported by James Youngman.
107018 2004-10-16  Simon Josefsson  <jas@extundo.com>
107020         * gnulib-tool: Fix comments.  Fix parse problem.
107021         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
107023 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
107025         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
107026         implementation of getopt_long.  Problem reported by Alexander Taler in:
107027         http://lists.gnu.org/r/bug-gnulib/2004-10/msg00103.html
107029 2004-10-15  Bruno Haible  <bruno@clisp.org>
107031         * gnulib-tool: Untabify. Initialize supplied_libname.
107032         (func_usage): More homogenous output.
107033         (func_modules_transitive_closure, func_modules_to_filelist,
107034         func_emit_lib_Makefile_am): New functions.
107035         (func_import): New function, extracted from big case statement. Use
107036         func_get_license, func_modules_transitive_closure,
107037         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
107038         opt_lgpl. Don't use test -a, as it's not portable.
107039         (func_create_testdir): Use func_modules_transitive_closure,
107040         func_modules_to_filelist, func_emit_lib_Makefile_am.
107042 2004-10-15  Bruno Haible  <bruno@clisp.org>
107044         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
107046 2004-10-15  Bruno Haible  <bruno@clisp.org>
107048         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
107049         the portions belonging to each module.
107050         Suggested by Derek Robert Price <derek@ximbiot.com>.
107052 2004-10-12  Simon Josefsson  <jas@extundo.com>
107054         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
107055         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
107056         to real functions.
107058 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107060         * modules/vsnprintf: New file.
107062 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107064         * m4/vsnprintf.m4: New file.
107066 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107068         * lib/vsnprintf.h: New file.
107069         * lib/vsnprintf.c: New file.
107071 2004-10-11  Bruno Haible  <bruno@clisp.org>
107073         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
107074         vsnprintf.
107076 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
107078         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
107080 2004-10-07  Bruno Haible  <bruno@clisp.org>
107082         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
107083         fits into the provided buffer.
107085 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
107087         * lib/diacrit.c, diacrit.h: Add GPL notice.
107089         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
107090         notice.
107091         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
107092         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
107093         This avoids a potential constant-folding bug.
107095 2004-10-05  Bruno Haible  <bruno@clisp.org>
107097         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
107098         for the declaration of strsep.
107100 2004-10-05  Bruno Haible  <bruno@clisp.org>
107102         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
107104 2004-10-04  Simon Josefsson  <jas@extundo.com>
107106         * modules/memmem: New file.
107107         * tests/test-memmem.c: New file.
107108         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
107110 2004-10-04  Simon Josefsson  <jas@extundo.com>
107112         * m4/memmem.m4: New file.
107114 2004-10-04  Simon Josefsson  <jas@extundo.com>
107116         * lib/memmem.h: New file.
107117         * lib/memmem.c: New file, taken from glibc.
107119 2004-10-04  Simon Josefsson  <jas@extundo.com>
107121         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
107122         '#ifdef USE_UNLOCKED_IO'.
107124 2004-10-04  Simon Josefsson  <jas@extundo.com>
107126         * config/srclist.txt: Add memmem from glibc.
107128 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
107130         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
107132         * modules/argmatch, modules/argp, modules/closeout, modules/error,
107133         modules/exclude, modules/getdate, modules/getline,
107134         modules/getndelim2, modules/getpass, modules/getpass-gnu,
107135         modules/getusershell, modules/linebuffer, modules/md5,
107136         modules/mountlist, modules/posixtm, modules/readtokens,
107137         modules/readutmp, modules/regex, modules/sha1,
107138         modules/version-etc, modules/yesno:
107139         Remove dependency on unlocked-io.
107141 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
107143         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
107145         * m4/unlocked-io.m4: Add copyright notice.
107146         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
107148 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
107150         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
107151         * lib/xmalloc.c (xmemdup): Likewise.
107152         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
107153         XFREE): Remove these long-obsolescent macros.
107154         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
107155         * lib/xstrdup.c: Remove.
107157         * lib/regex.c (re_comp): Cast gettext return value to char *,
107158         Problem reported by Martin Neitzel via Mark D. Baushke.
107160 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
107162         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
107163         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
107164         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
107165         regex.c, sha1.c, version-etc.c, yesno.c:
107166         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
107167         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
107168         the includer's responsibility.
107170         Sync from coreutils.
107172         * lib/modechange.c (mode_compile): Don't decrement a pointer that
107173         points to the start of a string, as the C Standard says the
107174         resulting behavior is undefined.
107176         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
107177         simple -> simple_backups, numbered_existing ->
107178         numbered_existing_backups, numbered -> numbered_backups
107179         to avoid shadowing problems.  All uses changed.
107180         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
107181         * lib/backupfile.c (check_extension, numbered_backup):
107182         Rename locals to avoid shadowing 'basename'.
107183         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
107184         once.
107186         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
107187         * lib/.cvsignore: Add getopt.h.
107189 2004-10-04  Bruno Haible  <bruno@clisp.org>
107191         * modules/README: New file.
107192         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
107193         not a module.
107195 2004-10-02  Jim Meyering  <jim@meyering.net>
107197         * lib/dirfd.h, getpagesize.h: Add copyright notice.
107199 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107201         * modules/strsep: New file.
107203 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107205         * m4/strsep.m4: New file.
107207 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107209         * lib/strsep.h: New file.
107210         * lib/strsep.c: New file.
107212 2004-10-01  Simon Josefsson  <jas@extundo.com>
107214         * lib/snprintf.c (snprintf): Handle size==0.
107216 2004-10-01  Simon Josefsson  <jas@extundo.com>
107217             Bruno Haible  <bruno@clisp.org>
107219         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
107220         (snprintf): Declare 'args'.
107222 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
107224         * lib/snprintf.c: Remove comments as to why each header is needed.
107226 2004-10-01  Bruno Haible  <bruno@clisp.org>
107228         * MODULES.html.sh: Add strsep.
107230 2004-09-30  Simon Josefsson  <jas@extundo.com>
107232         * modules/snprintf: New file.
107234 2004-09-30  Simon Josefsson  <jas@extundo.com>
107236         * m4/snprintf.m4: New file.
107238 2004-09-30  Simon Josefsson  <jas@extundo.com>
107240         * lib/snprintf.h, lib/snprintf.c: New files.
107242 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
107244         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
107245         (hol_entry_help): Never translate an empty string.
107246         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
107247         * lib/argp.h (OPTION_NO_TRANS): New option.
107249 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
107251         * modules/argp (Maintainer): Replace Simon Josefsson
107252         by Sergey Poznyakoff.
107254 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
107256         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
107257         changes merged back into glibc.
107259 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
107261         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
107263 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
107265         * lib/xvasprintf.c: Include xalloc.h.
107266         (xvasprintf): Use xalloc_die, not xmalloc_die.
107268 2004-09-29  Bruno Haible  <bruno@clisp.org>
107270         * modules/alloca-opt: New file, derived from modules/alloca.
107271         * modules/allocsa: Depend on alloca-opt instead of alloca.
107272         * modules/setenv: Likewise.
107273         * modules/vasnprintf: Likewise.
107274         * MODULES.html.sh: Add alloca-opt.
107276 2004-09-28  Simon Josefsson  <jas@extundo.com>
107278         * gnulib-tool: New parameter --lgpl, to asseert that modules are
107279         LGPL, and to replace license template from GPL to LGPL.
107281 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
107283         * modules/dummy: Change license to LGPL.
107285 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
107287         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
107289 2004-09-24  Simon Josefsson  <jas@extundo.com>
107291         * modules/minmax (License): Change from GPL to LGPL.
107293 2004-09-23  Simon Josefsson  <jas@extundo.com>
107295         * gnulib-tool (--import): Typo.
107297 2004-09-23  Simon Josefsson  <jas@extundo.com>
107299         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
107301 2004-09-22  Bruno Haible  <bruno@clisp.org>
107303         * modules/*: Add 'License' field.
107304         * gnulib-tool: Accept --extract-license option.
107305         (func_get_license): New function.
107307 2004-09-21  Bruno Haible  <bruno@clisp.org>
107309         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
107310         Reported by Simon Josefsson.
107312 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
107314         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
107315         gl_AC_TYPE_LONG_LONG.
107317 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
107319         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
107321 2004-09-18  Simon Josefsson  <jas@extundo.com>
107322         and  Paul Eggert  <eggert@cs.ucla.edu>
107324         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
107325         calls with autoreconf.  Define GL_LIB.
107327 2004-09-14  Karl Berry  <karl@gnu.org>
107329         * config/srclist.txt: unsync setenv.c, sigh.
107331 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
107333         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
107334         Problem reported by Bruno Haible in:
107335         http://lists.gnu.org/r/bug-tar/2004-09/msg00023.html
107337 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
107339         * config/srclist.txt: Comment out argp-pvh.c.
107341 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
107343         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
107344         in case some system header has #define'd it.  Problem reported by
107345         Soeren D. Schulze in
107346         <http://lists.gnu.org/r/bug-gnulib/2004-09/msg00017.html>.
107348 2004-09-09  Karl Berry  <karl@gnu.org>
107350         * regex.[ch]: delete from the root.  These were supposed to be
107351                 synced with emacs cvs, but this has not happened for about
107352                 a year, and anyway nothing else uses emacs regex.[ch].
107353                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
107354                 lib/regex[.ch] is untouched.
107356 2004-09-09  Bruno Haible  <bruno@clisp.org>
107358         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
107360 2004-09-09  Bruno Haible  <bruno@clisp.org>
107362         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
107363         modifications.
107364         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
107366 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
107368         * modules/xvasprintf: New file.
107369         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
107371 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
107373         * lib/xvasprintf.h: New file.
107374         * lib/xvasprintf.c: New file.
107375         * lib/xasprintf.c: New file.
107377 2004-09-08  Bruno Haible  <bruno@clisp.org>
107379         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
107381 2004-09-08  Bruno Haible  <bruno@clisp.org>
107383         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
107384         length is > INT_MAX.
107385         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
107386         more.
107388 2004-09-08  Bruno Haible  <bruno@clisp.org>
107390         * lib/stdint_.h: New file, taken from GNU clisp.
107392 2004-09-08  Bruno Haible  <bruno@clisp.org>
107393             Oskar Liljeblad  <oskar@osk.mine.nu>
107395         * modules/stdint: New file.
107396         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
107398 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
107400         Import from coreutils.
107401         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
107402         strings on unbounded length.  alloca's performance benefits aren't
107403         that important here.
107404         (V_STRDUP): Remove.
107405         (parse_with_separator): New function, with most of the internals
107406         of the old parse_user_spec.  Allow user to omit both user and group,
107407         for compatibility with FreeBSD.
107408         Clone only the user name, not the entire spec.
107409         Do not set *uid, *gid unless entirely successful.
107410         Avoid memory leak in some failing cases.
107411         Fix regression for USER.GROUP reported by Dmitry V. Levin in
107412         <http://lists.gnu.org/r/bug-coreutils/2004-08/msg00102.html>
107413         (parse_user_spec): Rewrite to use parse_with_separator.
107415 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
107417         * modules/userspec: Don't depend on alloca.
107419 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
107421         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
107423 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
107425         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
107426         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
107427         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
107429 2004-08-16  Simon Josefsson  <jas@extundo.com>
107431         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
107432         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
107433         Add --dry-run for --import.
107434         Let user provided command line parameters override configure.ac
107435         settings.
107437 2004-08-12  Simon Josefsson  <jas@extundo.com>
107439         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
107440         as discussed with Paul Eggert in threads rooted at
107441         <http://lists.gnu.org/r/bug-gnulib/2004-06/msg00039.html>
107442         and
107443         <http://lists.gnu.org/r/bug-gnulib/2004-07/msg00001.html>.
107444         Before, the test was empty, and relied on ELIDE_CODE in source
107445         code.)
107446         (gl_PREREQ_GETOPT): New macro.
107447         (gl_GETOPT): Use them.
107449 2004-08-12  Simon Josefsson  <jas@extundo.com>
107451         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
107452         * lib/getopt_.h: Renamed from getopt.h.
107454 2004-08-12  Simon Josefsson  <jas@extundo.com>
107456         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
107457         Change default library name from libfoo to libgnu.
107458         Now, if you have a configure.ac that says:
107459                 gl_SOURCE_BASE(gl)
107460                 gl_M4_BASE(gl/m4)
107461                 gl_MODULES(error getopt etcetera)
107462                 gl_INIT
107463         you can import all you need by running:
107464                 ../gnulib/gnulib-tool --import
107466         * modules/getopt (Files): Rename getopt.h to getopt_.h.
107467         (Makefile.am): Rewrite, use logic from argz.
107468         (Include): Use <getopt.h> instead of "getopt.h".
107470 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
107472         * modules/argp (Files): Add m4/unlocked-io.m4.
107473         (Depends-on): Add extensions.
107475 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
107477         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
107478         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
107479         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
107480         Check for program_invocation_name, program_invocation_short_name,
107481         flockfile, funlockfile, features.h, _getopt_long_only_r.
107483 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
107485         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
107486         its complicated substitute.
107487         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
107488         and program_invocation_name.
107489         (__argp_basename) [!_LIBC]: Remove; the only use was
107490         replaced by its body.
107491         (__argp_short_program_name): Change condition from
107492         !defined __argp_short_program_name to
107493         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
107494         to match argp-namefrob.h.
107495         (__argp_failure): Don't assume strerror_r returns char *.
107496         * lib/argp-parse.c (N_): Define unconditionally.
107497         (argp_default_options): Fill out initializers with 0 to avoid
107498         gcc warnings.
107500 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
107502         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
107503         getopt1.c.
107505 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
107507         Merge from coreutils.
107509         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
107511         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
107512         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
107514 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
107516         Merge from coreutils.
107518         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
107519         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
107520         for Reliant Unix 5.43.
107522         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
107523         (union fooround): Use uintmax_t, not long int.
107524         The rest is a merge from libc:
107525         [defined _LIBC]: Include <shlib-compat.h>.
107526         (_obstack) [defined _LIBC]: Remove after 2.3.4.
107528         * lib/settime.c (settime): Recode to avoid warning with
107529         Sun Forte C 6U2.
107531         * lib/strverscmp.c: Convert to UTF-8.
107533 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
107535         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
107536         m4/uintmax_t.m4.
107538 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
107540         * modules/xalloc-die: New file.
107541         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
107543         * modules/md5 (Files): Add m4/uint32_t.m4.
107544         * modules/sha1: Renamed from modules/sha.
107545         (Files):
107546         Rename lib/sha.h to lib/sha1.h.
107547         Rename lib/sha.c to lib/sha1.c.
107548         Rename m4/sha.m4 to m4/sha1.m4.
107549         (lib_SOURCES): Likewise.
107550         (configure.ac): Rename gl_SHA to gl_SHA1.
107551         (Include): sha.h -> sha1.h.
107553 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
107555         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
107556         * m4/sha1.m4: Renamed from sha.m4.
107557         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
107559 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
107561         * lib/obstack.h (obstack_empty_p):
107562         Don't assume that chunk->contents is suitably aligned.
107563         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
107564         Likewise. Problem reported by Benno in
107565         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
107567         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
107568         readable.  This could be improved further but it'd take some work.
107570 2004-08-08  Simon Josefsson  <jas@extundo.com>
107572         * modules/xgethostname (Depends-on): Remove exit and error (not
107573         used).
107575         * modules/getpass-gnu: Add getpass.h.
107576         (Depends-on): Add stdbool.
107577         * modules/getpass: Add getpass.h.
107579 2004-08-08  Simon Josefsson  <jas@extundo.com>
107581         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
107582         Check getpass declaration.
107584 2004-08-08  Simon Josefsson  <jas@extundo.com>
107586         * lib/xgethostname.c: Don't include error.h (not used).
107588         * lib/getpass.h: Add.
107589         * lib/getpass.c: Include getpass.h first.
107591 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
107593         * lib/xalloc-die.c: New file.
107594         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
107595         All uses removed.
107596         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
107597         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
107598         xalloc-die.c.
107599         (_, N_, xalloc_die): Move to xalloc-die.c.
107600         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
107601         so that we needn't mess with xalloc_msg_memory_exhausted.
107603         * lib/sha1.h: Renamed from sha.h.
107604         (SHA1_H): Renamed from _SHA_H.
107605         (sha1_ctx): Renamed from sha_ctx.
107606         (sha1_init_ctx): Renamed from sha_init_ctx.
107607         (sha1_process_block): Renamed from sha_process_block.
107608         (sha1_process_bytes): Renamed from sha_process_bytes.
107609         (sha1_finish_ctx): Renamed from sha_finish_ctx.
107610         (sha1_read_ctx): Renamed from sha_read_ctx.
107611         (sha1_stream): Renamed from sha_stream.
107612         (sha1_buffer): Renamed from sha_buffer.
107613         * lib/sha1.c: Likewise; renamed from sha.c.
107614         Do not include <sys/types.h>.
107615         Include <stddef.h> rather than <stdlib.h>.
107617 2004-08-08  Bruno Haible  <bruno@clisp.org>
107619         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
107620         FILESYSTEM_PREFIX_LEN.
107621         * lib/progreloc.c: Likewise.
107622         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
107624 2004-08-06  Simon Josefsson  <jas@extundo.com>
107626         * modules/progname (Depends-on): Don't depend on stdbool.
107628 2004-08-06  Simon Josefsson  <jas@extundo.com>
107630         * modules/getsubopt: New file.
107631         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
107632         getsubopt.
107634 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
107636         More merge from coreutils.
107638         * m4/utimens.m4, m4/utimecmp.m4: New files.
107639         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
107640         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
107641         prereq.m4, sha.m4: Import changes from coreutils.
107643 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
107645         More merge from coreutils.
107646         * modules/raise, modules/readtokens0, modules/utimens:
107647         * modules/utimecmp, module/xnanosleep: New files.
107648         * modules/strftime: Add lib/strftime.h.
107649         Change include from <time.h> to "strftime.h".
107650         * modules/yesno: Add lib/yesno.h.
107651         * modules/backupfile: Remove lib/addext.c.
107652         * modules/euidaccess: Add stat-macros.h.
107653         * modules/canonicalize, modules/euidaccess,
107654         modules/filemode, modules/lchown, modules/makepath,
107655         modules/rmdir, modules/stat: Likewise.
107657 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
107659         Merge from tar.
107660         * lib/argp-help.c (make_hol, hol_append): Don't assume that
107661         SIZE_MAX is a valid preprocessor constant.
107662         (__argp_basename): Change from "#ifndef _LIBC"
107663         to "#ifndef __argp_short_program_name", so that
107664         we don't compile these functions for tar.
107666         More merges from coreutils.
107667         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
107668         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
107669         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
107670         * lib/addext.c: Remove; no longer needed.
107671         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
107672         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
107673         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
107674         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
107675         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
107676         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
107677         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
107678         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
107679         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
107680         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
107681         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
107682         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
107683         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
107684         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
107685         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
107686         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
107687         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
107688         Import changes from coreutils.
107690 2004-08-05  Simon Josefsson  <jas@extundo.com>
107692         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
107694 2004-08-05  Simon Josefsson  <jas@extundo.com>
107696         * m4/getsubopt.m4: New file.
107698 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
107700         Merge from coreutils.
107702         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
107703         * m4/getcwd-path-max.m4: New files.
107705         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
107706         FILESYSTEM_PREFIX_LEN ->
107707         FILE_SYSTEM_PREFIX_LEN.
107708         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
107709         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
107710         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
107711         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
107713         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
107714         prerequisite modules now handle the DOS stuff.
107715         Don't check for unistd.h.
107717 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
107719         Merge from coreutils.
107721         * lib/.gdb-history: Remove; this doesn't belong here.
107723         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
107724         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
107725         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
107726         * lib/getcwd.c: New files.
107728         * lib/dirname.h: Include <stdbool.h>.
107729         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
107730         for consistency with POSIX terminology.  All uses changed.
107731         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
107732         (strip_trailing_slashes): Use bool for booleans.
107733         * lib/stripslash.c (strip_trailing_slashes): Likewise.
107735         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
107736         sometimes returns a positive errno value even when it succeeds.
107737         (print_errno_message) [!LIBC]: Fall back on strerror if
107738         __strerror_r fails.
107740         * lib/path-concat.c (mempcpy): Don't define if a system header defines
107741         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
107742         (longest_relative_suffix): New function.
107743         (path_concat): Use it.  Assume first argument is not NULL.
107744         Port to DOS.  Omit redundant separators.
107745         Report an error instead of returning NULL.
107746         Use mempcpy instead of memcpy.
107747         (xpath_concat): Remove: not declared or used.
107749         * lib/same.h: Include <stdbool.h>
107750         (same_name): Return bool, not int.
107751         * lib/same.c (same_name): Likewise.
107752         (errno): Don't declare; we assume C89 or better now.
107754         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
107755         if not already defined.
107757         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
107758         * lib/dup-safer.c (errno): Likewise.
107760 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
107762         Merge from coreutils.
107763         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
107764         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
107765         * modules/path-concat: Don't depend on strdup.
107767 2004-08-03  Simon Josefsson  <jas@extundo.com>
107769         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
107770         * lib/progname.h: Don't include stdbool.h.
107772 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
107774         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
107775         * MODULES.html.sh (func_all_modules): Remove fatal.
107777 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
107779         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
107781 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
107783         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
107784         working.
107786 2004-08-02  Simon Josefsson  <jas@extundo.com>
107788         * lib/getsubopt.h: New file, with comments from Bruno Haible.
107789         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
107790         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
107792 2004-08-01  Simon Josefsson  <jas@extundo.com>
107794         * lib/xgetdomainname.c: Include stdlib.h, for free().
107796 2004-07-19  Bruno Haible  <bruno@clisp.org>
107798         * MODULES.html.sh (func_all_modules): Add dummy.
107800 2004-07-16  Simon Josefsson  <jas@extundo.com>
107802         * modules/dummy: New file.
107804 2004-07-16  Simon Josefsson  <jas@extundo.com>
107806         * lib/dummy.c: New file.
107808 2004-07-16  Bruno Haible  <bruno@clisp.org>
107810         * lib/backupfile.h: Add extern "C" for C++.
107811         * lib/closeout.h: Likewise.
107812         * lib/copy-file.h: Likewise.
107813         * lib/findprog.h: Likewise.
107814         * lib/full-write.h: Likewise.
107815         * lib/pathname.h: Likewise.
107816         * lib/progname.h: Likewise.
107817         * lib/stpcpy.h: Likewise.
107818         * lib/stpncpy.h: Likewise.
107819         * lib/strcase.h: Likewise.
107820         * lib/strstr.h: Likewise.
107821         * lib/xalloc.h: Likewise.
107823         * lib/mbswidth.h: Add extern "C" for C++.
107824         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
107826 2004-07-13  Robert Millan  <robertmh@gnu.org>
107828         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
107830 2004-07-09  Simon Josefsson  <jas@extundo.com>
107832         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
107833         failed without this.)
107835 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
107837         * modules/chown (Files): Add lib/fchown-stub.c, since
107838         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
107840 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
107842         * lib/fchown-stub.c: New file.
107844 2004-06-24  Jim Meyering  <jim@meyering.net>
107846         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
107848 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
107850         * modules/argz: Omit "#include".
107852         * MODULES.html.sh (func_all_modules): Add calloc, to match
107853         2004-06-01 addition of calloc module.
107855 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
107857         * m4/argz.m4: New file, which is autoupdated from libtool.
107859 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
107861         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
107862         libtool.
107864 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
107866         * config/srclist-update: Don't insist on "USA." before the
107867         close-comment, as libtool omits the period and puts the */ on a
107868         separate line.
107869         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
107870         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
107872 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
107874         * modules/argz: New file.
107875         * MODULES.html.sh (func_all_modules): Add argz.
107877 2004-06-12  Jim Meyering  <jim@meyering.net>
107878         and  Paul Eggert  <eggert@cs.ucla.edu>
107880         * modules/hash (Files): Add lib/xalloc.h.
107881         * modules/pipe (Depends-on): Add wait-process.
107882         * modules/stat (Depends-on): Add xalloc.
107883         * modules/userspec (Files): Add lib/userspec.h.
107884         * modules/xstrto
107886         Upgrade from gettext-0.13.
107887         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
107888         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
107889         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
107891 2004-06-10  Jim Meyering  <jim@meyering.net>
107893         * lib/calloc.c: New file.
107895 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
107897         * lib/getdate.y (yylex): Allow space between sign and number.
107898         Problem reported by Dan Jacobson.
107900 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
107902         Merge from coreutils CVS.
107904         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
107905         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
107906         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
107907         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
107908         xstrtol.m4: Fix copyright date and/or serial number.
107910         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
107911         See if we need an fchown replacement.
107912         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
107913         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
107914         and use the replacement function if we detect either defect.
107916         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
107917         gl_UTIMECMP.
107919 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
107920         and  Jim Meyering  <jim@meyering.net>
107922         Merge from coreutils CVS.
107924         * lib/stat-macros.h: New file, with contents from file-type.h
107925         and coreutils' system.h.
107926         * lib/file-type.c: Include "stat-macros.h".
107927         * lib/file-type.h (file_type): Move all macro definitions to new file,
107928         stat-macros.h.
107930         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
107931         Wrap old code with this conditional.
107932         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
107933         function that does not dereference symlinks.
107934         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
107936         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
107937         dependency problems.
107938         (xreadlink): Accept new arg SIZE, for efficiency.
107939         All decls and uses changed.
107940         * lib/xreadlink.h: Include <stddef.h>, for size_t.
107942         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
107943         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
107945         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
107946         sysexits.h.
107948 2004-06-01  Jim Meyering  <jim@meyering.net>
107950         * m4/calloc.m4: New file.
107952 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
107954         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
107955         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
107956         Also, fix a typo in a diagnostic.
107958 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
107960         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
107961         or AC_FUNC_REALLOC.
107963 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
107965         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
107966         macros to be defined.
107967         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
107968         the allocator returns NULL because the requested size is zero.
107970 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
107972         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
107973         var.  Add comment explaining why libc still defines it.  This
107974         merges the following patch from glibc:
107975         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
107977 2004-05-20  Andreas Schwab  <schwab@suse.de>
107979         * m4/free.m4: Replace free if it not known to work, not the other
107980         way round.
107982 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
107984         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
107985         present in glibc since revision 1.1 of this file.
107986         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
107987         obstack_alignment_mask, obstack_alloc, obstack_base,
107988         obstack_blank, obstack_blank_fast, obstack_chunk_size,
107989         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
107990         obstack_grow0, obstack_init, obstack_int_grow,
107991         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
107992         obstack_next_free, obstack_object_size, obstack_ptr_grow,
107993         obstack_ptr_grow_fast, obstack_room): Remove declarations of
107994         nonexistent functions.
107996 2004-05-18  Karl Berry  <karl@gnu.org>
107998         * config/srclist.txt: break link for vasnprintf.c.
108000 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
108002         Port obstack to the AS/400, where pointers are 16 bytes wide and
108003         you cannot cast an integer to a valid pointer.  This patch is
108004         currently waiting to be integrated into glibc; see
108005         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
108007         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
108008         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
108009         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
108010         (struct obstack): temp member is now a union of a pointer and
108011         an integer, instead of an integer.  All integer uses changed.
108012         This does not affect the physical layout of struct obstack,
108013         except on hosts (like the AS/400) where the size or alignment of
108014         void * is greater than that of ptrdiff_t.
108015         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
108016         __STDC__)]: Store temporary in pointer member of union, not
108017         integer member.
108018         * lib/obstack.c: Include <stddef.h>, for offsetof.
108019         (struct fooalign): Remove; it doesn't need a name.
108020         (union fooround): Change double to long double, and add void *.
108021         (DEFAULT_ALIGNMENT): Use offsetof to compute.
108022         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
108023         not a macro.  Hence the values are always int; so remove all
108024         casts-to-int in uses.
108026 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
108028         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
108029         we can get this patch merged into glibc.
108031 2004-05-17  Derek R. Price  <derek@ximbiot.com>
108032             Paul Eggert  <eggert@cs.ucla.edu>
108034         * m4/argp: Depend on alloca.
108036 2004-05-17  Derek R. Price  <derek@ximbiot.com>
108037             Paul Eggert  <eggert@cs.ucla.edu>
108039         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
108040         freecoding.
108042 2004-05-17  Bruno Haible  <bruno@clisp.org>
108044         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
108045         precision that consists of a '.' followed by an empty digit string.
108046         Patch by Tor Lillqvist <tml@iki.fi>.
108048 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
108050         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
108051         for backward compatibility with older code.  We need our own
108052         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
108053         it under some other name, and our alloca.h will define it.
108055 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
108056             Derek Price  <derek@ximbiot.com>
108058         * lib/alloca.c: Include <alloca.h>, to get our interface.
108059         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
108060         include <alloca.h> first.  Use C89 prototype for alloca; this
108061         requires including <stddef.h> for size_t.  Use extern "C" if C++.
108062         Use #elif for simplicity, since we can assume C89 now.
108063         Don't try to source the system alloca.h since it will not be found
108064         and to prevent recursively including its replacement.
108065         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
108066         * lib/regex.c: Likewise.
108068 2004-05-16  Derek Price  <derek@ximbiot.com>
108069             Paul Eggert  <eggert@cs.ucla.edu>
108071         getline cleanup.  This changes the getndelim2 API: both order of
108072         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
108073         no delimiter).
108075         * lib/getline.c: Don't include stddef.h or stdio.h, since our
108076         interface does that.
108077         (getline): Always use getdelim, so that we don't have two
108078         copies of this code.
108079         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
108080         if available.
108081         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
108082         (GETNDELIM2_MAXIMUM): New macro.
108083         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
108084         instead of the old practice of delim2==0.  All callers changed.
108085         Return -1 on overflow, instead of returning junk.
108086         Do not set *linesize unless allocation succeeds.
108087         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
108088         that we include sys/types.h.
108089         * lib/getnline.h: Likewise.
108090         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
108091         (getndelim2): Reorder arguments.
108092         * lib/getnline.c (getnline, getndelim):
108093         Don't discard the NMAX argument.
108094         (getnline): Invoke getndelim, to avoid code duplication.
108095         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
108096         of (size_t) -1 by callers of the getnline family.
108098 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
108100         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
108101         Check for gettimeofday.
108102         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
108103         Check for settimeofday, stime.
108105 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
108107         * lib/nanosleep.c (suspended): Change its type from int to
108108         sig_atomic_t volatile.
108109         (first_call): Make it private to rpl_nanosleep, and have it
108110         be zero initially as that's a bit faster.
108111         (my_usleep): Round up fractional times instead of truncating them,
108112         as this is the usual meaning for 'sleep'.
108114         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
108115         doesn't work.
108116         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
108117         (ENOSYS): Define if not defined.
108118         (settime): Fall back on stime if it exists and settimeofday fails.
108119         But don't bother with fallbacks if a method fails with errno == EPERM.
108121 2004-05-11  Jim Meyering  <jim@meyering.net>
108123         Prior to this change, the save_cwd caller required read access to the
108124         current directory on most systems (ones with the fchdir function).
108126         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
108127         fails, try write-only, and finally, resort to using xgetcwd.
108129 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
108131         * lib/obstack.c, obstack.h: Import changes from libc.
108133 2004-04-28  Bruno Haible  <bruno@clisp.org>
108135         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
108136         also implicitly appends .exe to executables.
108137         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
108138         accepts Windows pathnames.
108139         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
108140         Treat Cygwin like Windows, since it now accepts Windows pathnames.
108141         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
108142         Treat Cygwin like Windows, since it now accepts Windows pathnames.
108143         Reported by Derek Robert Price <derek@ximbiot.com>.
108145 2004-04-21  Karl Berry  <karl@gnu.org>
108147         * config/srclist.txt (localcharset.c): break sync.
108149 2004-04-20  Paul Eggert  <eggert@twinsun.com>
108151         * m4/host-os.m4: Add a copyright notice.
108153 2004-04-20  Jim Meyering  <jim@meyering.net>
108155         Change UTILS_ to gl_ in AC_DEFINE'd names.
108156         Change utils_- and jm_-prefixed variables, too.
108157         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
108158         UTILS_FUNC_MKDIR_TRAILING_SLASH.
108159         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
108161         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
108162         Don't emit trailing blanks.
108163         Also rename jm_-prefixed variables to have gl_ prefix.
108165         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
108166         Also rename jm_-prefixed variables to have gl_ prefix.
108168         * m4/jm-macros.m4: Reflect the renamings.
108169         * m4/prereq.m4: Likewise.
108171 2004-04-20  Jim Meyering  <jim@meyering.net>
108173         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
108174         memory.
108176 2004-04-20  Jim Meyering  <jim@meyering.net>
108177             Bruno Haible  <bruno@clisp.org>
108179         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
108180         memory when realloc fails.
108182 2004-04-19  Jim Meyering  <jim@meyering.net>
108184         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
108185         now that readutmp.c may call `free (0)'.
108187 2004-04-19  Bruno Haible  <bruno@clisp.org>
108189         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
108190         * m4/inttypes_h.m4: Likewise.
108191         * m4/stdint_h.m4: Likewise.
108192         * m4/intmax_t.m4: Likewise.
108193         * m4/uintmax_t.m4: Likewise.
108195 2004-04-18  Jim Meyering  <jim@meyering.net>
108197         * m4/prereq.m4: Don't forbid jm_ prefix.
108199         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
108200         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
108201         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
108202         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
108203         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
108204         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
108205         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
108206         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
108207         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
108208         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
108209         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
108210         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
108211         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
108212         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
108213         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
108214         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
108215         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
108216         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
108217         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
108219 2004-04-18  Jim Meyering  <jim@meyering.net>
108221         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
108222         failure, don't leak memory and do call END_UTMP_ENT.
108224 2004-04-16  Jim Meyering  <jim@meyering.net>
108226         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
108227         coreutils' stat program.
108228         (gl_PREREQ): Don't require jm_PREREQ_STAT.
108230 2004-04-11  Paul Eggert  <eggert@twinsun.com>
108232         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
108233         C89.
108234         (CHAR_BIT): Remove, since we assume C89.
108235         Include <stdint.h> if available, as per current Autoconf CVS advice.
108237 2004-03-31  Jim Meyering  <jim@meyering.net>
108239         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
108240         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
108241         * m4/xalloc.m4: Likewise.
108243 2004-03-30  Paul Eggert  <eggert@twinsun.com>
108245         Merge from coreutils.
108247         * m4/inttostr.m4: New file.
108248         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
108249         Require AM_STDBOOL_H and gl_TIMESPEC instead.
108250         Require gl_CLOCK_TIME.
108251         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
108253 2004-03-30  Paul Eggert  <eggert@twinsun.com>
108255         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
108256         not bool, to be more consistent with Unix conventions.
108257         Suggested by Bruno Haible.
108259         Merge from coreutils.
108261         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
108262         * lib/umaxtostr.c: New files.
108264         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
108265         the usual <time.h> dance.
108266         (get_date): Change signature to support fractional time stamps.
108267         All callers changed.
108268         * lib/getdate.y: Include "getdate.h" first, as we can now
108269         assume C89 and don't need to worry about 'const'.
108270         Similarly, include "unlocked-io.h" near start, not in middle.
108271         Include <limits.h>.
108272         (textint.value): Use long int rather than int.
108273         (textint.digits): Use size_t rather than int.
108274         (BILLION, LOG10_BILLION): New constants.
108275         (parser_control): New member rel_ns.  Members day_ordinal,
108276         time_zone, month, day, hour, minutes, rel_year, rel_month,
108277         rel_day, rel_hour, rel_minutes, rel_seconds
108278         are now long int, not int.  Member seconds is now struct timespec,
108279         not int.  New member timespec_seen.  Members dates_seen, days_seen,
108280         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
108281         not int.
108282         (%union.intval): Now long int, not int.
108283         New member timespec.
108284         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
108285         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
108286         (spec): Now is a timespec or an item list.
108287         (timespec, items): New nonterminals.
108288         (time, rel, relunit, number, get_date):
108289         Add support for fractional seconds.
108290         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
108291         (gmtime, localtime, mktime): Remove decls; not needed with C89.
108292         (to_hour): First arg is now long int, not int.
108293         (to_year): Returns long int, not int.
108294         Don't treat year -70 like 70.
108295         (tm_diff): Returns long int, not int.
108296         (lookup_word): Use bool instead of int when appropriate.
108297         (yylex): Use size_t for count, not int.
108298         Detect overflow when parsing large integer constants.
108299         Add support for fractions.
108300         (get_date): Make pointers 'const' if possible.
108301         Use more-portable code to detect integer overflow.
108302         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
108303         Don't use ctime; it's not reliable if the year has >4 digits.
108305         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
108306         This is for compatibility with BSD.
108308         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
108309         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
108310         From coreutils' system.h.
108312         * lib/userspec.c: Don't include "posixver.h".
108313         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
108314         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
108315         compatible extension.  Simplify code by removing a boolean int
108316         that was always nonzero if a string was nonnull.
108318 2004-03-30  Jim Meyering  <jim@meyering.net>
108320         Merge from coreutils.
108322         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
108323         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
108324         on some systems one must include <grp.h> before it.
108325         Reported by Christian Krackowizer.
108327 2004-03-30  Jim Meyering  <jim@meyering.net>
108329         Merge from coreutils.
108331         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
108333         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
108334         an empty input stream.
108336         * lib/readtokens.c: Include <stdbool.h>.
108337         (readtoken): Use `size_t' rather than int/long.
108338         All callers adjusted.
108339         Use `bool' rather than `int' where appropriate.
108340         Use memset rather than an explicit loop.
108341         Use x2nrealloc rather than xrealloc.
108342         Allow the use of `\0' as a delimiter.
108343         (readtokens): Likewise.
108344         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
108346 2004-03-30  Jim Meyering  <jim@meyering.net>
108348         * m4/realloc.m4: Remove file, since now it does no more than
108349         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
108350         the `configure.ac' section of module/realloc.
108351         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
108353 2004-03-30  Bruno Haible  <bruno@clisp.org>
108355         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
108356         nonnull.
108358 2004-03-29  Paul Eggert  <eggert@twinsun.com>
108360         Merge changes to getloadavg.c from coreutils and Emacs.
108362         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
108363         Define to an expression, not to the empty string.
108364         Include cloexec.h and xalloc.h.
108365         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
108366         Use set_cloexec_flag rather than rolling our own.
108367         * lib/cloexec.c, lib/cloexec.h: New files.
108369 2004-03-29  Paul Eggert  <eggert@twinsun.com>
108371         * m4/cloexec.m4: New file.
108373 2004-03-18  Paul Eggert  <eggert@twinsun.com>
108375         * lib/getopt.h: Sync with libc CVS.
108377 2004-03-18  Paul Eggert  <eggert@twinsun.com>
108378             Bruno Haible  <bruno@clisp.org>
108380         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
108381         mbswidth.
108383 2004-03-18  Paul Eggert  <eggert@twinsun.com>
108384             Bruno Haible  <bruno@clisp.org>
108386         * lib/mbswidth.h: Include <wchar.h> only if
108387         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
108388         <wchar.h>.
108389         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
108391 2004-03-09  Paul Eggert  <eggert@twinsun.com>
108393         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
108394         Sync with libc CVS.
108395         * lib/getopt_int.h: New file, also synced from libc.
108397 2004-03-09  Paul Eggert  <eggert@twinsun.com>
108399         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
108400         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
108401         Bring back getopt.c, getopt.h, getopt1.c.
108403 2004-03-07  Paul Eggert  <eggert@twinsun.com>
108405         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
108406         All uses changed.  Check for sa_sigaction member; this fixes
108407         a bug first reported by Jason Andrade in
108408         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
108410 2004-03-07  Paul Eggert  <eggert@twinsun.com>
108412         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
108413         '#if' expressions.  Unlike the code it replaces, it does not
108414         depend on (defined _SC_PAGESIZE).  However, it does depend on
108415         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
108416         first reported by Jason Andrade in
108417         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
108419 2004-02-25  Simon Josefsson  <jas@extundo.com>
108421         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
108423 2004-02-25  Simon Josefsson  <jas@extundo.com>
108425         * lib/strdup.h: New file.
108426         * lib/strdup.c: Include it.
108427         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
108428         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
108430 2004-02-23  Karl Berry  <karl@gnu.org>
108432         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
108433         (from fencepost.gnu.org:/gd/gnuorg).
108435 2004-02-23  Karl Berry  <karl@gnu.org>
108437         * config/srclistvars.sh (GNUORG) [karl]: redefine.
108438         * config/srclist.txt: add maintain/standards documents.
108440 2004-02-18  Bruno Haible  <bruno@clisp.org>
108442         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
108443         Reported by Derek Robert Price <derek@ximbiot.com>.
108445 2004-02-16  Karl Berry  <karl@gnu.org>
108447         * config/mkinstalldirs, install-sh: update from automake.
108449 2004-02-06  Karl Berry  <karl@gnu.org>
108451         * m4/po.m4: update from gettext 0.14.1.
108453 2004-02-06  Karl Berry  <karl@gnu.org>
108455         * lib/config.charset: update from gettext 0.14.1.
108457 2004-02-05  Paul Eggert  <eggert@twinsun.com>
108459         Add comments and code, prompted by suggestions from Bruno Haible
108460         for sh-quote.
108461         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
108462         describing the enum quoting_style values.
108463         * lib/quotearg.c (quotearg_alloc): New function.
108464         (quotearg_buffer_restyled): Treat lone { and } as special.
108465         Treat = as special.  Work around bug with older shells
108466         that "see" a '\' that is really the 2nd byte of a multibyte char.
108467         Quote empty string with shell_quoting_style.
108469 2004-02-03  Bruno Haible  <bruno@clisp.org>
108471         * m4/pipe.m4: New file, from GNU gettext.
108473 2004-02-03  Bruno Haible  <bruno@clisp.org>
108475         * lib/pipe.h: New file, from GNU gettext.
108476         * lib/pipe.c: New file, from GNU gettext.
108478 2004-01-27  Bruno Haible  <bruno@clisp.org>
108480         * m4/execute.m4: New file, from GNU gettext.
108482 2004-01-27  Bruno Haible  <bruno@clisp.org>
108484         * lib/execute.h: New file, from GNU gettext.
108485         * lib/execute.c: New file, from GNU gettext.
108486         * lib/w32spawn.h: New file, from GNU gettext.
108488 2004-01-24  Paul Eggert  <eggert@twinsun.com>
108490         Merge from diffutils.
108492         * lib/file-type.c (file_type): Add typed memory objects.
108493         * lib/file-type.h (S_TYPEISTMO): New macro.
108495         * lib/c-stack.h (c_stack_action): Remove argv argument.
108496         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
108497         (die): Don't calculate message unless segv_action returns.
108498         (get_stack_location, min_address_from_argv, max_address_from_argv,
108499         volatile stack_base, volatile_stack_size): Remove.
108500         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
108501         that every segmentation violation is a stack overflow.  (Ouch!)
108502         See Debian bug 136249 (still outstanding) for more info about why
108503         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
108505 2004-01-24  Paul Eggert  <eggert@twinsun.com>
108507         Exit-status fix from coreutils.
108509         Use exit_failure consistently in place of EXIT_FAILURE,
108510         so that program exit statuses are consistent on failure.
108512         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
108513         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
108514         * lib/argmatch.h: Comment fix to match the above.
108515         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
108516         Now a macro referring to exit_failure, instead of a separate
108517         variable.  Include "exitfail.h" to get it.
108518         * lib/xstrtol.h: Include "exitfail.h".
108519         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
108521         * lib/long-options.c (parse_long_options): Use prototype
108522         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
108523         for clarity.
108525 2004-01-21  Jim Meyering  <jim@meyering.net>
108527         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
108528         so as not to conflict with a different-sized __mktime_internal
108529         function in GNU libc.
108530         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
108531         Problem building statically-linked `ls' reported by Michael Brunnbauer.
108533 2004-01-20  Karl Berry  <karl@gnu.org>
108535         * config/config.guess: update from config.
108537         * config/srclistvars.sh: GNUWWWLICENSES for karl.
108539 2004-01-20  Bruno Haible  <bruno@clisp.org>
108541         Safer stack allocation.
108542         * lib/setenv.c: Include allocsa.h.
108543         (alloca): Remove fallback definition.
108544         (freea): Remove macro.
108545         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
108546         instead of freea.
108548 2004-01-20  Bruno Haible  <bruno@clisp.org>
108550         * m4/eealloc.m4: New file, from GNU gettext.
108552 2004-01-20  Bruno Haible  <bruno@clisp.org>
108554         * m4/allocsa.m4: New file, from GNU gettext.
108556 2004-01-20  Bruno Haible  <bruno@clisp.org>
108558         * lib/xallocsa.h: New file, from GNU gettext.
108559         * lib/xallocsa.c: New file, from GNU gettext.
108561 2004-01-20  Bruno Haible  <bruno@clisp.org>
108563         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
108565 2004-01-20  Bruno Haible  <bruno@clisp.org>
108567         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
108568         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
108569         specially.
108571 2004-01-20  Bruno Haible  <bruno@clisp.org>
108573         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
108574         patch.
108576 2004-01-20  Bruno Haible  <bruno@clisp.org>
108578         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
108580 2004-01-20  Bruno Haible  <bruno@clisp.org>
108582         * lib/eealloc.h: New file.
108584 2004-01-20  Bruno Haible  <bruno@clisp.org>
108586         * lib/binary-io.h: Avoid warnings on Cygwin.
108588 2004-01-20  Bruno Haible  <bruno@clisp.org>
108590         * lib/allocsa.h: New file, from GNU gettext.
108591         * lib/allocsa.c: New file, from GNU gettext.
108593 2004-01-18  Karl Berry  <karl@gnu.org>
108595         * doc/gpl.texi, doc/lgpl.texi: new files.
108597 2004-01-18  Karl Berry  <karl@gnu.org>
108599         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
108600         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
108602 2004-01-15  Paul Eggert  <eggert@twinsun.com>
108604         Merge from coreutils.
108606         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
108607         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
108608         (gl_DEFAULT_POSIX2_VERSION): Move
108609         the documentation from 'configure' into 'config.hin',
108610         so that 'configure --help' isn't burdened by it and
108611         we don't have to worry about its formatting there.
108612         Reword the documentation so that it's more succinct
108613         and can be run together into a single paragraph.
108614         * m4/same.m4 (gl_SAME): Check for pathconf.
108616 2004-01-15  Paul Eggert  <eggert@twinsun.com>
108618         Merge from coreutils.
108620         * lib/posixver.c: Include posixver.h.
108622         * lib/same.c: Include <stdbool.h>, <limits.h>.
108623         (_POSIX_NAME_MAX): Define if not defined.
108624         (MIN): New macro.
108625         (same_name): If file names are silently truncated, report
108626         that the file names are the same if they are the same after
108627         the silent truncation.
108629         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
108630         conversion function.
108631         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
108632         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
108633         longer needed.
108635 2004-01-15  Jim Meyering  <jim@meyering.net>
108637         Merge from coreutils.
108639         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
108640         if no library is required.
108641         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
108642         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
108643         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
108644         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
108645         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
108646         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
108647         value, $ac_cv_search_crypt, if it's "none required".
108648         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
108649         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
108650         not gl_FUNC_GETLOADAVG.
108651         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
108652         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
108654 2004-01-15  Jim Meyering  <jim@meyering.net>
108656         Merge from coreutils.
108658         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
108659         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
108660         http://mail.gnu.org/r/bug-coreutils/2003-11/msg00144.html
108662         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
108663         optional configure-time default.
108665         * lib/version-etc.c (version_etc_copyright): Update copyright date.
108667         * lib/xreadlink.c (xreadlink): Correct outdated comment.
108669 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
108671         Merge from coreutils.
108673         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
108674         value, $ac_cv_search_nanosleep, if it's "none required".
108676 2004-01-14  Paul Eggert  <eggert@twinsun.com>
108678         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
108679         with like-named macro in fnmatch.c.
108680         (EXT): Use an internal constant instead.
108682         Merge fnmatch patches from glibc.
108683         * lib/fnmatch.c (mbsinit): Remove define.
108684         Add libc_hidden_ver (__fnmatch, fnmatch).
108685         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
108686         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
108688 2004-01-14  Karl Berry  <karl@gnu.org>
108690         * config/install-sh: update from automake.
108692 2004-01-13  Karl Berry  <karl@gnu.org>
108694         * config/install-sh: update from automake.
108696 2004-01-09  Karl Berry  <karl@gnu.org>
108698         * config/install-sh: update from automake.
108700 2004-01-05  Karl Berry  <karl@gnu.org>
108702         * config/config.{sub,guess}: update from config.
108704 2003-12-31  Karl Berry  <karl@gnu.org>
108706         * config/depcomp: update from automake.
108708 2003-12-14  Karl Berry  <karl@gnu.org>
108710         * lib/config.charset: update from gettext-runtime.
108712 2003-12-03  Paul Eggert  <eggert@twinsun.com>
108714         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
108715         Bug reported by Alfred M. Szmidt.
108717 2003-12-03  Bruno Haible  <bruno@clisp.org>
108719         * m4/gettext.m4: Upgrade from gettext-0.13.
108720         * m4/po.m4: Upgrade from gettext-0.13.
108721         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
108722         * m4/intmax.m4: New file, from gettext-0.13.
108723         * m4/printf-posix.m4: New file, from gettext-0.13.
108725 2003-11-29  Karl Berry  <karl@gnu.org>
108727         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
108729 2003-11-25  Paul Eggert  <eggert@twinsun.com>
108730             Bruno Haible  <bruno@clisp.org>
108732         * lib/printf-parse.h: Don't include sys/types.h.
108733         (ARG_NONE): New macro.
108734         (char_directive): Change type of *arg_index fields to size_t.
108735         * lib/printf-parse.c: Don't include sys/types.h.
108736         (SSIZE_MAX): Remove macro.
108737         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
108738         Remove unnecessary overflow check.
108739         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
108740         fields.
108742 2003-11-25  Bruno Haible  <bruno@clisp.org>
108744         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
108746 2003-11-25  Bruno Haible  <bruno@clisp.org>
108748         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
108749         gt_TYPE_SSIZE_T.
108751 2003-11-24  Paul Eggert  <eggert@twinsun.com>
108753         * modules/alloca: Remove dependency on xalloc.
108755 2003-11-24  Paul Eggert  <eggert@twinsun.com>
108757         * lib/alloca.c: Remove dependency on xalloc module.
108758         (xalloc_die): Remove.
108759         (memory_full) [!defined emacs]: New macro.
108760         [!defined emacs]: Don't include xalloc.h.
108761         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
108762         address arithmetic overflows.  Change datatypes a bit to avoid
108763         unnecessary casts.
108765 2003-11-22  Jim Meyering  <jim@meyering.net>
108767         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
108768         s/size/size_t/.
108770 2003-11-21  Karl Berry  <karl@gnu.org>
108772         * config/config.{sub,guess}: update from config.
108774 2003-11-18  Karl Berry  <karl@gnu.org>
108776         * config/config.{sub,guess}: update from config.
108778         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
108780 2003-11-17  Paul Eggert  <eggert@twinsun.com>
108782         * README: Mention that S+T cannot overflow if S is the size of
108783         an existing object and T is sufficiently small.
108785 2003-11-17  Jim Meyering  <jim@meyering.net>
108787         On systems without utime and without a utimes function capable of
108788         dealing with a NULL struct utimbuf* argument, this utime replacement
108789         could -- in unusual circumstances -- leak a file descriptor.
108790         * lib/utime.c: Include <unistd.h> and <errno.h>.
108791         (utime_null): Be sure to close `fd' and to preserve errno.
108792         Reported by Geoff Collyer via Arnold Robbins.
108794 2003-11-17  Bruno Haible  <bruno@clisp.org>
108796         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
108797         (Depends-on): Add xsize.
108799 2003-11-17  Bruno Haible  <bruno@clisp.org>
108801         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
108803 2003-11-17  Bruno Haible  <bruno@clisp.org>
108805         * lib/vasnprintf.c (alloca): Remove fallback definition.
108806         (freea): Remove definition.
108807         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
108808         Reported by Paul Eggert.
108810 2003-11-16  Paul Eggert  <eggert@twinsun.com>
108811             Bruno Haible  <bruno@clisp.org>
108813         Protect against address arithmetic overflow.
108814         * lib/printf-args.h: Include stddef.h.
108815         (arguments): Change type of field 'count' to size_t.
108816         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
108817         'unsigned int' where appropriate.
108818         * lib/printf-parse.h: Include sys/types.h.
108819         (char_directive): Change type of *arg_index fields to ssize_t.
108820         (char_directives): Change type of fields 'count', max_*_length to
108821         size_t.
108822         * lib/printf-parse.c: Include sys/types.h and xsize.h.
108823         (SSIZE_MAX): Define fallback value.
108824         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
108825         instead of 'int' where appropriate. Check a_allocated, d_allocated
108826         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
108827         * lib/vasnprintf.c: Include xsize.h.
108828         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
108829         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
108830         overflow. Avoid wraparound when converting a width or precision from
108831         decimal to binary.
108833 2003-11-16  Bruno Haible  <bruno@clisp.org>
108835         Update from GNU gettext.
108836         * lib/printf-parse.c: Generalize to it can be compiled for wide
108837         strings.
108838         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
108839         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
108840         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
108841         SNPRINTF): New macros.
108842         Don't include <alloca.h> if the file is used inside libintl.
108843         (local_wcslen): New function, for Solaris 2.5.1.
108844         (VASNPRINTF): Use it instead of wcslen.
108846 2003-11-16  Bruno Haible  <bruno@clisp.org>
108848         * lib/xsize.h (xmax): New function.
108849         (xsum, xsum3, xsum4): Declare as "pure" functions.
108851 2003-11-12  Paul Eggert  <eggert@twinsun.com>
108853         * modules/xalloc (Files): Undo latest change, since xalloc.h
108854         no longer needs SIZE_MAX or PTRDIFF_MAX.
108856 2003-11-12  Paul Eggert  <eggert@twinsun.com>
108858         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
108859         gl_PTRDIFF_MAX.
108861 2003-11-12  Paul Eggert  <eggert@twinsun.com>
108863         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
108864         "return", to pacify some unknown compiler.  Problem reported
108865         by Joerg Schilling.
108867 2003-11-12  Paul Eggert  <eggert@twinsun.com>
108869         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
108870         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
108871         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
108872         heuristic is just as accurate as far as we know, and it removes a
108873         dependency on size_max.m4 and ptrdiff_max.m4.
108875 2003-11-11  Bruno Haible  <bruno@clisp.org>
108877         * modules/xsize (Files): Add m4/size_max.m4.
108878         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
108880 2003-11-11  Bruno Haible  <bruno@clisp.org>
108882         * m4/size_max.m4: New file.
108883         * m4/ptrdiff_max.m4: New file.
108884         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
108885         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
108886         (gl_XALLOC): Invoke it.
108888 2003-11-11  Bruno Haible  <bruno@clisp.org>
108890         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
108891         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
108892         defined.
108894 2003-11-10  Paul Eggert  <eggert@twinsun.com>
108896         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
108897         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
108898         rejected some allocations of exactly SIZE_MAX - 2 bytes.
108899         From Bruno Haible.
108900         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
108901         not (size_t) -1, since it's defined here.
108903 2003-11-09  Karl Berry  <karl@gnu.org>
108905         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
108907 2003-11-06  Paul Eggert  <eggert@twinsun.com>
108909         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
108910         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
108911         Reject sizes of exactly SIZE_MAX bytes.
108912         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
108913         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
108915 2003-11-05  Bruno Haible  <bruno@clisp.org>
108917         * lib/xsize.h: Include limits.h, to avoid a possible collision with
108918         SIZE_MAX defined in <limits.h> on Solaris.
108920 2003-11-04  Jim Meyering  <jim@meyering.net>
108922         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
108923         variable names, rather than @VAR@.
108924         * modules/poll: Likewise.
108926 2003-11-04  Bruno Haible  <bruno@clisp.org>
108928         * modules/xsize: New file.
108929         * modules/linebreak: Depend on xsize.
108930         * MODULES.html.sh (func_all_modules): Add xsize.
108932 2003-11-04  Bruno Haible  <bruno@clisp.org>
108934         * m4/xsize.m4: New file.
108936 2003-11-04  Bruno Haible  <bruno@clisp.org>
108938         * lib/xsize.h: New file.
108939         * lib/linebreak.c: Include xsize.h.
108940         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
108941         argument for overflow.
108942         Suggested by Paul Eggert.
108944 2003-11-03  Karl Berry  <karl@gnu.org>
108946         * config/config.{guess,sub}: update from config.
108948 2003-11-03  Jim Meyering  <jim@meyering.net>
108950         * modules/userspec (lib_SOURCES): Add userspec.h.
108951         (Include): Add "userspec.h".
108952         Improve description.
108954 2003-11-03  Jim Meyering  <jim@meyering.net>
108956         * lib/userspec.c: Include "userspec.h".
108957         * lib/userspec.h: New file.
108959 2003-11-03  Bruno Haible  <bruno@clisp.org>
108961         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
108963 2003-11-03  Bruno Haible  <bruno@clisp.org>
108965         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
108966         available, to avoid (extremely rare) race condition.
108967         Suggested by Paul Eggert.
108969 2003-11-02  Karl Berry  <karl@gnu.org>
108971         * config/srclist.txt (vasprintf.c): sync broken, sigh.
108973 2003-10-31  Paul Eggert  <eggert@twinsun.com>
108975         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
108976         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
108977         (read_filesystem_list): Set and use me_type_malloced.
108978         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
108979         whatever the type happens to be), for brevity and consistency.
108980         Check for size calculation overflow on Alphas running OSF/1.
108982 2003-10-31  Jim Meyering  <jim@meyering.net>
108984         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
108986         * lib/linebuffer.c: Include <string.h> for declaration of memset.
108988 2003-10-30  Paul Eggert  <eggert@twinsun.com>
108989             Bruno Haible  <bruno@clisp.org>
108991         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
108992         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
108994 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
108996         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
108997         netbsd*-gnu*.  Suggested by Robert Millan.
108999 2003-10-29  Paul Eggert  <eggert@twinsun.com>
109001         * modules/group-member: Depend on stdbool.
109003 2003-10-29  Paul Eggert  <eggert@twinsun.com>
109005         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
109007 2003-10-29  Paul Eggert  <eggert@twinsun.com>
109009         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
109010         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
109011         after the 'gnu' in these cases.  This fixes some bugs in the
109012         previous change, and is based on suggestions by Robert Millan.
109014 2003-10-29  Paul Eggert  <eggert@twinsun.com>
109016         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
109017         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
109018         no longer needed.
109019         * lib/quotearg.c (quotearg_n_options): Use it.
109020         * lib/group-member.c: Include <stdbool.h>.
109021         (free_group_info): Arg is now const *; don't free arg.
109022         (get_group_info): Now returns bool and accepts struct group_info *,
109023         rather than returning a malloc'ed struct group_info *.
109024         All uses changed.  Check for overflow in internal size calculation.
109026         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
109027         rather than xmalloc/xrealloc.
109028         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
109029         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
109030         conformance bug: the old code used a pointer after freeing the
109031         storage that it addressed.
109032         * lib/hash.c (hash_initialize): Simplify the code by using
109033         xalloc_oversized rather than doing it by hand.
109034         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
109035         the buffer preserved.  Use free and xmalloc instead.
109036         * lib/quotearg.c (quotearg_n_options): Likewise.
109037         Use a simpler test for size overflow.  Don't use xalloc_oversized
109038         because unsigned int might be wider than size_t (!); this suggests
109039         that we should switch from unsigned int to size_t for slot numbers.
109041 2003-10-28  Paul Eggert  <eggert@twinsun.com>
109043         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
109044         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
109045         NetBSD kernels.  Requested by Richard Stallman.
109047 2003-10-27  Paul Eggert  <eggert@twinsun.com>
109049         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
109050         to allocate the returned structure.  Do not allocate a subarray,
109051         as x2nrealloc will do that.
109052         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
109053         instead of xnrealloc.
109054         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
109056 2003-10-27  Bruno Haible  <bruno@clisp.org>
109058         * lib/stdbool_.h: Better support for BeOS.
109060 2003-10-26  Paul Eggert  <eggert@twinsun.com>
109062         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
109063         now uses inline.
109065 2003-10-26  Paul Eggert  <eggert@twinsun.com>
109067         * lib/xalloc.h (xalloc_oversized): New static inline function, for
109068         callers that want to do their own size-overflow checking.  Include
109069         <stdbool.h>, since xalloc_oversized returns bool.
109070         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
109071         to use xalloc_oversized.
109073         Add two functions x2realloc, x2nrealloc, for programs that grow
109074         arrays dynamically by doubling their sizes.
109075         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
109076         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
109077         New functions.
109079         Port to C99 semantics for 'inline' of external functions.
109080         Bug reported by Bruno Haible.
109081         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
109082         with the old contents of xnmalloc.
109083         (xnmalloc, xmalloc): Use it.
109084         (xnrealloc_inline): New static inline function,
109085         with the old contents of xnrealloc.
109086         (xnrealloc, xrealloc): Use it.
109088         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
109089         that.
109091 2003-10-26  Karl Berry  <karl@gnu.org>
109093         * config/srclist.txt (COPYING.DOC): no longer available from
109094         /gd/gnuorg; don't know where the ultimate source is.
109096 2003-10-25  Paul Eggert  <eggert@twinsun.com>
109098         Fix several address-calculation bugs in the hash modules,
109099         plus some minor code cleanup.
109101         * lib/hash.h: Include <stdbool.h>, for bool.
109102         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
109103         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
109104         hash_get_n_entries, hash_get_max_bucket_length,
109105         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
109106         hash_rehash): Use size_t rather than unsigned.
109107         * lib/hash.c (struct hash_table, hash_get_n_buckets,
109108         hash_get_n_buckets_used, hash_get_n_entries,
109109         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
109110         hash_get_entries, hash_do_for_each, hash_string, is_prime,
109111         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
109112         Likewise.
109113         (SIZE_MAX): Define if not defined.
109114         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
109115         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
109116         hash_print):
109117         Use const * when possible.
109118         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
109119         (check_tuning): Fix bug: if tuning parameters were very close to
109120         0 or 1, rounding errors could have caused subscript violations.
109121         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
109122         (hash_initialize): Add 'fail:' label
109123         to free table and return NULL, and use it to simplify code.
109124         Use calloc rather than clearing the storage ourself.
109125         (hash_initialize, hash_rehash): Check for arithmetic overflow in
109126         buffer size calculations.
109127         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
109128         Include <stddef.h>, for size_t.
109129         * lib/hash-pjw.c (hash_pjw): Likewise.
109130         Switch to method described by Bruno Haible.
109131         Include <limits.h>, for CHAR_BIT.
109132         (SIZE_BITS): New macro.
109134 2003-10-23  Paul Eggert  <eggert@twinsun.com>
109136         * m4/getline.m4 (AM_FUNC_GETLINE):
109137         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
109138         hosts.  Problem reported by Derek Robert Price in
109139         <http://mail.gnu.org/r/bug-gnulib/2003-10/msg00092.html>.
109140         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
109141         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
109143 2003-10-21  Paul Eggert  <eggert@twinsun.com>
109145         * lib/getndelim2.c (getndelim2): When size calculation overflows,
109146         ceiling the allocation at NMAX bytes rather than silently
109147         discarding input bytes before NMAX is reached.  This makes
109148         a difference only if NMAX exceeds SIZE_MAX / 2.
109150         * lib/obstack.c: Merge from glibc.
109151         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
109152         Add libc_hidden_def (_obstack_newchunk).
109153         (_obstack_free) [! defined _LIBC]: Remove.
109154         [defined _LIBC]: Make a strong alias from obstack_free, rather than
109155         a clone of the function body.
109156         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
109157         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
109159         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
109160         glibc.
109161         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
109162         arg to memcpy.
109164         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
109165         (obstack_ptr_grow_fast, obstack_int_grow_fast):
109166         Don't use lvalue casts, as GCC plans to remove support for them
109167         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
109168         was also present in the non-GCC version, indicating that this
109169         code had always been buggy and had never been widely used.
109170         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
109171         Use the fast variant of each macro, rather than copying the
109172         definiens of the fast variant; that way, we'll be more likely to
109173         catch future bugs in the fast variants.
109175 2003-10-20  Bruno Haible  <bruno@clisp.org>
109177         * modules/wait-process: New file.
109178         * MODULES.html.sh (func_all_modules): Add wait-process.
109180 2003-10-20  Bruno Haible  <bruno@clisp.org>
109182         * m4/wait-process.m4: New file.
109184 2003-10-20  Bruno Haible  <bruno@clisp.org>
109186         * lib/wait-process.h: New file, from GNU gettext.
109187         * lib/wait-process.c: New file, from GNU gettext.
109189 2003-10-19  Jim Meyering  <jim@meyering.net>
109191         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
109192         HPUX 10.20.
109194 2003-10-18  Karl Berry  <karl@gnu.org>
109196         * config/config.guess: update from config.
109198 2003-10-16  Paul Eggert  <eggert@twinsun.com>
109200         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
109201         (getgroups): First arg is int, not size_t.
109202         Don't let 'free' mangle errno.
109204 2003-10-16  Paul Eggert  <eggert@twinsun.com>
109206         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
109208 2003-10-16  Karl Berry  <karl@gnu.org>
109210         * config/config.{guess,sub}: update from config.
109212 2003-10-16  Jim Meyering  <jim@meyering.net>
109214         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
109215         memcpy.
109217 2003-10-15  Paul Eggert  <eggert@twinsun.com>
109219         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
109220         (SIZE_MAX): Remove.
109221         (new_exclude, add_exclude_file): Initial size no longer needs to
109222         be a power of 2.
109223         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
109224         our own address arithmetic overflow checking.
109226         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
109227         (fnmatch): Do not alloca more than 2000 wide characters;
109228         instead, use malloc for large buffers.
109229         Check for address arithmetic overflow, and return -1
109230         with errno set to ENOMEM in that case.
109231         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
109232         (NEW_PATTERN): Do not alloca more than 8000 bytes;
109233         instead, return -1.  Check for address arithmetic overflow.
109235 2003-10-14  Paul Eggert  <eggert@twinsun.com>
109237         Handle invalid suffixes and overflow independently, so that
109238         callers can treat them independently as needed.  Fix some bugs in
109239         suffix handling, e.g., "100k@" was not diagnosed as an invalid
109240         suffix for a human-readable blocksize.  The major caller-visible
109241         change is the addition of a new
109242         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
109243         that both overflow and suffix chars were found.
109245         * lib/human.c (humblock): Don't check separately for invalid suffix
109246         char; that is xstrtoumax's job (now that its bug is fixed).
109247         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
109248         INTMAX_MAX]: New macros.
109249         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
109250         TYPE_MAXIMUM): New macros.
109251         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
109252         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
109253         if overflow occurs, as it's what __strtol does and it's more useful
109254         in practice.
109255         (__xstrtol): If __strtol reports some error other than ERANGE,
109256         reflect it to the caller as LONGINT_INVALID.  If it reports
109257         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
109258         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
109259         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
109260         value.
109261         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
109262         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
109263         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
109264         [defined UINTMAX_MAX]: New macros.
109266 2003-10-14  Bruno Haible  <bruno@clisp.org>
109268         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
109270 2003-10-14  Bruno Haible  <bruno@clisp.org>
109272         * m4/sig_atomic_t: New file, from GNU gettext.
109273         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
109275 2003-10-14  Bruno Haible  <bruno@clisp.org>
109277         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
109278         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
109279         Also use volatile where needed.
109281 2003-10-12  Paul Eggert  <eggert@twinsun.com>
109283         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
109284         Change maintainer from Bruno Haible to 'all'.
109286 2003-10-12  Paul Eggert  <eggert@twinsun.com>
109288         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
109290 2003-10-12  Paul Eggert  <eggert@twinsun.com>
109292         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
109293         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
109294         and define in terms of the other primitives.
109295         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
109296         (SIZE_MAX): Define if not already defined.
109297         (array_size_overflow): New function.
109298         (xalloc_die): Abort instead of exiting if 'error' returns.
109299         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
109300         (xmalloc, xrealloc): Use them.
109301         (xcalloc): Check for address arithmetic overflow.
109302         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
109303         a bit faster than strcpy.
109305 2003-10-10  Simon Josefsson  <jas@extundo.com>
109307         * modules/argp (Depends-on): Add restrict and strcase.
109309 2003-10-10  Simon Josefsson  <jas@extundo.com>
109311         * m4/argp.m4: Add AC_C_INLINE.
109313 2003-10-08  Paul Eggert  <eggert@twinsun.com>
109315         Merge getpass from libc, plus a few fixes.
109317         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
109318         Include <stdbool.h>.
109319         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
109320         __fsetlocking to empty.
109321         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
109322         do include <bits/libc-lock.h>.
109323         Do not include <fcntl.h>; not needed.
109324         [_LIBC]: Include <wchar.h>.
109325         (NOTCANCEL_MODE): New macro.
109326         (flockfile, funlockfile) [_LIBC]: New macros.
109327         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
109328         [!_LIBC]: New macros.
109329         (call_fclose): New function.
109330         (getpass): Use it.  Save tty stream separately; this simplifies the
109331         code and makes it more reliable if stdin happens to equal stdout.
109332         Invoke __fsetlocking on tty.
109333         Handle thread cancellation if needed.
109334         Namespace cleanup (use __tcgetattr, __getline).
109335         Use bool for Booleans.
109336         [USE_IN_LIBIO]: Handle wide streams.
109337         [!_LIBC]: Unconditionally do the fseek, since we don't know what
109338         stream might go where.
109340         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
109341         doesn't have to include <stdio.h> before us.
109342         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
109343         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
109344         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
109345         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
109346         if not declared, so that we can use getpass.c code from libc without
109347         rewriting it.
109348         (flockfile, ftrylockfile, funlockfile): New macros.
109350 2003-10-08  Paul Eggert  <eggert@twinsun.com>
109352         * modules/getpass: Depend on stdbool.
109354 2003-10-08  Paul Eggert  <eggert@twinsun.com>
109356         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
109358 2003-10-07  Karl Berry  <karl@gnu.org>
109360         * config/config.{guess,sub}: update from config.
109362 2003-10-06  Jim Meyering  <jim@meyering.net>
109363             Bruno Haible  <bruno@clisp.org>
109365         This lets translators provide better translations for the
109366         "Written by ..." part of --version output.
109367         * lib/version-etc.h: Include stdarg.h.
109368         (version_etc_copyright): Declare as readonly.
109369         (version_etc): Make this function variadic with a NULL-terminated list
109370         of author name strings.
109371         (version_etc_va): New declaration.
109372         * lib/version-etc.c: Include stdarg.h, stdlib.h.
109373         (version_etc_copyright): Declare as readonly.
109374         (version_etc_va): New function. Provide a different translatable string
109375         for each possible number of authors < 10. Abbreviate when there are 10
109376         authors or more.
109377         (version_etc): Make this function variadic. Call version_etc_va.
109378         Suggestion from Gary V. Vaughan.
109380         * lib/long-options.h (parse_long_options): Change prototype: the
109381         authors string is moved to the end and becomes variadic.
109382         * lib/long-options.c: Include stdarg.h.
109383         (parse_long_options): Make this function variadic, too.
109384         Call version_etc_va, not version_etc.
109386 2003-10-06  Bruno Haible  <bruno@clisp.org>
109388         * modules/version-etc-2: Remove file.
109389         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
109391 2003-10-06  Bruno Haible  <bruno@clisp.org>
109393         * modules/fatal-signal: New file.
109394         * MODULES.html.sh (func_all_modules): Add fatal-signal.
109396 2003-10-06  Bruno Haible  <bruno@clisp.org>
109398         * m4/fatal-signal.m4: New file.
109399         * m4/signalblocking.m4: New file, from GNU gettext.
109401 2003-10-06  Bruno Haible  <bruno@clisp.org>
109403         * lib/version-etc-2.h: Remove file.
109404         * lib/version-etc-2.c: Remove file.
109406 2003-10-06  Bruno Haible  <bruno@clisp.org>
109408         * lib/fatal-signal.h: New file, from GNU gettext.
109409         * lib/fatal-signal.c: New file, from GNU gettext.
109411 2003-10-05  Paul Eggert  <eggert@twinsun.com>
109413         * README: Rework advice for preventing empty .o files.
109414         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
109415         not <sys/types.h>.
109417 2003-10-04  Karl Berry  <karl@gnu.org>
109419         * lib/argp*: update from libc.
109421 2003-10-04  Karl Berry  <karl@gnu.org>
109423         * config/config.{guess,sub}: update from config.
109425 2003-10-02  Bruno Haible  <bruno@clisp.org>
109427         * modules/lchown (Include): Add lchown.h.
109428         * modules/time_r (Include): Use "..." syntax.
109429         * modules/xgetdomainname (Include): Add xgetdomainname.h.
109431 2003-10-01  Simon Josefsson  <jas@extundo.com>
109433         * MODULES.html.sh (func_all_modules): Move gethostname from section
109434         'based on' to section 'lacking' POSIX:2001.
109436 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
109438         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
109439         to output mode on the same stream.
109441 2003-09-29  Paul Eggert  <eggert@twinsun.com>
109443         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
109444         Fix arg typo in previous patch.
109446 2003-09-28  Jim Meyering  <jim@meyering.net>
109448         * lib/error.c: Correct cpp indentation.
109450 2003-09-27  Paul Eggert  <eggert@twinsun.com>
109452         * modules/free: New file.
109454 2003-09-27  Paul Eggert  <eggert@twinsun.com>
109456         * m4/free.m4: New file.
109458 2003-09-27  Paul Eggert  <eggert@twinsun.com>
109460         * lib/minmax.h (MIN, MAX)
109461         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
109462         Omit the special code that used __typeof__, since we worry that
109463         it could be more trouble than it's worth.  See:
109464         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00090.html
109465         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00095.html
109467         * lib/free.c: New file.
109469 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
109471         Trivial fixes to Makefile.am parts of module listings.
109472         * modules/strstr: Append strstr.h to lib_SOURCES.
109473         * modules/strcase: Likewise, for strcase.h.
109475 2003-09-27  Karl Berry  <karl@gnu.org>
109477         * config/mkinstalldirs: update from automake.
109479 2003-09-26  Paul Eggert  <eggert@twinsun.com>
109481         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
109482         (error_tail): Do not loop, reallocating temporary buffer, since
109483         the output cannot contain more wide characters than the input
109484         contains bytes, the size must be big enough already.  This avoids
109485         one potential size overflow calculation.  Check for size overflow
109486         when calculating temporary buffer size.  Free temporary buffer
109487         when done, if it was allocated with malloc; this plugs a memory
109488         leak.  Remove casts from void * to pointers, that are no longer
109489         needed now that we're assuming C89 or better.
109491         Merge error changes from glibc.
109493         * lib/error.c, error.h: Update copyright notice header to match glibc.
109494         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
109495         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
109496         Disable cancellation while printing error.
109497         * lib/error.h: Prepend __ to parameter names.
109499 2003-09-26  Jim Meyering  <jim@meyering.net>
109501         * lib/error.c (error_tail): Move some declarations
109502         into inner scope where the local variables are used.
109504 2003-09-26  Bruno Haible  <bruno@clisp.org>
109506         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
109507         stpncpy().
109508         Don't define stpncpy through config.h; it's now done through stpncpy.h.
109510 2003-09-26  Bruno Haible  <bruno@clisp.org>
109512         * lib/stpncpy.h (gnu_stpncpy): New declaration.
109513         (stpncpy): Define as alias for gnu_stpncpy.
109514         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
109516 2003-09-25  Simon Josefsson  <jas@extundo.com>
109518         * lib/xgetdomainname.h: New file.
109519         * lib/xgetdomainname.c: New file.
109521 2003-09-25  Simon Josefsson  <jas@extundo.com>
109522             Bruno Haible  <bruno@clisp.org>
109524         * modules/getdomainname: New file.
109525         * modules/xgetdomainname: New file.
109526         * MODULES.html.sh (func_all_modules): Add getdomainname,
109527         xgetdomainname.
109529 2003-09-25  Simon Josefsson  <jas@extundo.com>
109530             Bruno Haible  <bruno@clisp.org>
109532         * m4/getdomainname.m4: New file.
109534 2003-09-25  Simon Josefsson  <jas@extundo.com>
109535             Bruno Haible  <bruno@clisp.org>
109537         * lib/getdomainname.h: New file.
109538         * lib/getdomainname.c: New file.
109540 2003-09-25  Karl Berry  <karl@gnu.org>
109542         * lib/argp-fmtstream.c, argp-help.c: update from libc.
109544 2003-09-25  Karl Berry  <karl@gnu.org>
109546         * config/install-sh: update from automake.
109548 2003-09-25  Bruno Haible  <bruno@clisp.org>
109550         * modules/version-etc-2: New file, from modules/version-etc with
109551         modifications.
109552         * MODULES.html.sh (func_all_modules): Add version-etc-2.
109554 2003-09-25  Bruno Haible  <bruno@clisp.org>
109556         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
109557         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
109559 2003-09-24  Simon Josefsson  <jas@extundo.com>
109561         * modules/xgethostname: Add xgethostname.h.
109563 2003-09-24  Paul Eggert  <eggert@twinsun.com>
109565         * lib/linebuffer.c (freebuffer): Don't free the argument, just
109566         the buffer associated with the argument.  Bug reported by
109567         Simon Josefsson.
109569 2003-09-24  Paul Eggert  <eggert@twinsun.com>
109571         * README: Document assumptions that 'int' is at least 32 bits
109572         wide, that integer arithmetic is 2's complement without overflow,
109573         that there are no holes in integer values, that adding sizes of
109574         two nonoverlapping objects can't overflow, and that all-bits-zero
109575         yields scalar zero.  Fix spelling and capitalization typos.
109577 2003-09-19  Karl Berry  <karl@gnu.org>
109579         * lib/argp.h: update from libc.
109581 2003-09-17  Paul Eggert  <eggert@twinsun.com>
109583         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
109584         to avoid spurious warnings like "AC_RUN_IFELSE was called before
109585         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
109587 2003-09-17  Paul Eggert  <eggert@twinsun.com>
109589         * gnulib-tool: Use "test -h", not "test -L", for portability
109590         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
109591         (tags_regexp): Remove, since \| doesn't conform to POSIX.
109592         (sed_extract_prog): Issue s commands one-by-one, rather than
109593         using \| in one s command.
109595 2003-09-16  Paul Eggert  <eggert@twinsun.com>
109597         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
109598         input error, instead of returning NULL the next time we are called
109599         (and therefore losing track of errno).
109601 2003-09-16  Bruno Haible  <bruno@clisp.org>
109603         * gnulib-tool (func_create_testdir): Warn about duplicated
109604         dependencies.
109606 2003-09-15  Paul Eggert  <eggert@twinsun.com>
109608         * modules/argmatch, modules/fatal, modules/obstack,
109609         modules/xalloc, modules/xgethostname: Sort dependencies by
109610         importance, not alphabetically.
109612 2003-09-15  Paul Eggert  <eggert@twinsun.com>
109614         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
109615         fails, so that the caller gets the proper errno.
109617         * lib/readutmp.c (read_utmp): Likewise.
109618         Check for fstat error.  Close stream and free storage
109619         when failing.
109621 2003-09-14  Karl Berry  <karl@gnu.org>
109623         * config/srclist.txt (strdup.c): disable for c89 changes.
109625 2003-09-14  Jim Meyering  <jim@meyering.net>
109627         * lib/getloadavg.c: Correct cpp indentation.
109628         * lib/strdup.c: Likewise.
109629         * lib/vasnprintf.c: Likewise.
109631 2003-09-14  Bruno Haible  <bruno@clisp.org>
109633         * modules/fwriteerror: New file.
109634         * MODULES.html.sh (func_all_modules): Add fwriteerror.
109636 2003-09-14  Bruno Haible  <bruno@clisp.org>
109638         * lib/fwriteerror.h: New file.
109639         * lib/fwriteerror.c: New file.
109641 2003-09-12  Paul Eggert  <eggert@twinsun.com>
109643         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
109644         modules/xgethostname, modules/xalloc: Depend on exit.
109646 2003-09-12  Paul Eggert  <eggert@twinsun.com>
109648         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
109650         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
109651         and AC_MINIX, too, so that their extensions are available.
109653         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
109654         This macro has been superseded by gl_BACKUPFILE.
109656         More patches to assume C89 or better.
109658         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
109660         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
109661         unconditionally.
109662         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
109663         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
109664         Include <string.h>, <stdlib.h> unconditionally.
109665         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
109666         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
109667         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
109668         headers or for string.h.
109669         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
109670         or strtoul.
109672         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
109673         headers.
109674         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
109675         * m4/userspec.m4 (gl_USERSPEC): Likewise.
109676         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
109677         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
109678         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
109679         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
109680         memcpy, memset.
109681         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
109682         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
109683         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
109684         strtol.
109685         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
109686         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
109687         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
109688         strtoul.
109690 2003-09-12  Paul Eggert  <eggert@twinsun.com>
109692         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
109693         * lib/obstack.c [!defined _LIBC]: Likewise.
109694         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
109695         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
109696         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
109698         More changes to assume C89 or better.
109700         * lib/error.c (error_tail): Assume vprintf.
109702         * lib/argmatch.c (getenv): Remove decl.
109703         * lib/progreloc.c (get_full_program_name): Define via prototype.
109704         * lib/setenv.c (clearenv): Likewise.
109705         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
109706         needed.
109707         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
109708         (malloc, memcpy): Remove decls.
109709         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
109710         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
109711         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
109712         (memcpy): Remove macro.
109713         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
109714         (__P): Remove.  All uses removed.
109715         (PTR): Remove.  All uses changed to void *.
109716         (CHAR_BIT, NULL): Remove.
109717         (spaces, zeros, memset_space, memset_zero)
109718         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
109719         Remove.
109720         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
109721         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
109722         Define with prototype.
109723         Remove now-unnecessary prototype decl.
109724         (extra_args_spec): Assume ANSI C.  All uses changed.
109725         (extra_args_spec_iso): Remove.
109726         (my_strftime, emacs_strftimeu): Define via prototype.
109727         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
109728         unconditionally.
109729         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
109730         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
109731         (strtoul, strtol): Remove decls.
109732         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
109733         LONG_MAX): Remove.
109734         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
109735         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
109736         (LOCALE_PARAM_PROTO): New macro.
109737         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
109738         (INTERNAL (strtol), strtol): Define with a prototype.
109739         (PARAMS): Remove.  All uses removed.
109740         * lib/tempname.c: Include <string.h> unconditionally.
109741         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
109742         * lib/xgethostname.c (main): Define with a prototype.
109743         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
109744         Include <stdlib.h> unconditionally.
109745         (calloc, malloc, realloc, free): Remove decls.
109746         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
109747         Include <stdlib.h> unconditionally.  Sort include file names.
109748         (strtod): Remove.
109749         (xstrtod): Define with a prototype.
109750         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
109751         (strtol, strtoul): Remove decls.
109753 2003-09-11  Paul Eggert  <eggert@twinsun.com>
109755         More patches to assume C89 or better.
109756         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
109757         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
109758         string.h, memchr, STDC_HEADERS.
109760 2003-09-11  Paul Eggert  <eggert@twinsun.com>
109762         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
109763         Include <stdlib.h>, <string.h> unconditionally.
109764         Remove now-unnecessary cast to char *.
109765         * lib/strnlen.c: Include <string.h> unconditionally.
109766         * lib/yesno.c (yesno): Define with a prototype.
109768 2003-09-11  Bruno Haible  <bruno@clisp.org>
109770         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
109772 2003-09-10  Jim Meyering  <jim@meyering.net>
109774         * lib/error.c: Correct indentation of cpp directives.
109776 2003-09-10  Bruno Haible  <bruno@clisp.org>
109778         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
109779         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
109780         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
109781         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
109782         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
109783         <stdlib.h> and <string.h> checks.
109784         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
109785         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
109787 2003-09-10  Bruno Haible  <bruno@clisp.org>
109789         * lib/strcspn.c: Include <string.h> unconditionally.
109790         * lib/strpbrk.c: Include <string.h> unconditionally.
109791         * lib/strstr.c: Include <string.h> unconditionally.
109792         * lib/unicodeio.c: Include <string.h> unconditionally.
109793         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
109794         * lib/unsetenv.c: Likewise.
109795         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
109796         * lib/yesno.c: Include <stdlib.h> unconditionally.
109797         (rpmatch): Add prototype.
109799 2003-09-09  Paul Eggert  <eggert@twinsun.com>
109801         More patches to assume C89 or better.
109802         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
109803         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
109804         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
109805         or for string.h.
109806         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
109807         stdlib.h.
109808         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
109809         C headers.
109810         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
109811         string.h.
109812         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
109813         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
109814         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
109815         or for string.h.
109816         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
109817         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
109818         C headers.
109819         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
109820         memcpy.
109821         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
109822         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
109823         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
109824         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
109825         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
109826         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
109827         string.h, free.
109828         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
109829         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
109830         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
109831         C headers, or for string.h.
109832         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
109833         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
109834         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
109835         headers, memory.h, stdlib.h, string.h, strings.h.
109836         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
109837         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
109838         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
109839         strchr.
109840         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
109841         headers, memory.h, string.h.
109842         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
109843         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
109844         free.
109845         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
109846         headers.
109847         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
109848         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
109849         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
109850         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
109851         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
109853 2003-09-09  Paul Eggert  <eggert@twinsun.com>
109855         More K&R removal.
109857         * lib/acosl.c (main): Use a prototype.
109858         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
109859         tanl.c: Likewise.
109861         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
109863         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
109864         (getopt, etopt_long, getopt_long_only, _getopt_internal)
109865         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
109866         with a prototype.
109867         * lib/getopt.c (const): Remove macro.
109868         Include <string.h> unconditionally.
109869         (my_index): Remove; all uses changed to strchr.
109870         (strlen): Remove decl.
109871         (exchange): Remove forward decl; no longer needed.
109872         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
109873         Define with prototype.
109874         * lib/getopt1.c (const): Remove macro.
109875         (getopt_long, getopt_long_only, main): Define with prototype.
109877         * lib/getugroups.c: Include <string.h> unconditionally.
109879         * lib/getusershell.c: Include <stdlib.h> unconditionally.
109880         (getusershell, setusershell, endusershell, readname, main):
109881         Define with prototypes.
109883         * lib/group-member.c: Include group-member.h first.
109884         Include <stdlib.h> unconditionally.
109886         * lib/hard-locale.c: Include hard-locale.h first.
109887         Include <stdlib.h>, <string.h> unconditionally.
109889         * lib/hash.c (free, malloc): Remove decls.
109890         Include <stdlib.h> unconditionally.
109892         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
109893         (getenv): Do not declare.
109895         * lib/idcache.c: Include <string.h> unconditionally.
109897         * lib/long-options.c: Include long-options.h first, to test interface.
109898         Include <stdlib.h> unconditionally.
109900         * lib/makepath.c: Include makepath.h first, to test interface.
109901         Include <stdlib.h> and <string.h> unconditionally.
109903         * lib/linebuffer.c: Include <stdlib.h>.
109904         (free): Remove decl.
109906         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
109907         stddef.h. rpl_malloc returns void *, not char *.
109908         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
109909         prototype.
109911         * lib/md5.h: Include <limits.h> unconditionally.
109912         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
109913         (__P): Remove; all uses removed.
109914         * lib/md5.c: Include "md5.h" first.
109915         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
109916         md5_buffer, md5_process_bytes, md5_process_block):
109917         Define with prototypes.
109918         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
109919         * lib/sha.c: Include "sha.h" first.
109920         Include <stdlib.h>, <string.h> unconditionally.
109922         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
109923         * lib/memcmp.c (__ptr_t): Likewise.
109924         * lib/memrchr.c (__ptr_t): Likewise.
109925         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
109926         Include <string.h> unconditionally.
109927         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
109928         * lib/memchr.c: Include <stdlib.h> unconditionally.
109929         * lib/memchr.c (LONG_MAX): Remove.
109930         * lib/memrchr.c (LONG_MAX): Likewise.
109931         * lib/memchr.c (__memchr): Define via a prototype.
109932         * lib/memrchr.c (__memrchr): Likewise.
109933         * lib/memcmp.c (__P): Remove, and remove all uses.
109934         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
109935         Remove forward decls; no longer needed.
109936         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
109937         Use types required by C89 in prototype.
109939         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
109940         * lib/savedir.c: Likewise.
109941         * lib/mkdir.c (free): Remove decl.
109942         * lib/rmdir.c (rmdir): Define with a prototype.
109943         * lib/savedir.c: Include savedir.h first, to test interface.
109945         * lib/mktime.c (STDC_HEADERS): Remove.
109946         Include <stdlib.h>, <string.h> unconditionally.
109948         * lib/modechange.c: Include <stdlib.h> unconditionally.
109949         (malloc): Remove decl.
109951         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
109952         (free): Remove decl.
109954         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
109955         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
109956         (This type really should be intptr_t, but that's a C99ism.)
109957         (_obstack_memcpy): Remove: all uses changed to memcpy.
109958         Include <string.h> unconditionally.
109959         (struct obstack): Assume __STDC__ for types of members
109960         chunkfun, freefun, extra_arg.
109961         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
109962         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
109963         obstack_begin, obstack_specify_allocation,
109964         obstack_specify_allocation_with_arg, obstack_chunkfun,
109965         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
109966         Remove unprototyped decls and the macros that use them.
109967         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
109968         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
109969         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
109970         (defined __STDC__ && __STDC__)]:
109971         Remove nonprototyped code.
109972         Include <stdlib.h> unconditionally.
109973         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
109974         _obstack_allocated_p, _obstack_free, obstack_free,
109975         _obstack_memory_used, print_and_abort):
109976         Define using prototypes.
109977         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
109978         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
109979         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
109980         obstack_next_free, obstack_object_size, obstack_room) [0]:
109981         Remove unused, unprototyped code.
109983         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
109985         * lib/physmem.c (physmem_total, physmem_available, main): Define
109986         with prototypes.
109988         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
109989         (main): Define with a prototype.
109991         * lib/posixver.c (getenv): Remove decl.
109993         * lib/putenv.c (malloc): Returns void *, not char *.
109994         Include <string.h> unconditionally.
109995         (strchr, memcpy, NULL): Do not define.
109997         * lib/readtokens.c: Include readtokens.h first, to test interface.
109998         Include <stdlib.h>, <string.h> unconditionally.
109999         (init_tokenbuffer): Define with a prototype.
110001         * lib/regex.c (PARAMS): Remove.  All uses removed.
110002         All uses of _RE_ARGS removed, too.
110003         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
110004         unconditionally.
110005         (bzero): Assume memset exists.
110006         (memcmp, memcpy, NULL): Remove.
110007         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
110008         char, or assignments to local vars of type signed char.
110009         (init_syntax_once, PREFIX(extract_number_and_incr),
110010         PREFIX(print_partial_compiled_pattern),
110011         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
110012         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
110013         PREFIX(regex_grow_registers), PREFIX(regex_compile),
110014         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
110015         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
110016         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
110017         wcs_compile_range, byte_compile_range, truncate_wchar,
110018         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
110019         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
110020         count_mbs_length, wcs_re_match_2_internal,
110021         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
110022         PREFIX(alt_match_null_string_p),
110023         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
110024         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
110025         regfree, PREFIX(extract_number)): Define with prototype.  Remove
110026         now-unnecessary declaration, if any.
110027         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
110028         regcomp, regexec):
110029         Remove now-unnecessary casts among pointer types.
110030         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
110032         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
110033         (free): Remove decl.
110035         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
110037         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
110038         (free): Remove decl.
110040         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
110041         * lib/xgetcwd.c: Likewise.
110043         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
110044         (free): Remove decl.
110046         * lib/strchrnul.c (strchrnul): Define with a prototype.
110047         Fix bug: c_in was not converted to char before searching.
110049         The following changes are not K&R related:
110051         * lib/group-member.h: Include <sys/types.h>, so that this file is
110052         self-contained.
110053         * lib/makepath.h: Likewise.
110055         * lib/getusershell.c (readname, default_index, line_size, readname):
110056         Use size_t, not int, for sizes.
110057         (readname): If the size overflows, report an error instead of
110058         looping forever.
110060 2003-09-09  Paul Eggert  <eggert@twinsun.com>
110062         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
110063         libc.
110065 2003-09-09  Paul Eggert  <eggert@twinsun.com>
110067         * README: New section: portability guidelines.
110069 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
110071         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
110072         C89 spec.
110074 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
110076         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
110078 2003-09-08  Paul Eggert  <eggert@twinsun.com>
110080         Assume C89 or better; remove K&R cruft.
110081         A few of these changes were first proposed by Derek Robert Price
110082         in <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00105.html>.
110084         * lib/addext.c: Include <string.h> unconditionally.
110085         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
110086         Don't declare getenv or malloc.
110088         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
110089         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
110090         (NULL): Remove.
110091         (find_stack_direction, alloca): Use prototypes.
110093         * lib/atexit.c (atexit): Define using a prototype.
110095         * lib/basename.c, dirname.c, stripslash.c:
110096         Include <string.h> unconditionally.
110098         * lib/bcopy.c: Include <stddef.h>.
110099         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
110101         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
110103         * lib/error.h (error, error_at_line, error_print_progname)
110104         [! (defined (__STDC__) && __STDC__)]: Remove decls.
110105         * lib/error.c: Include error.h first, to check interface.
110106         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
110107         (VA_START): Remove; all uses changeed to va_start.
110108         (exit, strerror): Remove decls.
110109         (error_print_progname): Prototype uncondionally.
110110         Don't include <errno.h>; no longer needed.
110111         (private_strerror): Remove.
110112         (error_tail): Always define.
110113         (error, error_at_line): Assume C89 or better; always use prototypes.
110114         * lib/fatal.c: Include "fatal.h" first, to test interface.
110115         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
110116         (VA_START): Remove; all uses changed to va_start.
110117         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
110118         this case.
110119         (exit): Remove decl.
110120         (fatal): Prototype unconditionally.  Assume va_start works.
110121         Abort at end, to pacify gcc.
110123         * lib/euidaccess.c (main): Define with a prototype.
110125         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
110127         * lib/exitfail.c: Include <stdlib.h> unconditionally.
110129         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
110130         prototypes.
110131         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
110132         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
110133         (getenv): Remove decl.
110134         (fnmatch): Define using a prototype.
110135         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
110136         (FCT): Define using a prototype.
110138         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
110140         * lib/gethostname.c: Include <stddef.h>.
110141         (gethostname): Define with prototype.  Length is size_t, not int.
110143 2003-09-08  Paul Eggert  <eggert@twinsun.com>
110145         Assume C89 or better; remove K&R cruft.
110146         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
110147         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
110148         string.h, getenv, malloc.
110149         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
110150         headers.
110151         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
110152         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
110153         do not check for strerror.
110154         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
110155         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
110156         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
110157         do not check for doprnt or vprintf.
110158         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
110159         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
110161 2003-09-08  Paul Eggert  <eggert@twinsun.com>
110163         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
110164         getversion.c should have been removed then, but was accidentally
110165         preserved.
110167         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
110168         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
110170 2003-09-08  Karl Berry  <karl@gnu.org>
110172         * config/config.sub, config.guess, srclistvars.sh: update from savannah
110173                 config, forget about prep.
110175         * config/depcomp, missing: update from automake.
110177 2003-09-07  Paul Eggert  <eggert@twinsun.com>
110179         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
110180         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
110182 2003-09-07  Paul Eggert  <eggert@twinsun.com>
110184         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
110185         copy_tm_result.  Bug reported by Simon Josefsson in
110186         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
110188 2003-09-06  Paul Eggert  <eggert@twinsun.com>
110190         * m4/time_r.m4: New file.
110191         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
110192         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
110193         is. Check for timegm declaration.
110194         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
110195         Do not check for gmtime_r.
110196         Replace mktime if __mktime_internal does not exist and if mktime
110197         hasn't been replaced already.
110199 2003-09-06  Paul Eggert  <eggert@twinsun.com>
110201         * lib/time_r.c, lib/time_r.h: New files.
110203         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
110204         __localtime_r.
110205         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
110206         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
110208         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
110209         __gmtime_r.
110210         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
110211         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
110212         Include <time_r.h>.
110214         * lib/timegm.c: Switch to glibc implementation, with the following
110215         changes:
110216         [defined HAVE_CONFIG_H]: Include <config.h>.
110217         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
110218         (__mktime_internal) [!defined _LIBC]: New decl.
110219         (__gmtime_r) [!defined _LIBC]: New macro and function.
110220         (timegm): Use a prototype, since gnulib assumes C89.
110221         Do not bother declaring tmp to be const, as it's not really usefu.
110222         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
110223         (timegm): Declare only if HAVE_DECL_TIMEGM.
110225 2003-09-06  Paul Eggert  <eggert@twinsun.com>
110227         * MODULES.html.sh (func_all_modules): Add time_r.
110228         * modules/time_r: New file.
110229         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
110230         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
110232 2003-09-03  Paul Eggert  <eggert@twinsun.com>
110234         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
110235         Bug reported by Lute Kamstra in
110236         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00003.html>.
110238         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
110239         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
110240         course with correspondingly smaller numbers for tomorrow and
110241         yesterday.  From Tadayoshi Funaba.  Originally installed into
110242         sh-utils on 1999-08-07, but the patch got lost (I guess during the
110243         coreutils merge?).
110245 2003-08-31  Simon Josefsson  <jas@extundo.com>
110247         * modules/timegm: New file.
110248         * MODULES.html.sh (func_all_modules): Add timegm.
110250 2003-08-31  Simon Josefsson  <jas@extundo.com>
110252         * m4/timegm.m4: New file.
110254 2003-08-31  Simon Josefsson  <jas@extundo.com>
110256         * lib/timegm.h: New file.
110257         * lib/timegm.c: New file.  Based on
110258         wget-1.8.2/src/http.c:mktime_from_utc.
110260 2003-08-31  Karl Berry  <karl@gnu.org>
110262         * lib/argp.h: update from libc.
110264 2003-08-28  Bruno Haible  <bruno@clisp.org>
110266         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
110267         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
110268         followed by '#define fnmatch fnmatch_posix' gives an error.
110270 2003-08-28  Bruno Haible  <bruno@clisp.org>
110272         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
110273         warning on QNX, which defines O_BINARY to 000000.
110275 2003-08-27  Jim Meyering  <jim@meyering.net>
110277         * m4/mkstemp.m4: Require that the system mkstemp be able to create
110278         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
110279         would fail after 32.  Reported by Danny Levinson.  Details here:
110280         http://mail.gnu.org/r/bug-coreutils/2003-08/msg00124.html
110282 2003-08-24  Bruno Haible  <bruno@clisp.org>
110284         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
110285         MSVC7 <stdio.h> is included later.
110287 2003-08-22  Simon Josefsson  <jas@extundo.com>
110289         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
110291 2003-08-20  Karl Berry  <karl@gnu.org>
110293         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
110295 2003-08-20  Bruno Haible  <bruno@clisp.org>
110297         * modules/progname: New file.
110298         * MODULES.html.sh (func_all_modules): Add progname.
110300 2003-08-20  Bruno Haible  <bruno@clisp.org>
110302         * lib/progname.h: New file, from GNU gettext.
110303         * lib/progname.c: New file, from GNU gettext.
110304         * lib/progreloc.c: New file, from GNU gettext.
110306 2003-08-19  Jim Meyering  <jim@meyering.net>
110308         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
110309         http://mail.gnu.org/r/bug-gnulib/2003-08/msg00155.html
110311 2003-08-19  Bruno Haible  <bruno@clisp.org>
110313         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
110314         more.
110316 2003-08-19  Bruno Haible  <bruno@clisp.org>
110318         * lib/xstrdup.c: Assume <string.h> exists.
110320 2003-08-18  Paul Eggert  <eggert@twinsun.com>
110322         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
110323         in makefile rules.
110325 2003-08-18  Jim Meyering  <jim@meyering.net>
110327         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
110328         * m4/lib-ld.m4: Likewise.
110330 2003-08-18  Jim Meyering  <jim@meyering.net>
110332         * lib/setenv.h: Indent nested cpp directive.
110333         * lib/vasnprintf.c: Remove trailing blanks.
110335 2003-08-17  Simon Josefsson  <jas@extundo.com>
110337         * modules/xstrndup: New file.
110338         * MODULES.html.sh (func_all_modules): Add xstrndup.
110340 2003-08-17  Simon Josefsson  <jas@extundo.com>
110342         * modules/argp: Fix autoconf macro name. Add more dependencies.
110344 2003-08-17  Simon Josefsson  <jas@extundo.com>
110346         * m4/xstrndup.m4: New file.
110348 2003-08-17  Simon Josefsson  <jas@extundo.com>
110350         * m4/argp.m4: New file.
110352 2003-08-17  Simon Josefsson  <jas@extundo.com>
110353             Bruno Haible  <bruno@clisp.org>
110355         * lib/xstrndup.h: New file.
110356         * lib/xstrndup.c: New file.
110358 2003-08-17  Bruno Haible  <bruno@clisp.org>
110360         * modules/strndup (Files, Include): Add lib/strndup.h.
110362 2003-08-17  Bruno Haible  <bruno@clisp.org>
110364         * modules/euidaccess (Files): Add lib/euidaccess.h.
110366 2003-08-17  Bruno Haible  <bruno@clisp.org>
110368         * lib/strndup.h: New file.
110370 2003-08-17  Bruno Haible  <bruno@clisp.org>
110372         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
110373         like AC_GNU_SOURCE.
110374         * modules/extensions (configure.ac): Comment out the invocation of
110375         gl_USE_SYSTEM_EXTENSIONS.
110377 2003-08-16  Paul Eggert  <eggert@twinsun.com>
110379         Merges from coreutils, etc.
110380         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
110381         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
110382         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
110383         fixing a typo.
110384         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
110385         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
110387 2003-08-16  Paul Eggert  <eggert@twinsun.com>
110389         Document merge from coreutils.
110390         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
110391         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
110392         * modules/utime: Add m4/utimes-null.m4.
110394 2003-08-16  Paul Eggert  <eggert@twinsun.com>
110396         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
110397         space, undoing this 2003-08-12 change:
110398         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
110400 2003-08-16  Paul Eggert  <eggert@twinsun.com>
110402         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
110403         strtoul.c from libc, undoing this 2003-08-12 change:
110404         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
110406 2003-08-16  Jim Meyering  <jim@meyering.net>
110408         Merges from coreutils.
110409         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
110410         prefix.  Adjust cache variables similarly.  Create 500 rather than
110411         just 300 files, to exercise bug on Darwin6.5, too.
110412         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
110413         $missing_dir.
110414         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
110415         AM_SYS_POSIX_TERMIOS.
110416         Reported by mkc@mathdogs.com.
110417         Also change use of $am_cv_sys_posix_termios
110418         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
110419         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
110420         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
110421         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
110422         in /proc/mounts until it finds one with matching device number.  This
110423         is unnecessary when the FILE argument *is* a mount point.  No stat call
110424         is necessary in that case.  So, disable the statvfs-testing code on
110425         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
110426         as RedHat bug# 84846.
110427         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
110428         to 1MB, so as not to render systems with no stack size limit (e.g.,
110429         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
110430         Include <unistd.h>.  On some systems,
110431         it is required for the definition of _SC_PAGESIZE.
110433 2003-08-16  Jim Meyering  <jim@meyering.net>
110435         Merge from coreutils.
110436         * lib/xstrtoimax.c: #else #if -> #elif.
110437         * lib/xstrtoumax.c: Likewise.
110439 2003-08-16  Jim Meyering  <jim@meyering.net>
110441         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
110442         * m4/utimes.m4: Removed.
110443         * m4/utimes-null.m4: Renamed from utimes.m4.
110445         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
110446         to 1MB, so as not to render systems with no stack size limit (e.g.,
110447         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
110448         Include <unistd.h>.  On some systems,
110449         it is required for the definition of _SC_PAGESIZE.
110451 2003-08-16  Jim Meyering  <jim@meyering.net>
110452         and Paul Eggert  <eggert@cs.ucla.edu>
110454         Merges from coreutils, etc.
110456         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
110457         using the latest version from cvs.  This avoids problems with #line
110458         directives using a vendor (Sun) compiler.
110459         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
110460         Don't set GETGROUPS_LIB here; now it's
110461         done via getgroups.m4's wrapper function.
110462         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
110463         rather than just in sh-util/configure.in, so that the
110464         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
110465         same.
110466         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
110467         AC_FUNC_GETLOADAVG where to find getloadavg.c.
110468         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
110469         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
110470         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
110471         Remove code that is now done by the newly-required macros.
110472         Append $(EXEEXT) to DF_PROG.
110473         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
110474         Do not invoke or require the following here,
110475         since prereq.m4 or some gnulib .m4 now does this for us:
110476         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
110477         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
110478         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
110479         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
110480         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
110481         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
110482         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
110483         AC_FUNC_OBSTACK.
110484         Do not replace the following functions, as this is now the job
110485         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
110486         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
110487         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
110488         atexit getpass, strdup, getpagesize.
110489         Replace 'raise'.
110490         Do not check for the following functions, as this is now the job
110491         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
110492         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
110493         setregid.
110494         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
110495         Check for sys/sysctl.h.
110496         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
110497         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
110498         of checking for ssize_t ourselves.
110500         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
110501         Require every macro that gnulib/modules/* suggests for us.
110502         (jm_PREREQ_ADDEXT): New macro.
110503         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
110504         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
110506         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
110507         (gl_PHYSMEM): Use it.
110508         Also check for `table' function.
110509         Check for new headers and functions.
110510         Add check for sys/sysmp.h.
110511         With suggestions from Kaveh Ghazi.
110512         Ignore headers that are present but cannot be compiled.  This
110513         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
110514         C 5.4.
110516 2003-08-15  Paul Eggert  <eggert@twinsun.com>
110518         Document merge from coreutils.
110519         * modules/userspec: Depend on posixver.
110520         * modules/strftime: Depend on tzset.
110522 2003-08-15  Paul Eggert  <eggert@twinsun.com>
110524         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
110525         rather than tab, after '#' in shell-script copyright notices.
110526         Suggested by Bruno Haible.
110528 2003-08-15  Paul Eggert  <eggert@twinsun.com>
110530         * config/srclist-update: Use three spaces, rather than tab, after '#'
110531         in shell-script copyright notices.  Suggested by Bruno Haible.
110532         Remove unnecessary parenthesization in regular expression.
110534 2003-08-15  Jim Meyering  <jim@meyering.net>
110536         Merge from coreutils.
110537         * lib/xgethostname.c: Include <stdlib.h>.
110538         (xghostname): Don't exit for anything other than memory-related
110539         failure; just return NULL.
110540         * lib/userspec.c: Include "posixver.h".
110541         (parse_user_spec): Accept `.' as a separator only
110542         in pre-POSIX-200112 mode.
110543         * lib/strtoimax.c: Use #elif rather than #else #if.
110544         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
110545         Remove function, now that we can rely on a working tzset function.
110546         [!_LIBC]: Ensure that the required autoconf test has been run.
110547         [!defined _NL_CURRENT && HAVE_STRFTIME]:
110548         Use underlying_strftime for %r.
110549         * lib/sha.c: Merge in some clean-up and optimization changes from
110550         glibc.
110551         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
110552         Ensure that it is a multiple of 64.
110553         Rearrange loop exit tests so as to avoid performing an
110554         additional fread after encountering an error or EOF.
110555         * lib/realloc.c: Update copyright date.
110557 2003-08-15  Jim Meyering  <jim@meyering.net>
110558         and Paul Eggert  <eggert@twinsun.com>
110560         Merge from coreutils.
110561         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
110562         member but strut utmpx does not.  Needed for AIX 4.3.3.
110563         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
110565 2003-08-15  Jim Meyering  <jim@meyering.net>
110566         and Paul Eggert  <eggert@cs.ucla.edu>
110568         Merges from coreutils, etc.
110569         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
110570         Require gl_FUNC_TZSET_CLOBBER.
110571         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
110572         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
110573         members.
110575 2003-08-14  Paul Eggert  <eggert@twinsun.com>
110577         Help the merge from coreutils.
110578         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
110579         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
110580         * m4/tzset.m4: Use it too.
110582 2003-08-14  Paul Eggert  <eggert@twinsun.com>
110584         * modules/tzset: New file.
110586 2003-08-14  Jim Meyering  <jim@meyering.net>
110588         Merges from coreutils.
110589         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
110590         variable names, rather than @FNMATCH_H@.
110591         * modules/alloca: Likewise for $(ALLOCA_H).
110593         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
110594         the three copies of the literal target, `fnmatch.h'.
110595         * modules/alloca (alloca.h): Likewise.
110597 2003-08-14  Jim Meyering  <jim@meyering.net>
110599         Merge from coreutils.
110600         * m4/tzset.m4: New file.
110601         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
110602         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
110603         otherwise, AIX 5.1 systems would end up using the latter.
110604         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
110605         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
110606         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
110607         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
110609 2003-08-14  Jim Meyering  <jim@meyering.net>
110611         Merge from coreutils.
110612         * lib/obstack.h: Whitespace changes.
110613         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
110614         and xcalloc return values.
110615         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
110616         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
110617         hang on OSF/1 5.1 for DIR on both local and remote file systems.
110618         Reported by (and fix confirmed by) Nelson H. F. Beebe.
110619         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
110620         error from mntctl.
110621         Use mntctl's return value to drive the entry-processing loop, since
110622         we can't rely on the value of the vmt_length member in the last
110623         entry.  On some systems doing so could result in exhausting
110624         virtual memory.  Based in part on a patch from Mike Jetzer.
110626 2003-08-14  Jim Meyering  <jim@meyering.net>
110627         and Paul Eggert  <eggert@twinsun.com>
110629         Merges from coreutils, plus other fixes.
110630         * lib/physmem.c: Merge in portability changes from gcc/libiberty
110631         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
110632         for credits and details.  Thanks to Kaveh Ghazi for helping
110633         to keep these files in sync.
110634         (ARRAY_SIZE): Define it.
110635         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
110636         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
110637         (memcasecmp): Don't assume size_t fits in unsigned int.
110638         Remove casts and duplicate code.
110639         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
110640         (memcpy): Remove definition.
110641         Merge in some clean-up and optimization changes from glibc.
110642         [BLOCKSIZE]: Move definition to top of file.
110643         Ensure that it is a multiple of 64.
110644         Rearrange loop exit tests so as to avoid performing an
110645         additional fread after encountering an error or EOF.
110646         * lib/md5.h (md5_uintptr): Define.
110647         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
110648         return to the initial working directory.  Preserve errno
110649         for caller.
110650         * lib/idcache.c: Include "xalloc.h".
110651         (xmalloc, xrealloc): Remove decls.
110652         (getuser): Remove casts no longer required in C89.
110653         * lib/human.c: Include stdio.h, for sprintf.
110654         * lib/group-member.c: Include "xalloc.h".
110655         (xmalloc, xrealloc): Remove decls.
110656         (get_group_info): Remove casts no longer required in C89.
110657         * lib/getusershell.c (readname): Remove casts no longer required in
110658         C89.
110659         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
110660         * lib/getline.c: Whitespace fix, from coreutils.
110662 2003-08-13  Paul Eggert  <eggert@twinsun.com>
110664         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
110665         Check for isascii.
110667         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
110668         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
110669         Undo previous (whitespace-only) change.
110671 2003-08-13  Paul Eggert  <eggert@twinsun.com>
110673         * lib/exclude.c: Include <ctype.h>
110674         (IN_CTYPE_DOMAIN): New macro.
110675         (is_space): New fn.
110676         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
110677         and empty lines.
110679         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
110680         Undo previous (whitespace-only) change.
110682 2003-08-13  Paul Eggert  <eggert@twinsun.com>
110684         * config/srclist-update: Change update back to the old behavior,
110685         leaving whitespace alone.  Use one 'sed' command rather than a
110686         pipeline.
110687         (fixlicense): Now a variable, not a function.
110688         (remove_trailing_blanks): Remove.
110689         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
110690         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
110691         Undo previous (whitespace-only) change.
110693 2003-08-12  Paul Eggert  <eggert@twinsun.com>
110695         Merge from coreutils.
110696         * modules/euidaccess: Add lib_SOURCES, include for new
110697         file euidaccess.h
110699 2003-08-12  Paul Eggert  <eggert@twinsun.com>
110701         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
110702         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
110703         Normalize leading white space and remove trailing white space.
110705         Merge from coreutils
110706         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
110708         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
110709         0.12.1.  These files are now being upgraded automatically by
110710         ../config/srclist-update.
110712 2003-08-12  Paul Eggert  <eggert@twinsun.com>
110714         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
110715         Normalize leading white space and remove trailing white space.
110716         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
110717         notice, as per ../config/srclist-update.
110719         Merge from coreutils.
110720         * lib/euidaccess.h: New file.
110721         * lib/euidaccess.c: Include it.
110722         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
110723         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
110724         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
110726 2003-08-12  Paul Eggert  <eggert@twinsun.com>
110728         * config/srclist-update: Add copyright notice.
110729         (remove_id_lines, remove_trailing_blanks): New constants.
110730         (fixfile): Use them to normalize spacing a bit in copied files.
110731         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
110732         Normalize leading white space and remove trailing white space.
110734         * config/texinfo.tex: Sync with texinfo.
110736         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
110737         strtoul.c from libc, to merge coreutils whitespace changes.
110739         * config/srclist.txt: Get the following m4 files from gettext:
110740         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
110741         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
110742         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
110743         wint_t.m4.
110745 2003-08-12  Karl Berry  <karl@gnu.org>
110747         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
110748         been made.
110750 2003-08-11  Paul Eggert  <eggert@twinsun.com>
110752         * modules/gnu-source, m4/gnu-source.m4:
110753         Remove; we're assuming Autoconf 2.54 or later now.
110754         Suggested by Bruno Haible.
110755         * MODULES.html.sh (func_all_modules): Remove gnu-source.
110757 2003-08-11  Bruno Haible  <bruno@clisp.org>
110759         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
110761 2003-08-11  Bruno Haible  <bruno@clisp.org>
110763         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
110764         (vasnprintf): Use it instead of wcslen.
110766 2003-08-11  Bruno Haible  <bruno@clisp.org>
110768         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
110769         value to ensure that _Bool promotes to int. Use #define for _Bool when
110770         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
110772 2003-08-10  Karl Berry  <karl@gnu.org>
110774         * lib/regex.h: update from libc (whitespace fix).
110776 2003-08-09  Paul Eggert  <eggert@twinsun.com>
110778         Merge some files from coreutils.  These changes were
110779         originally made by Jim Meyering.
110780         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
110781         many older Unixes require this.
110782         * lib/alloca.c (alloca): Remove cast to argument of free;
110783         no longer needed in C89.
110784         * lib/alloca_.h, regex.h: Fix white space to match
110785         what GNU indent does.
110787 2003-08-09  Paul Eggert  <eggert@twinsun.com>
110789         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
110790         apparently Emacs's Unicode mode got confused before my 2003-08-05
110791         checkin.
110793 2003-08-08  Paul Eggert  <eggert@twinsun.com>
110795         * m4/extensions.m4: New file.
110796         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
110797         Require gl_USE_SYSTEM_EXTENSIONS.
110798         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
110799         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
110801 2003-08-08  Paul Eggert  <eggert@twinsun.com>
110803         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
110804         * modules/extensions, modules/gnu-source: New files.
110805         * modules/timespec, modules/unlocked-io: Depend on extensions.
110807 2003-08-07  Paul Eggert  <eggert@twinsun.com>
110809         * modules/restrict: New file.
110810         * MODULES.html.sh (func_all_modules): Add restrict.
110811         * modules/regex: Depend on restrict.
110813 2003-08-07  Paul Eggert  <eggert@twinsun.com>
110815         * m4/restrict.m4: New file.
110816         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
110818 2003-08-07  Bruno Haible  <bruno@clisp.org>
110820         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
110821         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
110823 2003-08-07  Bruno Haible  <bruno@clisp.org>
110825         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
110826         makes the module 'getndelim2' compatible with the module 'getline'.
110828 2003-08-05  Paul Eggert  <eggert@twinsun.com>
110830         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
110831         byte with "\201" to avoid glitches when editing that source file
110832         with multi-gnome-terminal.
110834 2003-08-05  Paul Eggert  <eggert@twinsun.com>
110836         * lib/bumpalloc.h: Remove.
110838 2003-08-05  Paul Eggert  <eggert@twinsun.com>
110840         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
110841         * modules/bumpalloc: Remove.
110843 2003-08-04  Paul Eggert  <eggert@twinsun.com>
110845         * lib/getloadavg.c: Change copyright notice and spacing to conform to
110846         GNU coding style.
110848         Merge from coreutils.
110849         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
110850         1. From glibc.
110851         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
110852         from Karl Berry, implemented by Jim Meyering.
110853         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
110854         from Dmitry V. Levin.
110855         Remove anachronistic cast of xrealloc.
110856         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
110857         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
110858         type. Otherwise, it wouldn't compile with at least /bin/cc on
110859         ymp-cray-unicos9.0.2.X.
110860         Combine two mostly-identical uses of alloca into one.
110861         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
110863 2003-08-04  Dave Love  <d.love@dl.ac.uk>
110865         [From Emacs.]
110867         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
110868         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
110869         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
110870         obsolete NLIST_NAME_UNION.
110871         [__GNU__]: Undef BSD and FSCALE.
110872         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
110874 2003-08-03  Paul Eggert  <eggert@twinsun.com>
110876         * lib/stdbool_.h (_Bool): Make it signed char, instead of
110877         an enum type, so that it's guaranteed to promote to int.  See:
110878         <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00124.html>
110880 2003-08-03  Karl Berry  <karl@gnu.org>
110882         * config/depcomp: update from automake.
110884 2003-07-31  Paul Eggert  <eggert@twinsun.com>
110886         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
110887         (strerror): Don't assume that a printable int fits in 14 bytes.
110889 2003-07-31  Bruno Haible  <bruno@clisp.org>
110891         * modules/getpass-gnu: New file.
110892         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
110894 2003-07-31  Bruno Haible  <bruno@clisp.org>
110896         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
110898 2003-07-24  Karl Berry  <karl@gnu.org>
110900         * config/missing: update from automake.
110902 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
110903             Bruno Haible  <bruno@clisp.org>
110905         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
110906         * lib/getline.c (getline, getdelim): Likewise.
110907         Remove _GNU_SOURCE define; now it's defined in config.h through
110908         m4/getline.m4.
110910 2003-07-23  Karl Berry  <karl@gnu.org>
110912         * config/config.sub: update from prep.
110914 2003-07-22  Paul Eggert  <eggert@twinsun.com>
110916         * modules/xalloc (Depends-on): Add exitfail.
110917         * modules/xmemcoll: Likewise.
110919 2003-07-22  Paul Eggert  <eggert@twinsun.com>
110921         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
110922         over-parenthesization in macros.
110924         Sync with coreutils.
110926         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
110927         required by C99.
110929         Use `exit_failure' for xalloc and xmemcoll instead of their own
110930         private exit-failure variables.
110931         * lib/xalloc.h (xalloc_exit_failure): Remove.
110932         * lib/xmalloc.c: Likewise.  Include exitfail.h.
110933         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
110934         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
110935         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
110936         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
110938 2003-07-20  Jim Meyering  <jim@meyering.net>
110940         * modules/closeout (Depends-on): Add exitfail.
110941         Suggestion from Bruno Haible.
110943 2003-07-19  Karl Berry  <karl@gnu.org>
110945         * config/config.sub: update from prep.
110947 2003-07-18  Paul Eggert  <eggert@twinsun.com>
110949         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
110950         Remove.
110951         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
110952         to test that it can stand by itself.  Include "exitfail.h".
110953         Clients should set exit_failure instead.
110954         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
110956 2003-07-18  Bruno Haible  <bruno@clisp.org>
110958         * modules/getndelim2: New file.
110959         * modules/getline: Share files with module getndelim2.
110960         * modules/getnline: Depend on getndelim2 instead of sharing files with
110961         it. Add getnline.c to lib_SOURCES.
110962         * MODULES.html.sh (func_all_modules): Add getndelim2.
110964 2003-07-18  Bruno Haible  <bruno@clisp.org>
110966         * m4/getndelim2.m4: New file.
110967         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
110968         invoke gl_PREREQ_GETNDELIM2.
110969         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
110970         gl_PREREQ_GETNDELIM2.
110971         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
110972         gl_GETNDELIM2.
110974 2003-07-18  Bruno Haible  <bruno@clisp.org>
110976         * lib/getndelim2.h: New file.
110977         * lib/getndelim2.c: Make into a module of its own. Include config.h,
110978         getndelim2.h.
110979         (getndelim2): Make non-static. Change return type to ssize_t.
110980         * lib/getline.h: Change argument names.
110981         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
110982         * lib/getnline.c: Include getndelim2.h.
110984 2003-07-18  Andreas Schwab  <schwab@suse.de>
110986         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
110988 2003-07-17  Karl Berry  <karl@gnu.org>
110990         * config/config.sub: update from prep.
110992 2003-07-17  Bruno Haible  <bruno@clisp.org>
110994         * modules/getnline: New file.
110995         * modules/getline: Add lib/getndelim2.c to source file list.
110996         * MODULES.html.sh (func_all_modules): Add getnline.
110998 2003-07-17  Bruno Haible  <bruno@clisp.org>
111000         * m4/getnline.m4: New file.
111002 2003-07-17  Bruno Haible  <bruno@clisp.org>
111004         * m4/Makefile.am.in: Remove file.
111005         * m4/Makefile.am: Remove file.
111006         * m4/Makefile.in: Remove file.
111008 2003-07-17  Bruno Haible  <bruno@clisp.org>
111010         * lib/getnline.h: New file.
111011         * lib/getnline.c: New file.
111012         * lib/getndelim2.c: New file, extracted from getline.c.
111013         (getndelim2): Renamed from getdelim2, with added nmax argument.
111014         * lib/getline.c: Include getndelim2.c.
111015         (getdelim2): Moved out to getndelim2.c.
111016         (getline, getdelim): Update.
111018 2003-07-17  Bruno Haible  <bruno@clisp.org>
111020         * lib/Makefile.am: Remove file.
111021         * lib/Makefile.in: Remove file.
111023 2003-07-17  Bruno Haible  <bruno@clisp.org>
111025         * configure.in: Remove file.
111026         * Makefile.in: Remove file.
111028 2003-07-17  Bruno Haible  <bruno@clisp.org>
111030         * MODULES.html.sh: Put the </BODY> right before </HTML>.
111032 2003-07-16  Karl Berry  <karl@gnu.org>
111034         * config/srclist-update: was running fixlicense twice, which caused
111035                 texinfo.tex to be nullified for some reason.  Simplify,
111036                 $gplsrc is no longer needed as far as I can see?
111038 2003-07-16  Jim Meyering  <jim@meyering.net>
111040         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
111042 2003-07-15  Paul Eggert  <eggert@twinsun.com>
111044         * config/srclist.txt: Get the following files from gettext-runtime/intl
111045         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
111046         ref-del.sin.  From Bruno Haible.
111047         * config/srclist-update (fixfile): Change grep pattern again, since the
111048         previous fix didn't work (there was another trailing $).  Use
111049         '[$]' to escape the $s.
111051 2003-07-15  Karl Berry  <karl@gnu.org>
111053         * lib/vasnprintf.c: update from gettext.
111055 2003-07-15  Karl Berry  <karl@gnu.org>
111057         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
111058         gets expanded when surrounded by '$'.
111060 2003-07-15  Jim Meyering  <jim@meyering.net>
111062         * modules/save-cwd: Don't depend on error.  From Derek Price.
111064 2003-07-15  Jim Meyering  <jim@meyering.net>
111066         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
111068 2003-07-14  Simon Josefsson  <jas@extundo.com>
111070         * modules/mempcpy: New file.
111071         * MODULES.html.sh (func_all_modules): Add mempcpy.
111073 2003-07-14  Simon Josefsson  <jas@extundo.com>
111075         * m4/mempcpy.m4: New file.
111077 2003-07-14  Simon Josefsson  <jas@extundo.com>
111079         * lib/mempcpy.h: New file.
111080         * lib/mempcpy.c: New file.
111082 2003-07-14  Paul Eggert  <eggert@twinsun.com>
111084         * modules/getdate, modules/posixtm: Depend on mktime.
111086 2003-07-14  Paul Eggert  <eggert@twinsun.com>
111088         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
111089         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
111090         unicodeio.c, unicodeio.h, unlocked-io.h:
111091         Switch from LGPL to GPL.
111093 2003-07-14  Paul Eggert  <eggert@twinsun.com>
111095         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
111096         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
111097         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
111098         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
111099         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
111100         updated automatically by ../config/srclist-update.  This changes
111101         their license from LPGL to GPL.
111103 2003-07-14  Paul Eggert  <eggert@twinsun.com>
111105         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
111106         assumed to refer to the root of the most recent stable gettext version.
111107         * config/srclistvars.sh: Add defaults for eggert.
111108         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
111109         Match "This program" as well as "The program".  This is needed
111110         for gettext.
111112 2003-07-14  Jim Meyering  <jim@meyering.net>
111114         Don't emit diagnostics.  Let callers do that.
111115         * lib/save-cwd.c: Don't include "error.h".
111116         (save_cwd): Don't call error.  Ensure that errno is valid
111117         when returning nonzero.
111119         * lib/save-cwd.h (restore_cwd): Update prototype.
111120         * lib/save-cwd.c (restore_cwd): Remove two parameters.
111121         Simplify.  Don't call error upon failure.  Let callers do that.
111122         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
111123         when auditing is enabled.  But don't bother updating the #if.
111125 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
111127         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
111128         it breaks C++ compilation.
111129         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
111131 2003-07-10  Simon Josefsson  <jas@extundo.com>
111133         * modules/strchrnul (Makefile.am): Add strchrnul.h.
111135 2003-07-10  Jim Meyering  <jim@meyering.net>
111137         * m4/clock_time.m4: Remove trailing blank.
111138         * m4/intmax_t.m4: Likewise.
111140 2003-07-10  Jim Meyering  <jim@meyering.net>
111142         * lib/vasnprintf.c: Remove trailing blanks.
111143         Make cpp indentation consistent.
111145 2003-07-09  Paul Eggert  <eggert@twinsun.com>
111147         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
111148         posixver.c, strftime.c, strnlen.c, strverscmp.c:
111149         Switch from LGPL to GPL.
111151 2003-07-09  Paul Eggert  <eggert@twinsun.com>
111153         * config/srclist.txt: Sort sublists.  Add
111154         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
111155         that differ from gnulib for one reason or another; we'd like this list
111156         to be smaller but for now let's document what we have.
111158 2003-07-08  Paul Eggert  <eggert@twinsun.com>
111160         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
111161         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
111162         and sweeter "eval x=$x".
111163         * config/srclist.txt: Get lib/argp* from glibc.
111165 2003-07-07  Paul Eggert  <eggert@twinsun.com>
111167         * lib/mktime.c: Fix some boundary cases and remove need for floating
111168         point.
111170         Issue a compile-time diagnostic if time_t is floating point, or if
111171         two's complement arithmetic is not in effect, or if arithmetic
111172         right shift does not propagate the sign.  These assumptions were
111173         all in the original code but they weren't checked.
111175         (TIME_T_MIDPOINT, verify): New macros.
111176         (__isleap): Remove; it has integer overflow problems.
111177         (leapyear): New function, without those problems.
111178         (ydhms_tm_diff): Remove; splitting into two parts.
111179         (ydhms_diff): New function, containing the arithmetic part of
111180         the old ydhms_tm_diff function.  Issue a compile-time
111181         diagnostic if we are not using C99 integer division.
111182         Avoid casts when possible.
111183         (guess_time_tm): New function, containing the checking part of
111184         the old ydhms_tm_diff function.  Return the new value, rather than
111185         the difference between it and the old.  Accept a new argument T
111186         so that *T specifies the old value.  Check for overflow in the result.
111188         (__mktime_internal): Use a time_t offset, not a long int offset.
111189         This undoes the 2003-06-04 change, which is no longer needed now
111190         that we have better overflow checking.
111191         (localtime_offset): Likewise.
111193         (__mktime_internal): Avoid harmful overflow on hosts where time_t
111194         and long are 64-bit but int is only 32-bit.
111195         (ydhms_diff): Use long int to store year1 and yday1.
111196         Issue a compile-time diagnostic if long int is not wide enough.
111198         (__mktime_internal): Use long int to store adjusted year and yday.
111199         Use plain C rather than preprocessor commands, if that doesn't
111200         affect efficiency.
111201         Check for overflow (and try to repair) after each probe
111202         rather than checking only at the very end.  This avoids some bugs
111203         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
111204         does not equal GMT offset at maximum time).
111205         Use integer to check for overflow rather than floating point; this
111206         is more portable to non-IEEE hosts, and is a tad faster.
111207         When we detect that we are oscillating between two values,
111208         don't check whether tm_isdst has the requested value, since
111209         we already know the answer.  When tm_isdst has the wrong value,
111210         use a different heuristic to find the right one, based on the
111211         extreme values actually observed in practice in tz2003a,
111212         rather than the (overly optimistic) "previous 3 calendar quarters".
111214         (not_equal_tm, print_tm, check_result): Use "const T" rather than
111215         "T const" to accommodate glibc style.
111216         (check_result): Use less-confusing report format.  "long" -> "long int.
111217         (main): Likewise.
111218         Don't loop if the iteration overflows time_t.
111219         Allow a negative step in the iteration.
111221 2003-07-06  Karl Berry  <karl@gnu.org>
111223         * config/depcomp: update from automake.
111224         * config/config.sub: update from prep.
111226 2003-07-03  Karl Berry  <karl@gnu.org>
111228         * config/config.guess: update from prep.
111230 2003-07-01  Paul Eggert  <eggert@twinsun.com>
111232         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
111233         xreadlink.c now includes it unconditionally.
111235 2003-07-01  Paul Eggert  <eggert@twinsun.com>
111237         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
111238         having it depend on HAVE_SYS_TYPES_H.
111240 2003-07-01  Bruno Haible  <bruno@clisp.org>
111242         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
111243         <sys/types.h> should be sufficient.
111244         Reported by Paul Eggert.
111246 2003-06-26  Karl Berry  <karl@gnu.org>
111248         * config/depcomp: update from automake.
111250 2003-06-26  Bruno Haible  <bruno@clisp.org>
111252         * modules/human: Depend on module stdbool.
111254 2003-06-25  Bruno Haible  <bruno@clisp.org>
111256         * modules/readlink: New file.
111257         * modules/xreadlink: Depend on it.
111258         * MODULES.html.sh (func_all_modules): Add readlink.
111260 2003-06-25  Bruno Haible  <bruno@clisp.org>
111262         * m4/readlink.m4: New file.
111264 2003-06-25  Bruno Haible  <bruno@clisp.org>
111266         * lib/readlink.c: New file.
111268 2003-06-22  Karl Berry  <karl@gnu.org>
111270         * config/srclist.txt: update mkinstalldirs from automake.
111271         * config/mkinstalldirs: update.
111273 2003-06-22  Bruno Haible  <bruno@clisp.org>
111275         Portability to mingw32.
111276         * m4/ssize_t.m4: New file, from GNU gettext.
111277         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
111278         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
111280 2003-06-22  Bruno Haible  <bruno@clisp.org>
111282         * modules/safe-read: Add m4/ssize_t.m4.
111283         * modules/xreadlink: Add m4/ssize_t.m4.
111285 2003-06-20  Bruno Haible  <bruno@clisp.org>
111287         Assume C89, so PARAMS isn't needed.
111288         * lib/unicodeio.h (PARAMS): Remove.
111289         * lib/unicodeio.c: Don't use PARAMS.
111291 2003-06-18  Karl Berry  <karl@gnu.org>
111293         * config/config.{guess,sub}: update from prep.
111295 2003-06-18  Jim Meyering  <jim@meyering.net>
111297         Merge changes from coreutils.
111298         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
111299         Remove explicit declarations of xmalloc and realloc.
111300         Include xalloc.h.
111301         (read_utmp): Remove anachronistic cast of xmalloc.
111303 2003-06-17  Paul Eggert  <eggert@twinsun.com>
111305         Assume C89, so PARAMS isn't needed.
111306         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
111307         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
111308         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
111309         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
111310         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
111311         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
111312         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
111313         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
111314         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
111315         lib/xstrtod.h, lib/xstrtol.h: Likewise.
111316         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
111317         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
111318         no longer needed. Anyway, config.h should always be included before any
111319         other file.
111321 2003-06-11  Simon Josefsson  <jas@extundo.com>
111323         * modules/sysexits: New file.
111324         * MODULES.html.sh (func_all_modules): Add sysexits.
111326 2003-06-11  Simon Josefsson  <jas@extundo.com>
111328         * lib/sysexit_.h: New file.
111330 2003-06-11  Derek Price  <derek@ximbiot.com>
111332         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
111333         necessary.
111335 2003-06-11  Bruno Haible  <bruno@clisp.org>
111337         * m4/sysexits.m4: New file.
111339 2003-06-10  Simon Josefsson  <jas@extundo.com>
111341         * lib/argp.h: New file, from glibc.
111342         * lib/argp-ba.c: New file, from glibc.
111343         * lib/argp-eexst.c: New file, from glibc.
111344         * lib/argp-fmtstream.c: New file, from glibc.
111345         * lib/argp-fmtstream.h: New file, from glibc.
111346         * lib/argp-fs-xinl.c: New file, from glibc.
111347         * lib/argp-help.c: New file, from glibc.
111348         * lib/argp-namefrob.h: New file, from glibc.
111349         * lib/argp-parse.c: New file, from glibc.
111350         * lib/argp-pv.c: New file, from glibc.
111351         * lib/argp-pvh.c: New file, from glibc.
111352         * lib/argp-xinl.c: New file, from glibc.
111354 2003-06-10  Simon Josefsson  <jas@extundo.com>
111356         * modules/strchrnul: New file.
111358 2003-06-10  Simon Josefsson  <jas@extundo.com>
111360         * modules/argp: New file.
111362 2003-06-10  Simon Josefsson  <jas@extundo.com>
111364         * m4/strchrnul.m4: New file.
111366 2003-06-10  Simon Josefsson  <jas@extundo.com>
111368         * lib/strchrnul.h: New file.
111369         * lib/strchrnul.c: New file.
111371 2003-06-10  Bruno Haible  <bruno@clisp.org>
111373         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
111375 2003-06-07  Karl Berry  <karl@gnu.org>
111377         * config/config.{guess,sub}: update from prep.
111379 2003-06-07  Jim Meyering  <jim@meyering.net>
111381         * modules/strtod: Use $(...) notation, not @...@ for
111382         AC_REPLACE'd variables.
111383         * modules/localcharset: Likewise.
111385 2003-06-07  Jim Meyering  <jim@meyering.net>
111387         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
111388         in place of my name in the copyright comment.
111389         Remove definition and uses of __P.
111391         From coreutils.
111392         * lib/stat.c: Don't declare xmalloc explicitly.
111393         Instead, include "xalloc.h".
111394         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
111395         xrealloc, and xcalloc return values.
111396         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
111397         Improve comment.
111398         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
111400 2003-06-07  Bruno Haible  <bruno@clisp.org>
111402         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
111403         avoid AC_CONFIG_LINKS.
111404         * modules/fnmatch (Makefile.am): Use explicit creation rule for
111405         fnmatch.h, to avoid AC_CONFIG_LINKS.
111406         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
111408 2003-06-07  Bruno Haible  <bruno@clisp.org>
111410         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
111411         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
111412         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
111413         directory.
111414         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
111415         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
111416         directory.
111418 2003-06-06  Jim Meyering  <jim@meyering.net>
111420         Merge from coreutils.
111421         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
111422         Consolidate declarations and initializations of *_base* locals.
111424         Merge from coreutils.
111425         This avoids a core dump on systems without GNU putenv,
111426         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
111427         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
111428         (unsetenv): New static function, from GNU libc.
111429         (rpl_putenv): Use it.
111431         * lib/modechange.c: Remove trailing blanks.
111433         Merge from coreutils.
111434         * lib/fsusage.c: Remove declaration of statfs.
111435         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
111437         * lib/posixtm.c: Include <stdbool.h> unconditionally.
111439 2003-06-06  Jim Meyering  <jim@meyering.net>
111441         * lib/stdbool_.h: Renamed from stdbool.h.in.
111443 2003-06-06  Jim Meyering  <jim@meyering.net>
111444             Bruno Haible  <bruno@clisp.org>
111446         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
111447         Adjust Makefile.am snippet not to redirect directly to target.
111448         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
111450 2003-06-05  Paul Eggert  <eggert@twinsun.com>
111452         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
111453         mismatch, look in future quarters as well as past.  This fixes a
111454         bug when processing fall-backwards gaps immediately after a long
111455         period of daylight-saving time.
111457         * lib/mktime.c: Assume freestanding C89 or better.
111458         (HAVE_LIMITS_H): Remove.  Assume it's 1.
111459         (__P): Remove; not used.
111460         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
111461         (mktime, not_equal_tm, print_tm, check_result,
111462         main): Use prototypes.  Use const * where appropriate.
111463         (main): Fix typo in testing code that uncovered by above changes.
111464         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
111466 2003-06-04  Paul Eggert  <eggert@twinsun.com>
111468         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
111469         locale.h, localeconv.  This merges changes from coreutils.
111471         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
111472         It can be removed after the next Autoconf is released.
111473         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
111474         needed.
111476 2003-06-04  Paul Eggert  <eggert@twinsun.com>
111478         * lib/mktime.c: Fix Debian bug 177940
111479         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
111480         (localtime_offset): Now long int, not time_t, because we want it
111481         to be guaranteed to be signed.  All uses changed.
111482         (__mktime_internal): If overflow would occur when adding offset,
111483         don't add it.
111485         Merge 'human' changes from coreutils.  Rewrite to support
111486         locale-specific notations like thousands separators.
111487         * lib/human.c: Simplify authorship notice.
111488         Include human.h immediately after config.h.
111489         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
111490         <limits.h>: Do not include, since human.h does.
111491         (SIZE_MAX, UINTMAX_MAX): New macros.
111492         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
111493         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
111494         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
111495         (power_letter): Renamed from suffixes.
111496         (generate_suffix_backwards): Remove.
111497         (adjust_value): Now takes int style (because of human.h changes)
111498         and long double value (for greater precision on some platforms).
111499         (group_number): New function.
111500         (human_readable): Use it.  Use integer options, not enum.
111501         Put the options before the sizes in the arg list.
111502         Support all the new options.
111503         The old human_readable function has been removed;
111504         use inttostr.h instead.
111505         (human_readable, default_block_size, humblock):
111506         Use uintmax_t, not int, for block sizes.
111507         (human_readable_inexact, block_size_types): Remove.
111508         (block_size_opts): New constant.
111509         (human_options): Renamed from human_block_size, with new signature
111510         that allows block sizes up to UINTMAX_MAX.  All callers changed.
111511         * lib/human.h: Add copyright and authorship notice.
111512         Include <limits.h> and <stdbool.h> unconditionally.
111513         (PARAMS): Remove.  All uses removed.
111514         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
111515         (enum human_inexact_style): Remove tag; now a nameless enum.
111516         (human_floor, human_ceiling, human_round_to_even): Now have
111517         values 2, 0, 1 rather than -1, 1, 0.
111518         (human_group_digits, human_suppress_point_zero, human_autoscale,
111519         human_base_1024, human_SI, human_B): New constants.
111520         (human_readable_inexact, human_block_size): Remove.
111521         (human_readable): Size args are now uintmax_t, not int.
111522         (human_options): New decl.
111524         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
111525         unnecessary now that we assume C89 or better.  This change
111526         imported from coreutils.
111528         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
111529         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
111530         in the 2003-05-30 sync from glibc.
111532         .h files should stand alone, but we shouldn't include <sys/types.h>
111533         if we can get away with just <stddef.h>.
111535         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
111536         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
111537         rather than <sys/types.h>, as we merely need size_t.
111538         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
111539         to get size_t.
111540         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
111541         Include <stdio.h>, to get FILE.
111542         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
111543         memcasecmp.h has included <stddef.h> and all we need is size_t.
111544         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
111545         our interface, instead of including <sys/types.h>
111547 2003-06-04  Paul Eggert  <eggert@twinsun.com>
111549         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
111550         now, as glibc mktime is buggy on non-glibc systems.
111552 2003-06-03  Karl Berry  <karl@gnu.org>
111554         * config/config.sub: update from prep.
111556 2003-06-02  Paul Eggert  <eggert@twinsun.com>
111558         [from coreutils]
111559         Fix some minor time-related bugs with POSIX time arguments.
111560         Some valid time stamps were being rejected (notably -1, and
111561         time stamps before 1900 on 64-bit hosts).  And some invalid
111562         time stamps were being accepted, e.g. September 31.
111564         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
111565         that we can return (time_t) -1 successfully.
111566         * lib/posixtm.c: Likewise.
111567         [HAVE_STDBOOL_H]: Include <stdbool.h>.
111568         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
111569         (t): Remove static var.
111570         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
111571         of static var.  All uses changed.
111572         (year): Do not reject years before 1900; they can occur with
111573         64-bit time_t.
111574         (posix_time_parse): Do not check for out-of-range components;
111575         that is now the caller's responsibility, since our checks were
111576         only approximations.
111577         (posixtime): Use mktime to check for out-of-range components,
111578         since it knows them exactly.
111579         If mktime returns (time_t) -1, check whether an error actually occurred
111580         by invoking localtime on -1.
111581         (main) [TEST_POSIXTIME]: Check for input data errors, and report
111582         posixtime failures better.
111583         Improve the test data (in comments only).
111585 2003-06-02  Karl Berry  <karl@gnu.org>
111587         * config/mkinstalldirs (version): new variable.
111588         (--version): new option.
111589         (usage): improve message.
111591 2003-05-30  Karl Berry  <karl@gnu.org>
111593         * lib/mktime.c: update from libc.
111595 2003-05-30  Bruno Haible  <bruno@clisp.org>
111597         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
111598         * config/config.rpath: Upgrade to gettext-0.12.1.
111600 2003-05-30  Bruno Haible  <bruno@clisp.org>
111602         * m4/gettext.m4: Upgrade to gettext-0.12.1.
111603         * m4/nls.m4: New file, from gettext-0.12.1.
111604         * m4/po.m4: New file, from gettext-0.12.1.
111605         * m4/progtest.m4: Upgrade to gettext-0.12.1.
111607 2003-05-30  Bruno Haible  <bruno@clisp.org>
111609         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
111610         * lib/localcharset.h: Likewise.
111611         * lib/localcharset.c: Likewise.
111613 2003-05-29  Karl Berry  <karl@gnu.org>
111615         * config/config.rpath: update from gettext.
111617 2003-05-28  Paul Eggert  <eggert@twinsun.com>
111619         Assume the headers required for C89 freestanding compilers.
111620         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
111621         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
111622         * m4/human.m4 (gl_HUMAN): Likewise.
111623         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
111624         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
111625         * m4/userspec.m4 (gl_USERSPEC): Likewise.
111626         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
111627         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
111628         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
111630 2003-05-28  Paul Eggert  <eggert@twinsun.com>
111632         Assume the headers required for C89 freestanding compilers.
111633         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
111634         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
111635         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
111636         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
111637         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
111638         define, since <limits.h> is guaranteed to do that.
111639         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
111640         * lib/exclude.c: Include <stdbool.h> unconditionally.
111641         * lib/tempname.c: Include <stddef.h> unconditionally.
111642         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
111643         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
111644         <stddef.h> does that.
111645         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
111646         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
111647         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
111648         needed.
111649         * lib/xstrtol.c: Likewise.
111650         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
111651         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
111653         * lib/addext.c (addext): Use assignment rather than cast, to avoid
111654         warnings on some platforms.
111656         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
111657         arbitrarily.
111659 2003-05-26  Jim Meyering  <jim@meyering.net>
111661         Merge in a change from coreutils:
111662         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
111663         that is guaranteed to be `no'.  Use `no_such_member' to indicate
111664         that condition, rather than `-1' which is slightly misleading.
111665         Change the name of the cache variable to have the gl_ prefix.
111666         Prompted by a patch from Richard Dawe for DJGPP.
111668 2003-05-24  Karl Berry  <karl@gnu.org>
111670         * config/config.guess: update from prep.
111672 2003-05-22  Karl Berry  <karl@gnu.org>
111674         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
111676 2003-05-20  Karl Berry  <karl@gnu.org>
111678         * config/config.guess: update from prep.
111680 2003-05-18  Karl Berry  <karl@gnu.org>
111682         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
111683         might actually be set by the user.
111685         * config/depcomp, install-sh, mdate-sh: update from automake.
111687 2003-05-17  Bruno Haible  <bruno@clisp.org>
111689         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
111690         invalid expansion for AC_EGREP_CPP.
111691         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
111692         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
111693         Suggested by Akim Demaille <akim@epita.fr> in
111694         http://mail.gnu.org/r/bug-autoconf/2003-05/threads.html
111696 2003-05-12  Jim Meyering  <jim@meyering.net>
111698         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
111699         the space-padded-by-default conversion specifiers, %e, %k, %l.
111701 2003-05-12  Bruno Haible  <bruno@clisp.org>
111703         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
111704         the string is longer than 4 KB.
111706 2003-05-11  Karl Berry  <karl@gnu.org>
111708         * config/config.{guess,sub}: update from prep.
111710 2003-05-09  Bruno Haible  <bruno@clisp.org>
111712         * modules/error: Add m4/strerror_r.m4 to file list.
111714 2003-05-03  Bruno Haible  <bruno@clisp.org>
111716         Upgrade to Unicode-4.0.
111717         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
111718         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
111719         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
111720         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
111721         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
111722         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
111723         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
111724         Change width of U+E0100..U+E01EF from 1 to 0.
111726 2003-04-25  Jim Meyering  <jim@meyering.net>
111728         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
111729         of type size_t, not int.
111731 2003-04-25  Bruno Haible  <bruno@clisp.org>
111733         * lib/copy-file.c: Include <stddef.h>, for size_t.
111735 2003-04-21  Paul Eggert  <eggert@twinsun.com>
111737         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
111738         code which expansion is under static control.  Patch imported from
111739         Akim Demaille's patch to Bison; see
111740         <http://mail.gnu.org/r/bison-patches/2003-03/msg00057.html>.
111742 2003-04-14  Bruno Haible  <bruno@clisp.org>
111744         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
111746 2003-04-11  Jim Meyering  <jim@meyering.net>
111748         Merge changes from Coreutils.
111750         2003-03-22  Jim Meyering  <jim@meyering.net>
111752         * lib/strftime.c (widen): Cast alloca return value to proper type.
111754         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
111756         From GNU libc.
111757         * lib/strftime.c (my_strftime): Handle very large width
111758         specifications for numeric values correctly.  Improve checks for
111759         overflow.
111761         2003-01-19  Jim Meyering  <jim@meyering.net>
111763         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
111764         definitions.
111765         (nl_get_alt_digit) [! defined my_strftime]: Define.
111766         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
111767         _nl_get_alt_digit and _nl_get_walt_digit.
111769         * lib/strftime.c (my_strftime): Merge in locale-related changes from
111770         libc. These changes have no effect outside of _LIBC.
111772 2003-04-10  Bruno Haible  <bruno@clisp.org>
111774         * modules/findprog: New file.
111775         * MODULES.html.sh (func_all_modules): Add it.
111777 2003-04-10  Bruno Haible  <bruno@clisp.org>
111779         * m4/findprog.m4: New file.
111780         * m4/eaccess.m4: New file.
111782 2003-04-10  Bruno Haible  <bruno@clisp.org>
111784         * lib/findprog.h: New file, from GNU gettext.
111785         * lib/findprog.c: New file, from GNU gettext.
111787 2003-04-05  Jim Meyering  <jim@meyering.net>
111789         Merge changes from Coreutils.
111791         * lib/exclude.h (PARAMS): Remove definition and uses.
111792         * lib/exclude.c: Remove uses of `PARAMS'.
111794         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
111795         Add test-cases for DOS filenames. Declare program_name.
111796         (main): Set up program_name.  Patch by Rich Dawe.
111798         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
111799         error from mntctl.
111800         Use mntctl's return value to drive the entry-processing loop, since
111801         we can't rely on the value of the vmt_length member in the last
111802         entry.  On some systems doing so could result in exhausting
111803         virtual memory.  Based in part on a patch from Mike Jetzer.
111805 2003-04-04  Bruno Haible  <bruno@clisp.org>
111807         * modules/linebreak: New file.
111808         * MODULES.html.sh (func_all_modules): Add it.
111810 2003-04-04  Bruno Haible  <bruno@clisp.org>
111812         * m4/linebreak.m4: New file.
111814 2003-04-04  Bruno Haible  <bruno@clisp.org>
111816         * lib/linebreak.h: New file, from GNU gettext.
111817         * lib/linebreak.c: New file, from GNU gettext with slight
111818         modifications.
111819         * lib/lbrkprop.h: New file, from GNU gettext.
111821 2003-04-03  Bruno Haible  <bruno@clisp.org>
111823         * modules/utf8-ucs4: New file.
111824         * modules/utf16-ucs4: New file.
111825         * modules/ucs4-utf8: New file.
111826         * modules/ucs4-utf16: New file.
111827         * MODULES.html.sh (func_all_modules): Add them.
111829 2003-04-03  Bruno Haible  <bruno@clisp.org>
111831         * m4/utf-ucs4.m4: New file.
111832         * m4/ucs4-utf.m4: New file.
111834 2003-04-03  Bruno Haible  <bruno@clisp.org>
111836         * lib/utf8-ucs4.h: New file, from GNU gettext.
111837         * lib/utf16-ucs4.h: New file, from GNU gettext.
111838         * lib/ucs4-utf8.h: New file, from GNU gettext.
111839         * lib/ucs4-utf16.h: New file, from GNU gettext.
111841 2003-04-02  Bruno Haible  <bruno@clisp.org>
111843         * modules/binary-io: New file.
111844         * MODULES.html.sh (func_all_modules): Add it.
111846 2003-04-02  Bruno Haible  <bruno@clisp.org>
111848         * lib/binary-io.h: New file, from GNU gettext.
111850 2003-04-01  Bruno Haible  <bruno@clisp.org>
111852         * modules/pathname: New file.
111853         * MODULES.html.sh (func_all_modules): Add it.
111855 2003-04-01  Bruno Haible  <bruno@clisp.org>
111857         * lib/pathname.h: New file, from GNU gettext.
111858         * lib/concatpath.c: New file, from GNU gettext.
111860 2003-03-30  Bruno Haible  <bruno@clisp.org>
111862         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
111864 2003-03-30  Bruno Haible  <bruno@clisp.org>
111866         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
111867         function chown() doesn't exist.
111869 2003-03-28  Bruno Haible  <bruno@clisp.org>
111871         * modules/copy-file: New file.
111872         * MODULES.html.sh (func_all_modules): Add it.
111874 2003-03-28  Bruno Haible  <bruno@clisp.org>
111876         * m4/copy-file.m4: New file.
111878 2003-03-28  Bruno Haible  <bruno@clisp.org>
111880         * lib/copy-file.h: New file, from GNU gettext.
111881         * lib/copy-file.c: New file, from GNU gettext.
111883 2003-03-18  Jim Meyering  <jim@meyering.net>
111885         * lib/quote.c (quote_n): Fix typo in comment.
111887 2003-03-18  Bruno Haible  <bruno@clisp.org>
111889         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
111890         checking.
111891         * m4/onceonly_2_57.m4: Likewise.
111893 2003-03-17  Bruno Haible  <bruno@clisp.org>
111895         * m4/onceonly.m4: Require autoconf 2.54 or newer.
111896         (m4_quote): Remove macro.
111897         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
111899 2003-03-14  Jim Meyering  <jim@meyering.net>
111901         Merge changes from Coreutils.
111902         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
111903         to be const, in order to avoid warnings.
111904         (obstack_room): Likewise.
111905         (obstack_empty_p): Likewise.
111907 2003-03-14  Bruno Haible  <bruno@clisp.org>
111909         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
111910         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
111912 2003-03-13  Paul Eggert  <eggert@twinsun.com>
111914         Merge changes from Bison.
111915         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
111916         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
111917         when compiling Bison 1.875's `bitset bset = obstack_alloc
111918         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
111919         * lib/hash.c: Include <stdbool.h> unconditionally.
111921 2003-03-13  Paul Eggert  <eggert@twinsun.com>
111923         * m4/onceonly.m4 (m4_quote): New macro.
111924         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
111925         Quote AC_FOREACH variable-expansions properly.
111927 2003-03-13  Paul Eggert  <eggert@twinsun.com>
111929         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
111931 2003-03-09  Paul Eggert  <eggert@twinsun.com>
111933         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
111934         Reported by Bruce Becker; see:
111935         http://mail.gnu.org/r/bug-bison/2003-03/msg00017.html
111937 2003-03-03  Paul Eggert  <eggert@twinsun.com>
111938             Bruno Haible  <bruno@clisp.org>
111940         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
111941         Reported by John Hughes, see
111942         http://mail.gnu.org/r/bug-bison/2003-02/msg00030.html
111944 2003-02-20  Bruno Haible  <bruno@clisp.org>
111946         * MODULES.html.sh (func_all_modules): Add poll.
111948 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
111950         * modules/poll: New file.
111952 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
111954         * lib/poll_.h: New file.
111955         * lib/poll.c: New file.
111957 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
111959         * m4/poll.m4: New file.
111961 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
111963         * modules/mathl: New file.
111965 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
111967         * lib/mathl.h: New file.
111968         * lib/acosl.c: New file.
111969         * lib/asinl.c: New file.
111970         * lib/atanl.c: New file.
111971         * lib/ceill.c: New file.
111972         * lib/cosl.c: New file.
111973         * lib/expl.c: New file.
111974         * lib/floorl.c: New file.
111975         * lib/frexpl.c: New file.
111976         * lib/ldexpl.c: New file.
111977         * lib/logl.c: New file.
111978         * lib/sincosl.c: New file.
111979         * lib/sinl.c: New file.
111980         * lib/sqrtl.c: New file.
111981         * lib/tanl.c: New file.
111982         * lib/trigl.c: New file.
111983         * lib/trigl.h: New file.
111985 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
111987         * m4/mathl.m4: New file.
111989 2003-02-18  Bruno Haible  <bruno@clisp.org>
111991         * MODULES.html.sh (func_all_modules): Add mathl.
111993 2003-02-17  Bruno Haible  <bruno@clisp.org>
111995         * modules/mkdtemp: New module.
111996         * MODULES.html.sh (func_all_modules): Add it.
111998 2003-02-17  Bruno Haible  <bruno@clisp.org>
112000         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
112002 2003-02-17  Bruno Haible  <bruno@clisp.org>
112004         * lib/mkdtemp.h: New file, from GNU gettext.
112005         * lib/mkdtemp.c: New file, from GNU gettext.
112007 2003-02-02  Jim Meyering  <jim@meyering.net>
112009         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
112010         e.g. glibc-2.2.93.
112012 2003-01-31  Bruno Haible  <bruno@clisp.org>
112014         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
112015         'rpl_rename'.
112016         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
112017         'rpl_strnlen'.
112018         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
112019         'rpl_strtod'.
112020         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
112021         'rpl_utime'.
112023 2003-01-31  Bruno Haible  <bruno@clisp.org>
112025         * lib/rename.c: #undef rename before defining rpl_rename.
112026         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
112028 2003-01-30  Bruno Haible  <bruno@clisp.org>
112030         * modules/vasnprintf, modules/vasprintf: New modules.
112031         * MODULES.html.sh (func_all_modules): Add them.
112033 2003-01-30  Bruno Haible  <bruno@clisp.org>
112035         * m4/signed.m4: New file, from GNU gettext.
112036         * m4/longdouble.m4: New file, from GNU gettext.
112037         * m4/wchar_t.m4: New file, from GNU gettext.
112038         * m4/wint_t.m4: New file, from GNU gettext.
112039         * m4/vasnprintf.m4: New file.
112040         * m4/vasprintf.m4: New file.
112042 2003-01-30  Bruno Haible  <bruno@clisp.org>
112044         * lib/printf-args.h: New file, from GNU gettext.
112045         * lib/printf-args.c: New file, from GNU gettext.
112046         * lib/printf-parse.h: New file, from GNU gettext.
112047         * lib/printf-parse.c: New file, from GNU gettext.
112048         * lib/vasnprintf.h: New file, from GNU gettext.
112049         * lib/vasnprintf.c: New file, from GNU gettext.
112050         * lib/asnprintf.c: New file, from GNU gettext.
112051         * lib/vasprintf.h: New file, from GNU gettext with modifications.
112052         * lib/vasprintf.c: New file, from GNU gettext.
112053         * lib/asprintf.c: New file, from GNU gettext.
112055 2003-01-29  Bruno Haible  <bruno@clisp.org>
112057         * modules/stpncpy: New module.
112058         * MODULES.html.sh (func_all_modules): Add it.
112060 2003-01-29  Bruno Haible  <bruno@clisp.org>
112062         * m4/stpncpy.m4: New file.
112064 2003-01-29  Bruno Haible  <bruno@clisp.org>
112066         * lib/stpncpy.h: New file, from GNU gettext with modifications.
112067         * lib/stpncpy.c: New file, from GNU gettext with modifications.
112069 2003-01-28  Bruno Haible  <bruno@clisp.org>
112071         * modules/c-ctype: New module.
112072         * MODULES.html.sh (func_all_modules): Add it.
112074 2003-01-28  Bruno Haible  <bruno@clisp.org>
112076         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
112077         Paul Eggert.
112078         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
112079         Paul Eggert.
112081 2003-01-27  Bruno Haible  <bruno@clisp.org>
112083         * modules/xsetenv: New module.
112084         * MODULES.html.sh (func_all_modules): Add it.
112086 2003-01-27  Bruno Haible  <bruno@clisp.org>
112088         * lib/xsetenv.h: New file, from GNU gettext.
112089         * lib/xsetenv.c: New file, from GNU gettext.
112091 2003-01-23  Jim Meyering  <jim@meyering.net>
112093         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
112094         from working on systems without dirfd (at least Irix and OSF1/Tru64).
112096 2003-01-23  Bruno Haible  <bruno@clisp.org>
112098         * modules/minmax: New module.
112099         * MODULES.html.sh (func_all_modules): Add it.
112101 2003-01-23  Bruno Haible  <bruno@clisp.org>
112103         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
112104         Eggert.
112106 2003-01-22  Bruno Haible  <bruno@clisp.org>
112108         * modules/exit: New module.
112109         * MODULES.html.sh (func_all_modules): Add it.
112111 2003-01-22  Bruno Haible  <bruno@clisp.org>
112113         * lib/exit.h: New file, from GNU gettext.
112115 2003-01-19  Bruno Haible  <bruno@clisp.org>
112117         * gnulib-tool: Recognize option --extract-maintainer.
112118         (func_get_maintainer): New function.
112119         * modules/*: Add Maintainer entry.
112121 2003-01-16  Jim Meyering  <jim@meyering.net>
112123         * m4/regex.m4: The `regex' struct is both input and output.
112124         Initialize it before each use.  Patch by Tim Waugh.
112126 2003-01-16  Bruno Haible  <bruno@clisp.org>
112128         * MODULES.html.sh: Add a table of contents. Add the module name as
112129         leftmost column. Add hyperlinks.
112131 2003-01-15  Bruno Haible  <bruno@clisp.org>
112133         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
112135 2003-01-15  Bruno Haible  <bruno@clisp.org>
112137         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
112138         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
112139         suffix.
112141 2003-01-15  Bruno Haible  <bruno@clisp.org>
112143         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
112145 2003-01-15  Bruno Haible  <bruno@clisp.org>
112147         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
112148         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
112150 2003-01-14  Jim Meyering  <jim@meyering.net>
112152         * lib/same.c (same_name): Tweak a comment.
112154 2003-01-14  Bruno Haible  <bruno@clisp.org>
112156         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
112157         when a string comparison is sufficient.
112159 2003-01-14  Bruno Haible  <bruno@clisp.org>
112161         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
112162         'unsigned int'.
112164 2003-01-14  Bruno Haible  <bruno@clisp.org>
112166         * lib/hash-pjw.c: Add comment about low quality of this function.
112168 2003-01-13  Bruno Haible  <bruno@clisp.org>
112170         * modules/stpcpy: Distribute lib/stpcpy.h.
112171         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
112173 2003-01-13  Bruno Haible  <bruno@clisp.org>
112175         * modules/*: Add a description.
112176         * modules/strpbrk: Fix Makefile.am snippet.
112177         * modules/strtoimax: Fix dependencies.
112178         * modules/strtoumax: Likewise.
112180 2003-01-13  Bruno Haible  <bruno@clisp.org>
112182         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
112183         * modules/alloca (Makefile.am): All object files depend on alloca.h.
112184         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
112186 2003-01-13  Bruno Haible  <bruno@clisp.org>
112188         * gnulib-tool (func_create_testdir): Store config/* files in the main
112189         directory.
112190         * config.rpath: Move to ...
112191         * config/config.rpath: ... here.
112192         * modules/gettext: Contains config/config.rpath, not config.rpath.
112193         * modules/iconv: Likewise.
112195 2003-01-12  Paul Eggert  <eggert@twinsun.com>
112197         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
112198         to avoid collisions with libcurses and libreadline.
112200         * m4/getstr.m4: Remove.
112201         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
112203 2003-01-12  Paul Eggert  <eggert@twinsun.com>
112205         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
112206         to avoid collisions with libcurses and libreadline.
112208         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
112209         * lib/getstr.h, getstr.c: Remove.
112210         * lib/getline.c: Include "getline.h", to check interface.
112211         Move body of old getstr.c here: this defines MIN_CHUNK and
112212         declares getdelim2, which is renamed from getstr.
112213         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
112215         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
112216         All uses changed.
112217         * lib/linebuffer.h: Likewise.
112218         (readline): Remove backward-compatibility macro.
112220 2003-01-12  Paul Eggert  <eggert@twinsun.com>
112222         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
112223         to avoid collisions with libcurses and libreadline.
112224         * getstr: Remove.
112225         * MODULES.html.sh: Remove getstr.
112226         * modules/getline: Depend on unlocked-io, not getstr.
112228 2003-01-12  Jim Meyering  <jim@meyering.net>
112230         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
112232 2003-01-10  Bruno Haible  <bruno@clisp.org>
112234         * modules/alloca: Change Makefile.am requirements. Simplify Include
112235         requirements. Add lib/alloca_.h to file list.
112237 2003-01-10  Bruno Haible  <bruno@clisp.org>
112239         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
112241 2003-01-10  Bruno Haible  <bruno@clisp.org>
112243         * lib/alloca_.h: New file.
112244         * lib/getdate.y: Unconditionally include alloca.h.
112245         * lib/makepath.c: Likewise.
112246         * lib/setenv.c: Likewise.
112247         * lib/userspec.c: Likewise.
112249 2003-01-09  Karl Berry  <karl@gnu.org>
112251         * MODULES.html.sh: include `dirname $0` in PATH, to find
112252         gnulib-tool.
112254 2003-01-09  Bruno Haible  <bruno@clisp.org>
112256         * modules/stdbool: Change configure.ac, Makefile.am requirements.
112257         Simplify Include requirements. Add lib/stdbool.h.in to file list.
112259 2003-01-09  Bruno Haible  <bruno@clisp.org>
112261         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
112263 2003-01-09  Bruno Haible  <bruno@clisp.org>
112265         * lib/stdbool.h.in: New file.
112267 2003-01-09  Bruno Haible  <bruno@clisp.org>
112269         * gnulib-tool (func_all_modules): Ignore files ending in ~.
112270         * MODULES.html.sh: Likewise.
112272 2003-01-08  Jim Meyering  <jim@meyering.net>
112274         * lib/full-write.c: Undefine and define-away `const' after inclusion
112275         of errno.h, not before.  Suggestion from Bruno Haible.
112277 2003-01-08  Bruno Haible  <bruno@clisp.org>
112279         * modules/full-read: Depend on full-write.
112281 2003-01-08  Bruno Haible  <bruno@clisp.org>
112283         * lib/safe-read.c: Include specification header first, to ensure its
112284         selfcontainedness.
112285         * lib/full-write.c: Likewise.
112287 2003-01-07  Jim Meyering  <jim@meyering.net>
112289         * lib/full-write.c: Rework so that it may serve to define full_read,
112290         too.
112291         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
112293 2003-01-07  Bruno Haible  <bruno@clisp.org>
112295         * lib/strtoimax.c: Include <stdint.h> as an alternative to
112296         <inttypes.h>.
112297         * lib/xstrtol.h: Likewise.
112298         * lib/xstrtoimax.c: Likewise.
112299         * lib/xstrtoumax.c: Likewise.
112300         * lib/human.h: Likewise.
112302         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
112303         on systems that have <inttypes.h> but not <stdint.h>.
112305 2003-01-07  Bruno Haible  <bruno@clisp.org>
112307         * MODULES.html.sh: Add copyright notice.
112308         (missed_files): Omit CVS directory entries.
112309         (func_module): Make it work with sed-3.02.
112310         * MODULES.txt: Remove file.
112312 2003-01-06  Jim Meyering  <jim@meyering.net>
112314         * lib/version-etc.c: Update year in translatable copyright string.
112316 2003-01-03  Karl Berry  <karl@gnu.org>
112318         * config/config.{guess,sub}: update from prep.
112320 2003-01-02  Karl Berry  <karl@gnu.org>
112322         * doc/COPYING.DOC: belatedly updated to 1.2.
112324 2003-01-01  Karl Berry  <karl@gnu.org>
112326         * gnulib-tool (func_verify_module): report module name $module in
112327         error message, not $1.
112328         * gnulib-tool (create-testdir): don't complain if destdir couldn't
112329         be created, only if it doesn't exist.
112330         * gnulib-tool (last_checkin_date): don't expand the $Date here.
112332 2002-12-31  Paul Eggert  <eggert@twinsun.com>
112334         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
112336 2002-12-31  Paul Eggert  <eggert@twinsun.com>
112338         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
112339         memcmp if strcoll doesn't work.
112341 2002-12-31  Bruno Haible  <bruno@clisp.org>
112343         * lib/utime.c (utime_null): No need to call ftruncate if the file was
112344         nonempty.
112346 2002-12-31  Bruno Haible  <bruno@clisp.org>
112348         * lib/memcoll.c (STRCOLL): New macro.
112349         (memcoll): Use it.
112351 2002-12-31  Bruno Haible  <bruno@clisp.org>
112353         * lib/localcharset.h: New file.
112354         * lib/localcharset.c: Include it.
112355         * lib/unicodeio.c: Likewise.
112357 2002-12-31  Bruno Haible  <bruno@clisp.org>
112359         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
112360         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
112362 2002-12-31  Bruno Haible  <bruno@clisp.org>
112364         * lib/getline.h: Include <stddef.h>, for size_t.
112366         * lib/unicodeio.h: Include <stddef.h>, for size_t.
112367         * lib/unicodeio.c: Don't include <stddef.h>.
112369 2002-12-31  Bruno Haible  <bruno@clisp.org>
112371         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
112372         HAVE_TM_ZONE.
112374 2002-12-24  Karl Berry  <karl@gnu.org>
112376         * config/config.guess: update from prep.
112378 2002-12-24  Bruno Haible  <bruno@clisp.org>
112380         General infrasructure.
112381         * m4/README: Rewritten.
112382         * m4/onceonly.m4: New file.
112383         * m4/onceonly_2_57.m4: New file.
112385         Module atexit.
112386         * m4/atexit.m4: New file.
112388         Module strtod.
112389         * m4/strtod.m4: New file.
112391         Module strtol.
112392         * m4/strtol.m4: New file.
112394         Module strtoul.
112395         * m4/strtoul.m4: New file.
112397         Module memchr.
112398         * m4/memchr.m4: New file.
112400         Module memcmp.
112401         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
112402         (jm_FUNC_MEMCMP): Invoke it.
112404         Module memcpy.
112405         * m4/memcpy.m4: New file.
112407         Module memmove.
112408         * m4/memmove.m4: New file.
112410         Module memset.
112411         * m4/memset.m4: New file.
112413         Module strcspn.
112414         * m4/strcspn.m4: New file.
112416         Module strpbrk.
112417         * m4/strpbrk.m4: New file.
112419         Module strstr.
112420         * m4/strstr.m4: New file.
112422         Module strerror.
112423         * m4/strerror.m4: New file.
112425         Module mktime.
112426         * m4/mktime.m4: Renamed from jm-mktime.m4.
112427         (gl_PREREQ_MKTIME): New macro.
112428         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
112430         Module malloc.
112431         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
112432         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
112433         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
112435         Module realloc.
112436         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
112437         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
112438         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
112440         Module strftime.
112441         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
112442         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
112443         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
112444         gl_TM_GMTOFF.
112445         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
112447         Module xalloc.
112448         * m4/xalloc.m4: New file.
112450         Module alloca.
112451         * m4/alloca.m4: New file.
112453         Module putenv.
112454         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
112455         (jm_FUNC_PUTENV): Invoke it.
112457         Module setenv.
112458         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
112459         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
112460         when invoked twice.
112461         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
112462         gt_FUNC_SETENV.
112464         Module memrchr.
112465         * m4/memrchr.m4: New file.
112467         Module stpcpy.
112468         * m4/stpcpy.m4: New file.
112470         Module strcase.
112471         * m4/strcase.m4: New file.
112473         Module strdup.
112474         * m4/strdup.m4: New file.
112476         Module strnlen.
112477         * m4/strnlen.m4: New file.
112479         Module strndup.
112480         * m4/strndup.m4: New file.
112482         Module xstrtod.
112483         * m4/xstrtod.m4: New file.
112485         Module xstrtol.
112486         * m4/xstrtol.m4: New file.
112488         Module getdate.
112489         * m4/getdate.m4: New file.
112491         Module unlocked-io.
112492         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
112493         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
112494         * m4/jm-glibc-io.m4n: Remove file.
112496         Module long-options.
112497         * m4/long-options.m4: New file.
112499         Module md5.
112500         * m4/md5.m4: New file.
112502         Module sha.
112503         * m4/sha.m4: New file.
112505         Module getstr.
112506         * m4/getstr.m4: New file.
112508         Module getline.
112509         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
112510         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
112511         <sys/types.h>, for size_t. Use the function name gnu_getline, not
112512         simply getline. Infoke gl_PREREQ_GETLINE.
112514         Module obstack.
112515         * m4/obstack.m4: New file.
112517         Module hash.
112518         * m4/hash.m4: New file.
112520         Module readtokens.
112521         * m4/readtokens.m4: New file.
112523         Module strverscmp.
112524         * m4/strverscmp.m4: New file.
112526         Module stdbool.
112527         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
112528         OSF/1.
112530         Module strtoll.
112531         * m4/strtoll.m4: New file.
112533         Module strtoull.
112534         * m4/strtoull.m4: New file.
112536         Module strtoimax.
112537         * m4/strtoimax.m4: New file.
112539         Module strtoumax.
112540         * m4/strtoumax.m4: New file.
112542         Module xstrtoimax.
112543         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
112544         jm_AC_PREREQ_XSTRTOIMAX.
112545         Moved the strtol prerequisites to strtol.m4.
112546         Moved the strtoll prerequisites to strtoll.m4.
112547         Moved the strtoimax prerequisites to strtoimax.m4.
112549         Module xstrtoumax.
112550         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
112551         jm_AC_PREREQ_XSTRTOUMAX.
112552         Moved the strtoul prerequisites to strtoul.m4.
112553         Moved the strtoull prerequisites to strtoull.m4.
112554         Moved the strtoumax prerequisites to strtoumax.m4.
112556         Module chown.
112557         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
112558         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
112560         Module dup2.
112561         * m4/dup2.m4: New file.
112563         Module ftruncate.
112564         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
112565         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
112567         Module getgroups.
112568         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
112569         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
112571         Module gettimeofday.
112572         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
112573         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
112574         gl_PREREQ_GETTIMEOFDAY.
112576         Module mkdir.
112577         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
112578         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
112580         Module mkstemp.
112581         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
112582         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
112583         jm_AC_TYPE_UINTMAX_T.
112584         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
112586         Module stat.
112587         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
112588         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
112590         Module lstat.
112591         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
112592         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
112594         Module timespec.
112595         * m4/timespec.m4 (gl_TIMESPEC): New macro.
112596         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
112597         * m4/st_mtim.m4: Indentation.
112599         Module nanosleep.
112600         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
112601         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
112602         gl_PREREQ_NANOSLEEP.
112604         Module regex.
112605         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
112606         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
112607         (gl_REGEX): New macro.
112609         Module rename.
112610         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
112611         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
112613         Module rmdir.
112614         * m4/rmdir.m4: New file.
112616         Module utime.
112617         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
112618         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
112619         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
112621         Module dirname.
112622         * m4/dirname.m4: New file.
112624         Module getopt.
112625         * m4/getopt.m4: New file.
112627         Module unistd-safer.
112628         * m4/unistd-safer.m4: New file.
112630         Module fnmatch.
112631         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
112632         declaration.
112633         (gl_PREREQ_FNMATCH_EXTRA): New macro.
112634         (gl_FUNC_FNMATCH_POSIX): New macro.
112635         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
112636         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
112637         simply fnmatch.
112639         Module exclude.
112640         * m4/exclude.m4: New file.
112642         Module human.
112643         * m4/human.m4: New file.
112645         Module acl.
112646         * m4/acl.m4: Nop.
112648         Module backupfile.
112649         * m4/backupfile.m4: New file.
112650         * m4/d-ino.m4: Indentation.
112652         Module fsusage.
112653         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
112654         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
112655         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
112657         Module dirfd.
112658         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
112659         requirements.
112661         Module euidaccess.
112662         * m4/euidaccess.m4: New file.
112664         Module file-type.
112665         * m4/file-type.m4: New file.
112667         Module fileblocks.
112668         * m4/fileblocks.m4: New file.
112670         Module filemode.
112671         * m4/filemode.m4: New file.
112673         Module isdir.
112674         * m4/isdir.m4: New file.
112676         Module lchown.
112677         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
112678         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
112680         Module makepath.
112681         * m4/makepath.m4: New file.
112683         Module modechange.
112684         * m4/modechange.m4: New file.
112686         Module mountlist.
112687         * m4/mountlist.m4: New file.
112688         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
112689         Indentation.
112691         Module path-concat.
112692         * m4/path-concat.m4: New file.
112694         Module pathmax.
112695         * m4/pathmax.m4: New file.
112697         Module same.
112698         * m4/same.m4: New file.
112700         Module save-cwd.
112701         * m4/save-cwd.m4: New file.
112703         Module savedir.
112704         * m4/savedir.m4: New file.
112706         Module xgetcwd.
112707         * m4/xgetcwd.m4: New file.
112708         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
112710         Module xreadlink.
112711         * m4/xreadlink.m4: New file.
112713         Module safe-read.
112714         * m4/safe-read.m4: New file.
112716         Module safe-write.
112717         * m4/safe-write.m4: New file.
112719         Module closeout.
112720         * m4/closeout.m4: New file.
112722         Module stdio-safer.
112723         * m4/stdio-safer.m4: New file.
112725         Module getpass.
112726         * m4/getpass.m4: New file.
112728         Module getugroups.
112729         * m4/getugroups.m4: New file.
112731         Module group-member.
112732         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
112733         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
112735         Module idcache.
112736         * m4/idcache.m4: New file.
112738         Module userspec.
112739         * m4/userspec.m4: New file.
112741         Module gettime.
112742         * m4/clock_time.m4: New file.
112743         * m4/gettime.m4: New file.
112745         Module settime.
112746         * m4/settime.m4: New file.
112748         Module posixtm.
112749         * m4/posixtm.m4: New file.
112751         Module gethostname.
112752         * m4/gethostname.m4: New file.
112754         Module canon-host.
112755         * m4/canon-host.m4: New file.
112757         Module gettext.
112758         * m4/codeset.m4: New file, from gettext-0.11.5.
112759         * m4/gettext.m4: New file, from gettext-0.11.5.
112760         * m4/glibc21.m4: New file, from gettext-0.11.5.
112761         * m4/iconv.m4: New file, from gettext-0.11.5.
112762         * m4/intdiv0.m4: New file, from gettext-0.11.5.
112763         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
112764         * m4/inttypes.m4: New file, from gettext-0.11.5.
112765         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
112766         * m4/isc-posix.m4: New file, from gettext-0.11.5.
112767         * m4/lcmessage.m4: New file, from gettext-0.11.5.
112768         * m4/lib-ld.m4: New file, from gettext-0.11.5.
112769         * m4/lib-link.m4: New file, from gettext-0.11.5.
112770         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
112771         * m4/progtest.m4: New file, from gettext-0.11.5.
112772         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
112773         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
112774         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
112776         Module localcharset.
112777         * m4/localcharset.m4: New file.
112779         Module hard-locale.
112780         * m4/hard-locale.m4: New file.
112782         Module mbswidth.
112783         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
112784         onceonly macros.
112785         * m4/mbrtowc.m4: Add comment.
112787         Module memcasecmp.
112788         * m4/memcasecmp.m4: New file.
112790         Module memcoll.
112791         * m4/memcoll.m4: New file.
112793         Module unicodeio.
112794         * m4/unicodeio.m4: New file.
112796         Module rpmatch.
112797         * m4/rpmatch.m4: New file.
112799         Module yesno.
112800         * m4/yesno.m4: New file.
112802         Module exitfail.
112803         * m4/exitfail.m4: New file.
112805         Module c-stack.
112806         * m4/c-stack.m4 (gl_C_STACK): New macro.
112807         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
112809         Module error.
112810         * m4/error.m4 (gl_ERROR): New macro.
112811         (jm_PREREQ_ERROR): Use onceonly macros.
112813         Module fatal.
112814         * m4/fatal.m4: New file.
112816         Module getloadavg.
112817         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
112818         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
112820         Module getpagesize.
112821         * m4/getpagesize.m4: New file.
112823         Module getusershell.
112824         * m4/getusershell.m4: New file.
112826         Module physmem.
112827         * m4/physmem.m4: New file.
112829         Module posixver.
112830         * m4/posixver.m4: New file.
112832         Module quotearg.
112833         * m4/quotearg.m4: New file.
112835         Module quote.
112836         * m4/quote.m4: New file.
112838         Module readutmp.
112839         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
112841         Module sig2str.
112842         * m4/sig2str.m4: New file.
112844         Other.
112845         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
112846         ulonglong.m4.
112847         * m4/intmax_t.m4: New file.
112848         * m4/d-type.m4: Indentation.
112849         * m4/jm-macros.m4: Update.
112850         * m4/prereq.m4 (jm_PREREQ): Update.
112851         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
112852         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
112853         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
112854         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
112855         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
112856         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
112857         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
112858         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
112859         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
112860         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
112861         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
112862         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
112863         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
112864         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
112865         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
112866         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
112867         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
112868         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
112869         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
112871 2002-12-24  Bruno Haible  <bruno@clisp.org>
112873         * MODULES.txt: Update according to m4/ changes.
112875         Module gettext.
112876         * config.rpath: New file, from gettext-0.11.5.
112878         * modules/*: New module descriptions.
112879         * gnulib-tool: New file.
112880         * MODULES.html.sh: New file.
112882 2002-12-21  Karl Berry  <karl@gnu.org>
112884         * doc/fdl.texi: update to version 1.2.
112886 2002-12-19  Karl Berry  <karl@gnu.org>
112888         * config/config.guess: update from prep.
112890 2002-12-18  Bruno Haible  <bruno@clisp.org>
112892         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
112893         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
112895 2002-12-17  Bruno Haible  <bruno@clisp.org>
112897         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
112898         stdlib.h, string.h.
112900 2002-12-17  Bruno Haible  <bruno@clisp.org>
112902         * lib/canon-host.c (strdup): Remove unused declaration.
112904         * lib/fsusage.c: Include full_read.h.
112905         (get_fs_usage): Use full_read instead of safe_read.
112907         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
112909 2002-12-12  Karl Berry  <karl@gnu.org>
112911         * config/config.guess: update from prep.
112913 2002-12-11  Bruno Haible  <bruno@clisp.org>
112915         * m4/setenv.m4: New file, from gettext-0.11.5.
112917 2002-12-11  Bruno Haible  <bruno@clisp.org>
112919         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
112920         not unsetenv().
112921         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
112922         modifications:
112924         2002-12-11  Bruno Haible  <bruno@clisp.org>
112926                 * setenv.c (alloca): Fall back to malloc.
112927                 (freea): New macro.
112928                 (setenv): Use freea() to free memory allocated with alloca().
112930         2002-11-13  Bruno Haible  <bruno@clisp.org>
112932                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
112933                 function declarations.
112934                 * unsetenv.c (unsetenv): Likewise.
112936         2002-03-04  Bruno Haible  <bruno@clisp.org>
112938                 Portability to AIX 4.3.3.
112939                 * unsetenv.c: New file, extracted from setenv.c.
112940                 * setenv.c: Move the unsetenv() function to unsetenv.c.
112942         2001-12-20  Bruno Haible  <bruno@clisp.org>
112944                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
112945                 use malloc instead. For SunOS 4.
112947         2001-12-11  Bruno Haible  <bruno@clisp.org>
112949                 * setenv.c: Declare alloca.
112950                 (compar_fn_t): New typedef.
112951                 (KNOWN_VALUE, STORE_VALUE): Use it.
112953         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
112954         setenv.h.
112956 2002-12-10  Paul Eggert  <eggert@twinsun.com>
112958         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
112959         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
112960         Choose values that are less likely to collide with system fnmatch
112961         options.
112962         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
112963         defined (e.g., a pure POSIX system).
112964         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
112965         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
112967 2002-12-06  Paul Eggert  <eggert@twinsun.com>
112969         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
112970         a pain in practice to deal with generated m4 files.  This change
112971         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
112973         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
112974         and jm-glibc-io.m4, as they are no longer a special case.
112975         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
112976         kludge and the auto-generation stuff.  Check only whether the
112977         functions are declared, not whether they exist, since older hosts
112978         that don't declare the functions can't use the optimization anyway.
112980 2002-12-06  Jim Meyering  <jim@meyering.net>
112982         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
112984         Merge in changes from libc's misc/error.c, in preparation
112985         for the merge of gnulib's changes back into libc.
112987         * lib/error.c (_): Define only if not already defined.
112988         Move definition to follow all #include directives.
112989         Include unlocked-io.h only if !_LIBC.
112990         [_LIBC]: Include <libio/libioP.h>.
112991         [USE_IN_LIBIO]: Include <libio/iolibio.h>
112992         (fflush): Tweak definition to use INTUSE.
112993         (putc): Define.
112995 2002-12-05  Paul Eggert  <eggert@twinsun.com>
112997         * lib/alloca.c [defined emacs]: Include "lisp.h".
112998         (xalloc_die) [defined emacs]: New macro.
112999         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
113000         [! defined emacs]: Include <xalloc.h>.
113001         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
113002         (pointer): Typedef to POINTER_TYPE *.
113003         (malloc): Remove decl; we now always use xmalloc.
113004         (alloca): Use old-style definition, since Emacs needs this.
113005         Check for arithmetic overflow when computing combined size.
113007 2002-12-04  Paul Eggert  <eggert@twinsun.com>
113009         Do not generate unlocked-io.h automatically, since it's easier to
113010         maintain it by hand.
113012         * lib/unlocked-io.h: New file, from GNU diffutils,
113013         but with proper copyright notice and attribution.
113014         * lib/gen-uio: Remove.
113015         * lib/Makefile.am: Add copyright notice.
113016         (libfetish_a_SOURCES): Add unlocked-io.h.
113017         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
113018         (DISTCLEANFILES, io_functions): Remove macros.
113019         (EXTRA_DIST): Remove gen_uio.
113020         (unlocked-io.h): Remove rule.
113022 2002-12-04  Jim Meyering  <jim@meyering.net>
113024         Reflect the fact that stat.c and lstat.c are no longer generated.
113025         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
113026         (DISTCLEANFILES): Likewise.
113027         (EXTRA_DIST): Likewise.
113028         (all_local): Don't depend on stat.c or lstat.c.
113029         (stat.c, lstat.c): Remove rules.
113030         (EXTRA_DIST): Remove xstat.in.
113032         * lib/xstat.in: Remove file.  Contents moved into stat.c.
113033         * lib/stat.c: New file.  Contents mostly from xstat.in.
113034         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
113035         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
113037         * lib/safe-read.c: Rework so that it may serve to define safe_write,
113038         too.
113039         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
113041 2002-12-03  Jim Meyering  <jim@meyering.net>
113043         * lib/safe-read.c, safe-write.c: Change variable names and comments,
113044         but not semantics, to minimize the differences between these two files.
113045         (safe_read): Change comment to mention SAFE_READ_ERROR.
113047         * lib/safe-read.c (IS_EINTR): Define.
113048         (safe_read): Use IS_EINTR in place of in-function cpp directives.
113050 2002-12-02  Jim Meyering  <jim@meyering.net>
113052         * lib/safe-read.c (EINTR): Define.
113053         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
113054         (INT_MAX): Provide fallback.
113055         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
113057         * lib/safe-read.h (SAFE_READ_ERROR): Define.
113059 2002-12-02  Bruno Haible  <bruno@clisp.org>
113061         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
113062         Define, taken from safe-read.c.
113063         (INT_MAX): Provide fallback.
113064         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
113065         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
113067         * lib/safe-read.c (EINTR): Remove definition.
113068         (safe_read): Don't use EINTR if it is absent.
113070 2002-12-01  Jim Meyering  <jim@meyering.net>
113072         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
113073         zero.
113074         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
113076 2002-11-27  Paul Eggert  <eggert@twinsun.com>
113078         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
113079         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
113080         with `if (! (value < limit)) abort ();', for readability.
113082 2002-11-26  Karl Berry  <karl@gnu.org>
113084         * lib/strdup.c: copy from libc again, with jim's ok.
113085         * lib/.cppi-disable: re-add strdup.c
113087 2002-11-25  Karl Berry  <karl@gnu.org>
113089         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
113090         instead of "strtol.c".
113092 2002-11-25  Karl Berry  <karl@gnu.org>
113094         * config/install-sh: update from automake for variable quoting, $0 in
113095         error msgs, etc.
113097         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
113098         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
113099         entry.
113101 2002-11-25  Jim Meyering  <jim@meyering.net>
113103         * lib/mktime.c: Sync from libc, now that it has the latest fix.
113105 2002-11-24  Karl Berry  <karl@gnu.org>
113107         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
113108         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
113110 2002-11-24  Jim Meyering  <jim@meyering.net>
113112         Update from coreutils:
113114         * lib/mktime.c: Merge in changes from libc.
113116         Avoid a link-time failure on some Linux systems.
113117         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
113118         (otherwise).
113119         (__mon_yday): Declare with the STATIC attribute.
113120         (__mktime_internal): Likewise.
113121         Based on a report from Greg Schafer.
113123 2002-11-23  Jim Meyering  <jim@meyering.net>
113125         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
113126         Use `unsigned', not `int', as type of index.
113128         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
113130         * lib/fsusage.c: Remove unneeded parentheses around operands of
113131         `defined'.
113133 2002-11-22  Paul Eggert  <eggert@twinsun.com>
113135         * lib/quotearg.h: Allow multiple inclusion by surrounding with
113136         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
113137         so that we can be included first.
113138         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
113139         * lib/quotearg.c: Include quotearg.h immediately after config.h.
113140         No need to include stddef.h or sys/types.h any more.
113141         Surround local include files with "", not "<>".
113142         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
113143         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
113144         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
113145         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
113146         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
113147         (ISPRINT): Remove; no longer needed now that we assume C89.
113149         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
113150         Preserve errno.
113152         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
113153         quotearg_char): Use SIZE_MAX rather than
113154         (size_t) -1 when we are talking about "infinity".
113156         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
113158 2002-11-22  Paul Eggert  <eggert@twinsun.com>
113160         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
113161         hint that one should use `if (! x) abort ();' rather than `assert
113162         (x);', and anyway it's one less thing to worry about configuring.
113163         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
113164         hash_rehash, hash_insert): Use abort rather than assert.
113166 2002-11-22  Bruno Haible  <bruno@clisp.org>
113168         * lib/safe-read.h: Assume C89. Add comments.
113169         (safe_read): Change return type to size_t.
113170         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
113171         byte counts > SSIZE_MAX correctly.
113172         * lib/safe-write.h: New file.
113173         * lib/safe-write.c: New file.
113174         * lib/full-read.h: New file.
113175         * lib/full-read.c: New file.
113176         * lib/full-write.h: Assume C89. Add comments.
113177         * lib/full-write.c: Include safe-write.h.
113178         (full_write): Rewritten to use safe_write.
113179         Suggested by Jim Meyering and Paul Eggert.
113181 2002-11-21  Jim Meyering  <jim@meyering.net>
113183         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
113185         Merge in changes from the coreutils.
113187         2002-09-25  Paul Eggert  <eggert@twinsun.com>
113188         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
113189         <stdint.h>.
113190         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
113191         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
113192         int.  Work more efficiently if X is the same width as uintmax_t.
113193         Do not compare X to -1, to avoid bogus compiler warning.
113194         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
113195         Don't assume that f_frsize and f_bsize are the same type.
113197         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
113198         warning on FreeBSD.
113200         * lib/makepath.c (make_path): Restore umask *before* creating the final
113201         component.
113202         (make_path): Minor reformatting.
113204         * lib/xmalloc.c: Adjust to work with new autoconf macros,
113205         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
113206         HAVE_MALLOC/HAVE_REALLOC.
113208         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
113209         dummy ones.  At least on GNU/Linux systems, `auto' means something
113210         else.
113211         From Michael Stone.
113213 2002-11-21  Bruno Haible  <bruno@clisp.org>
113215         Remove case insensitive option matching.
113216         * lib/argmatch.h (argcasematch): Remove declaration.
113217         (ARGCASEMATCH): Remove macro.
113218         (__xargmatch_internal): Remove case_sensitive argument.
113219         (XARGMATCH): Update.
113220         (XARGCASEMATCH): Remove macro.
113221         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
113222         case_sensitive argument.
113223         (argcasematch): Remove function.
113224         (__xargmatch_internal): Remove case_sensitive argument.
113225         (main): Use XARGMATCH instead of XARGCASEMATCH.
113227         * lib/xmalloc.c: Change compile-time error message. Add comment about
113228         required autoconf version.
113230 2002-11-20  Paul Eggert  <eggert@twinsun.com>
113232         Merge argmatch cleanups from Bison.  Assume C89.
113234         * lib/argmatch.c: Include config.h here, not in argmatch.h.
113235         Include stdlib.h, for EXIT_FAILURE.
113236         Always include <string.h>, since we assume C89.
113237         (EXIT_FAILURE): Remove pre-C89 bug workaround.
113238         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
113239         Include <stddef.h> instead, since it's all we need for size_t.
113240         (PARAMS): Remove.  All uses removed.
113241         (ARRAY_CARDINALITY): Do not bother to #undef.
113242         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
113243         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
113244         Remove unnecessary parentheses.
113245         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
113246         Insert necessary parentheses.
113247         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
113248         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
113250 2002-11-19  Bruno Haible  <bruno@clisp.org>
113252         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
113253         * lib/mbswidth.h: Include <stddef.h>, for size_t.
113255         * lib/mbswidth.h (PARAMS): Remove macro.
113256         (mbswidth, mbsnwidth): Use ANSI C function declarations.
113257         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
113259         * lib/gcd.h (PARAMS): Remove macro.
113260         (gcd): Use ANSI C function declarations.
113261         * lib/gcd.c (gcd): Likewise.
113263 2002-11-15  Bruno Haible  <bruno@clisp.org>
113265         * lib/strcspn.c: Include <stddef.h>.
113266         (strcspn): Use ANSI C function declaration. Change return type to
113267         size_t. Use NULL.
113268         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
113269         (strpbrk): Use NULL.
113270         * lib/strpbrk.h (PARAMS): Remove macro.
113271         (strpbrk): Use ANSI C function declaration.
113272         * lib/strstr.c: Don't include <sys/types.h>.
113273         * lib/strstr.h (PARAMS): Remove macro.
113274         (strstr): Use ANSI C function declarations.
113276 2002-11-14  Karl Berry  <karl@gnu.org>
113278         * config/mkinstalldirs: `do' on separate line, instead of
113279         `for var; do'.
113281 2002-11-06  Bruno Haible  <bruno@clisp.org>
113283         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
113284         * lib/gcd.c (gcd): Likewise.
113286 2002-11-05  Bruno Haible  <bruno@clisp.org>
113288         * lib/gcd.h: New file, from gettext-0.11.5.
113289         * lib/gcd.c: New file, from gettext-0.11.5.
113291 2002-11-05  Bruno Haible  <bruno@clisp.org>
113293         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
113294         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
113295         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
113296         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
113298         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
113299         <libintl.h>.
113300         * lib/makepath.c: Include gettext.h instead of <locale.h> and
113301         <libintl.h>.
113303         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
113304         * lib/human.c: Include gettext.h instead of <libintl.h>.
113305         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
113306         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
113307         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
113308         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
113309         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
113310         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
113311         (textdomain): Remove definition.
113312         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
113314         * lib/long-options.c: Remove include of <libintl.h> and definition of
113315         _.
113316         * lib/same.c: Remove include of <libintl.h> and definition of _.
113318 2002-11-04  Owen Taylor  <otaylor@redhat.com>
113320         * lib/config.charset: A few additions for Solaris.
113322 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
113324         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
113325         * lib/localcharset.c (locale_charset): Declare as extern "C".
113327 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
113329         * lib/config.charset: msdos in uk_UA uses CP1125.
113331 2002-11-04  Bruno Haible  <bruno@clisp.org>
113333         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
113334         * lib/strcase.h: New file, from GNU gettext-0.11.5.
113335         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
113336         * lib/strstr.h: New file, from GNU gettext-0.11.5.
113337         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
113339 2002-11-04  Bruno Haible  <bruno@clisp.org>
113341         * lib/localcharset.c (locale_charset): Don't return an empty string.
113343 2002-11-04  Bruno Haible  <bruno@clisp.org>
113345         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
113346         aliases.
113348 2002-11-04  Bruno Haible  <bruno@clisp.org>
113350         * lib/config.charset: Update for newest glibc. Add canonical names
113351         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
113353 2002-11-04  Bruno Haible  <bruno@clisp.org>
113355         * lib/config.charset: Add support for NetBSD.
113357 2002-11-04  Bruno Haible  <bruno@clisp.org>
113359         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
113361 2002-11-01  Bruno Haible  <bruno@clisp.org>
113363         * configure.in: Add AC_CONFIG_AUX_DIR call.
113364         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
113365         test/Makefile.
113366         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
113368 2002-09-28  Karl Berry  <karl@gnu.org>
113370         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
113371         installed automake until the next release, since changes have been
113372         made.
113374 2002-09-25  Karl Berry  <karl@gnu.org>
113376         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
113377         * lib/getopt*: copy from libc/posix.
113378         * lib/gettext.h: copy from gettext.
113379         * lib/.cppi-disable: add strdup.c, gettext.h.
113381 2002-09-25  Karl Berry  <karl@gnu.org>
113383         * config/srclist.txt: enable gettext.h check.
113384         * config/config.{guess,sub}: update from prep.
113385         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
113386                 from automake 1.6.3.
113387         See srclist*.
113389 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
113391         * regex.c (PATFETCH): Remove the translating fetch.
113392         (PATFETCH_RAW): Rename to PATFETCH.
113393         (set_image_of_range): New fun.
113394         (SET_RANGE_TABLE_WORK_AREA): Use it.
113395         (regex_compile): Don't translate the pattern chars so eagerly.
113396         Only do it when inserting an `exactn' bytecode or when handling
113397         a char-range.
113398         (mutually_exclusive_p): Avoid empty statement.
113400 2002-07-06  Jim Meyering  <meyering@lucent.com>
113402         * m4/README: Don't mention Makefile.am.in.
113403         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
113405 2002-07-01  Jim Meyering  <meyering@lucent.com>
113407         * lib/c-stack.c: Include sys/time.h.
113408         From Volker Borchert.
113410 2002-06-26  Paul Eggert  <eggert@twinsun.com>
113412         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
113414 2002-06-26  Paul Eggert  <eggert@twinsun.com>
113416         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
113417         New macro.  Use it uniformly instead of
113418         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
113419         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
113420         reported by Vin Shelton.
113422 2002-06-22  Paul Eggert  <eggert@twinsun.com>
113424         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
113425         Do not assume SA_SIGINFO behavior.
113426         Bug reported by Jim Meyering on NetBSD 1.5.2.
113428 2002-06-22  Jim Meyering  <meyering@lucent.com>
113430         * m4/c-stack.m4: New file, from diffutils-2.8.2.
113431         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
113433         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
113434         now that configure.ac uses AC_GNU_SOURCE.
113435         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
113436         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
113438         Update to latest tools.  Suggestions from Paul Eggert.
113439         * m4/stdbool.m4: New file, from diffutils-2.8.2.
113440         * m4/gnu-source.m4: Update from diffutils-2.8.2.
113441         * m4/fnmatch.m4: Likewise.
113442         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
113443         to AC_HEADER_STDBOOL
113445 2002-06-22  Jim Meyering  <meyering@lucent.com>
113447         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
113448         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
113450 2002-06-22  Jim Meyering  <meyering@lucent.com>
113452         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
113454         * lib/exitfail.c, exitfail.h: Likewise.
113455         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
113457         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
113458         of fnmatch.h.
113459         (EXTRA_DIST): Add fnmatch_loop.c.
113460         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
113462         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
113463         * lib/fnmatch.c: Update from diffutils-2.8.2.
113464         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
113465         * lib/fnmatch.h: Remove file.
113467 2002-06-21  Jim Meyering  <meyering@lucent.com>
113469         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
113470         * m4/mbrtowc.m4: Likewise.
113472         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
113473         * m4/mbswidth.m4: Reflect name change:
113474         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
113475         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
113477         * m4/lib-link.m4: Update from gettext-0.11.2.
113478         * m4/gettext.m4: Likewise.
113480         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
113481         From Alfred M. Szmidt.
113483 2002-06-18  Paul Eggert  <eggert@twinsun.com>
113485         * lib/file-type.h: Report an error if neither S_ISREG nor
113486         S_IFREG is defined, instead of using a test specific to glibc
113487         2.2.  This should be safe, since POSIX requires S_ISREG and
113488         Unix Version 7 had S_IFREG.  We don't need to check for
113489         <sys/types.h> since we don't use any symbols that it defines.
113491 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
113493         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
113494         $@-t, so that each temporary file name is unique and valid in the first
113495         8 characters, for operation under DOS.
113497 2002-06-15  Paul Eggert  <eggert@twinsun.com>
113499         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
113501 2002-06-15  Jim Meyering  <meyering@lucent.com>
113503         Work even with DJGPP 2.03, which lacks support for symlinks.
113504         From Richard Dawe.
113505         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
113506         is defined.
113507         * lib/lchown.c (S_ISLNK): Likewise.
113509 2002-06-15  Jim Meyering  <meyering@lucent.com>
113511         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
113512         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
113513         have been included before this file.
113515 2002-06-14  Jim Meyering  <meyering@lucent.com>
113517         * lib/file-type.h: Use the version from diffutils-2.8.2.
113518         * lib/file-type.c: Likewise.
113520 2002-06-07  Jim Meyering  <meyering@lucent.com>
113522         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
113523         They're needed at least for NetBSD 1.5.2.
113524         ($statxfs_includes): Include those same headers.
113525         ($statxfs_includes): Include sys/vfs.h if available.
113526         ($statxfs_includes): Likewise for sys/statvfs.h.
113527         Check for the following members in both structs statfs and statvfs:
113528         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
113530 2002-06-01  Jim Meyering  <meyering@lucent.com>
113532         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
113533         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
113535 2002-05-28  Jim Meyering  <meyering@lucent.com>
113537         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
113538         Reported by Volker Borchert.
113540 2002-05-27  Jim Meyering  <meyering@lucent.com>
113542         Fix a problem seen only on nonconforming systems whereby ls.c's
113543         use of localtime, and then of gettimeofday would cause trouble:
113544         the localtime call used to initialize rpl_gettimeofday's save
113545         mechanism would clobber ls's current local time information so
113546         that in any long listing the first file would always be listed
113547         with date 1970-01-01.  Analysis by Volker Borchert.
113549         * lib/gettimeofday.c (localtime): Undefine.
113550         (rpl_localtime): New function.
113552 2002-05-27  Jim Meyering  <meyering@lucent.com>
113554         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
113555         localtime.
113557         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
113558         use the replacement function; it wouldn't resolve at link time.
113559         Reported by Volker Borchert.
113561 2002-05-22  Jim Meyering  <meyering@lucent.com>
113563         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
113564         file-type.h.
113565         * lib/file-type.h: New file.
113566         * lib/file-type.c (file_type): New file/function.  Extracted from
113567         diffutils.
113569 2002-04-30  Jim Meyering  <meyering@lucent.com>
113571         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
113573 2002-04-29  Paul Eggert  <eggert@twinsun.com>
113575         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
113577 2002-04-29  Paul Eggert  <eggert@twinsun.com>
113579         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
113580         Do not check for alloca.h (no longer used) or stdbool.h (was never
113581         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
113583 2002-04-29  Paul Eggert  <eggert@twinsun.com>
113585         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
113587 2002-04-29  Jim Meyering  <meyering@lucent.com>
113589         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
113590         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
113591         Use AC_FUNC_STRNLEN here instead.
113593         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
113594         With autoconf-2.53a, it's part of AC_PROG_CC.
113596 2002-04-28  Paul Eggert  <eggert@twinsun.com>
113598         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
113599         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
113601 2002-04-28  Paul Eggert  <eggert@twinsun.com>
113603         * lib/sig2str.h, lib/sig2str.c: New files.
113604         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
113606 2002-04-28  Paul Eggert  <eggert@twinsun.com>
113608         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
113609         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
113610         of 127, since 64 is the largest conceivable number for ancient
113611         nonstandard hosts.
113612         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
113614 2002-04-28  Jim Meyering  <meyering@lucent.com>
113616         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
113618 2002-04-24  Jim Meyering  <meyering@lucent.com>
113620         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
113621         (jm_PREREQ): Use it.
113623         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
113624         mach/mach.h fcntl.h.
113625         Check for this function: setlocale.
113627 2002-04-24  Jim Meyering  <meyering@lucent.com>
113629         * lib/gettext.h: New file, from Gettext.
113630         * lib/Makefile.am (INCLUDES): Remove -I../intl.
113631         (libfetish_a_SOURCES): Add gettext.h.
113633 2002-04-16  Jim Meyering  <meyering@lucent.com>
113635         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
113636         ut_pid, ut_id, ut_exit.
113638 2002-04-16  Jim Meyering  <meyering@lucent.com>
113640         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
113641         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
113642         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
113644 2002-04-12  Jim Meyering  <meyering@lucent.com>
113646         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
113647         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
113648         existence of the getmntinfo function.  Needed for Darwin 5.3.
113650         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
113651         This is necessary at least on Darwin 5.3.
113653         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
113654         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
113655         strnlen.o in the library, and that makes some versions of ranlib
113656         object.
113658 2002-04-12  Jim Meyering  <meyering@lucent.com>
113660         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
113662 2002-04-09  Jim Meyering  <meyering@lucent.com>
113664         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
113665         to be more precise.  Rather than saying we're checking whether the
113666         function `works', say what we're testing.
113667         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
113668         Reported by Bruno Haible.
113670 2002-03-10  Jim Meyering  <meyering@lucent.com>
113672         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
113673         Suggestion from Santiago Vila.
113675 2002-03-08  Jim Meyering  <meyering@lucent.com>
113677         * lib/rename.c: Mention that this wrapper is needed also on
113678         mips-dec-ultrix4.4 systems.
113680 2002-03-02  Jim Meyering  <meyering@lucent.com>
113682         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
113683         not HAVE_CLOCK_SETTIME.
113685 2002-02-27  Paul Eggert  <eggert@twinsun.com>
113687         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
113688         Check for clock_settime.
113690 2002-02-27  Paul Eggert  <eggert@twinsun.com>
113692         * lib/nanosleep.h: Rename to....
113693         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
113695         * lib/gettime.c: New file.
113696         * lib/settime.c: New file.
113697         * lib/stime.c: Remove.
113699         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
113700         timespec.h.  Remove nanosleep.h.
113702 2002-02-25  Paul Eggert  <eggert@twinsun.com>
113704         * m4/acl.m4: New file.
113705         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
113706         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
113708 2002-02-25  Paul Eggert  <eggert@twinsun.com>
113710         * lib/acl.c, lib/acl.h: New files.
113711         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
113713 2002-02-24  Jim Meyering  <meyering@lucent.com>
113715         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
113716         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
113717         cause trouble.  Reported by Nelson Beebe.
113719 2002-02-23  Paul Eggert  <eggert@twinsun.com>
113721         * lib/path-concat.c (xpath_concat): Reorder code to pacify
113722         compilers that don't know that xalloc_die never returns.
113724 2002-02-20  Jim Meyering  <meyering@lucent.com>
113726         * lib/getdate.c: Regenerate using bison-1.33.
113728 2002-02-17  Jim Meyering  <meyering@lucent.com>
113730         * config/config.guess (main): Don't use `head -1'; it's no longer
113731         portable. Use `sed 1q' instead.
113733 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
113735         * m4/codeset.m4: Upgrade to gettext-0.11.
113736         * m4/gettext.m4: Upgrade to gettext-0.11.
113737         * m4/glibc21.m4: Upgrade to gettext-0.11.
113738         * m4/iconv.m4: Upgrade to gettext-0.11.
113739         * m4/isc-posix.m4: Upgrade to gettext-0.11.
113740         * m4/lcmessage.m4: Upgrade to gettext-0.11.
113741         * m4/lib-ld.m4: New file, from gettext-0.11.
113742         * m4/lib-link.m4: New file, from gettext-0.11.
113743         * m4/lib-prefix.m4: New file, from gettext-0.11.
113744         * m4/progtest.m4: Upgrade to gettext-0.11.
113746 2002-02-15  Paul Eggert  <eggert@twinsun.com>
113748         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
113749         (jm_PREREQ): Use it.
113751 2002-02-15  Paul Eggert  <eggert@twinsun.com>
113753         * lib/posixver.c, lib/posixver.h: New files.
113754         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
113756 2002-02-02  Paul Eggert  <eggert@twinsun.com>
113757             Bruno Haible  <bruno@clisp.org>
113759         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
113760         (fwrite_success_callback): New declaration.
113761         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
113762         print_unicode_char. Call failure callback instead of error.
113763         (fwrite_success_callback): New function.
113764         (exit_failure_callback): New function.
113765         (fallback_failure_callback): New function.
113766         (print_unicode_char): Call unicode_to_mb.
113768 2002-01-26  Jim Meyering  <meyering@lucent.com>
113770         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
113771         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
113773 2002-01-26  Jim Meyering  <meyering@lucent.com>
113775         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
113777 2002-01-22  Paul Eggert  <eggert@twinsun.com>
113779         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
113781 2002-01-22  Jim Meyering  <meyering@lucent.com>
113783         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
113784         Otherwise, some versions of automake would omit the rule that makes
113785         Makefile from Makefile.in.
113787 2002-01-21  Paul Eggert  <eggert@twinsun.com>
113789         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
113790         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
113791         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
113792         (memcoll): Set errno to zero if there is no error.
113794         * lib/quotearg.c (quotearg_buffer_restyled):
113795         Fix bug with quoting buffers containing NUL when backslashing escapes.
113796         This bug was exposed by the other changes in this patch.
113797         (quotearg_n_options): New arg ARGSIZE.
113798         All callers changed.
113799         (quoting_options_from_style): New function.
113800         (quotearg_n_style): Use it.
113801         (quotearg_n_style_mem): New function.
113803         * lib/quotearg.h (quotearg_n_style_mem): New function.
113805 2002-01-19  Jim Meyering  <meyering@lucent.com>
113807         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
113808         Remove useless quotes: DF_PROG="df".
113809         * m4/strnlen.m4: New file.
113811 2002-01-16  Paul Eggert  <eggert@twinsun.com>
113813         * lib/backupfile.c (ISDIGIT): Comment fix.
113814         * lib/getdate.y (ISDIGIT): Likewise.
113815         * lib/posixtm.c (ISDIGIT, year): Likewise.
113816         * lib/strverscmp.c (ISDIGIT): Likewise.
113817         * lib/userspec.c (ISDIGIT): Likewise.
113819 2002-01-16  Jim Meyering  <meyering@lucent.com>
113821         * lib/getdate.y: Add three semicolons, each just before a closing
113822         brace. Bison (as of version 1.31) no longer papers over that mistake.
113824 2002-01-05  Jim Meyering  <meyering@lucent.com>
113826         * lib/version-etc.c (version_etc_copyright): Update copyright year.
113828 2001-12-19  Paul Eggert  <eggert@twinsun.com>
113830         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
113831         not silently exit merely because the output buffer happens to
113832         have nothing pending.
113834 2001-12-18  Paul Eggert  <eggert@twinsun.com>
113836         See the big note in ../ChangeLog.
113837         * lib/human.c (suffixes): Prefer K to k for 1024.
113838         (generate_suffix_backwards): New function.
113839         (human_readable_inexact): Use it.
113840         * lib/xstrtol.c (__xstrtol): If there is no number but there
113841         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
113842         Accept 'K' as well as 'k'.
113844 2001-12-15  Jim Meyering  <meyering@lucent.com>
113846         * lib/regex.h (__restrict_arr): Update from libc.
113848         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
113849         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
113850         (STREQ): Define.
113852 2001-12-14  Jim Meyering  <meyering@lucent.com>
113854         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
113855         Suggestion from Bruno Haible.
113857 2001-12-10  Jim Meyering  <meyering@lucent.com>
113859         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
113860         xrealloc, Instead, include "xalloc.h".
113861         (initbuffer): Don't cast xmalloc return value to char*.
113862         (readline): Reword comment.
113863         Don't cast xrealloc return value to char*
113864         Return NULL, not 0.
113866 2001-12-09  Jim Meyering  <meyering@lucent.com>
113868         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
113869         about `signed and unsigned type in conditional expression'.
113870         * lib/posixtm.c (posix_time_parse): Likewise.
113872         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
113874         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
113875         to avoid a pedantic warning.
113877         * lib/getstr.c: Don't include assert.h.
113878         (getstr): Remove warning-evoking assertions.
113879         Return -1 if offset parameter is out of bounds.
113880         Change the type of a local from int to size_t.
113882         * lib/strftime.c (my_strftime_localtime_r): Include this function
113883         definition in the `#if ! HAVE_TM_GMTOFF' block.
113885         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
113886         Include xalloc.h instead.
113888 2001-12-02  Jim Meyering  <meyering@lucent.com>
113890         * lib/tempname.c: Don't declare getenv, thus reverting the change of
113891         2001-11-18.  It's no longer necessary, now that stdlib.h is always
113892         included.
113894         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
113895         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
113897 2001-11-30  Akim Demaille  <akim@epita.fr>
113899         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
113900         before being defined.
113902 2001-11-27  Paul Eggert  <eggert@twinsun.com>
113904         * lib/quotearg.h (quotearg_n, quotearg_n_style):
113905         First arg is int, not unsigned.
113906         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
113907         (SIZE_MAX, UINT_MAX): New macros.
113908         (quotearg_n_options): Abort if N is negative.
113909         Avoid overflow check on hosts where size_t is 64 bits and int
113910         is 32 bits, as overflow is impossible there.
113911         Fix off-by-one typo that caused unnecessary reallocation.
113913 2001-11-27  Jim Meyering  <meyering@lucent.com>
113915         * lib/tempname.c: Merge with version from libc.
113916         * lib/regex.c: Likewise.
113918         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
113919         systems for which STDC_HEADERS is 0, it was not included, resulting in
113920         a warning about an integer-to-pointer conversion problem with getenv.
113921         Reported by Volker Borchert.
113923 2001-11-26  Jim Meyering  <meyering@lucent.com>
113925         * lib/gtod.h: Remove file.
113926         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
113927         * lib/gettimeofday.c: Don't include gtod.h.
113928         (GTOD_init): Remove function.
113929         (rpl_gettimeofday): Do its job here instead, rather than aborting.
113930         Suggestion from Volker Borchert.
113932 2001-11-23  Jim Meyering  <meyering@lucent.com>
113934         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
113935         it.
113936         * lib/hash.c (struct hash_table): Define it here instead.
113938 2001-11-22  Jim Meyering  <meyering@lucent.com>
113940         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
113942 2001-11-20  Jim Meyering  <meyering@lucent.com>
113944         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
113945         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
113947 2001-11-19  Jim Meyering  <meyering@lucent.com>
113949         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
113950         directory.  Use "conftestXXXXXX" as the template.
113951         Suggestion from Paul Eggert.
113953         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
113954         immediately, so the test doesn't mistakenly hit the max-open-files
113955         limit.
113957 2001-11-18  Paul Eggert  <eggert@twinsun.com>
113959         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
113960         (TEMPORARIES): New macro.
113961         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
113962         removes an artificial limitation (e.g. HP-UX 10.20, where
113963         TMP_MAX is 17576).
113965 2001-11-18  Jim Meyering  <meyering@lucent.com>
113967         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
113969 2001-11-18  Jim Meyering  <meyering@lucent.com>
113971         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
113972         on SunOS 4.
113974         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
113975         files will be created before anything else.
113977 2001-11-17  Paul Eggert  <eggert@twinsun.com>
113979         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
113980         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
113982 2001-11-17  Jim Meyering  <meyering@lucent.com>
113984         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
113985         Prompted by a report from Bob Proulx.
113987         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
113988         Instead, require UTILS_FUNC_MKSTEMP.
113990 2001-11-17  Jim Meyering  <meyering@lucent.com>
113992         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
113993         Now, that's done as part of AC_FUNC_STRTOD.
113995 2001-11-17  Jim Meyering  <meyering@lucent.com>
113997         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
113998         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
113999         rather than group writable.  Patch by Juan F. Codagnone.
114001         * lib/readtokens.c: Remove explicit declarations of xmalloc and
114002         xrealloc, Instead, include "xalloc.h".
114004         * lib/mountlist.c: Include unlocked-io.h after all system headers.
114005         Remove explicit declarations of xmalloc, xrealloc,
114006         and xstrdup.  Instead, include "xalloc.h".
114008         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
114009         unlocked-io.h.
114010         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
114011         Likewise.
114012         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
114014         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
114015         Reported by Padraig Brady.
114017         * lib/mkstemp.c: #undef mkstemp.
114018         Include config.h.
114019         (rpl_mkstemp): Rename from mkstemp.
114020         Protoize.
114022 2001-11-16  Jim Meyering  <meyering@lucent.com>
114024         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
114025         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
114026         determine the amount of total physical memory, use pstat_getstatic.
114027         HPUX-11 doesn't define _SC_PHYS_PAGES.
114028         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
114029         If sysconf couldn't be used to determine the amount of available
114030         physical memory, use both pstat_getstatic and pstat_getdynamic.
114031         Based on a patch from Bob Proulx.
114033 2001-11-10  Jim Meyering  <meyering@lucent.com>
114035         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
114036         (jm_PREREQ): Use it.
114038 2001-11-09  Jim Meyering  <meyering@lucent.com>
114040         * m4/jm-macros.m4: Require autoconf-2.52f.
114041         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
114042         Use these AC_-prefixed names, not the AM_-prefixed ones.
114044         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
114046 2001-11-05  Jim Meyering  <meyering@lucent.com>
114048         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
114050 2001-11-04  Jim Meyering  <meyering@lucent.com>
114052         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
114053         $DEFS.
114055 2001-11-03  Jim Meyering  <meyering@lucent.com>
114057         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
114058         of AC_DEFUN.
114060         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
114061         know the name of the variable in the macro definition.
114063 2001-11-03  Jim Meyering  <meyering@lucent.com>
114065         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
114066         in argmatch_to_argument call.
114068         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
114069         argument.
114071         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
114072         e.g., a fault due to an attempt to free a NULL pointer.
114074 2001-11-01  Jim Meyering  <meyering@lucent.com>
114076         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
114077         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
114079 2001-11-01  Jim Meyering  <meyering@lucent.com>
114081         * lib/dirfd.c, lib/dirfd.h: New files.
114082         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
114084         * lib/hash.c (hash_print) [TESTING]: Clean up.
114086 2001-10-22  Paul Eggert  <eggert@twinsun.com>
114088         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
114089         to avoid a warning if -Wall.
114091 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
114093         * README: New file
114094         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
114095         (per RMS's instructions, this is now the canonical source)
114096         * lgpl/, gpl/: New directories.
114098 2001-10-21  Paul Eggert  <eggert@twinsun.com>
114100         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
114102 2001-10-21  Jim Meyering  <meyering@lucent.com>
114104         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
114105         this code would end up calling gettext even in packages built
114106         with --disable-nls.
114107         * lib/getopt.c (_): Likewise.
114108         * lib/regex.c (_): Likewise.
114110 2001-10-20  Paul Eggert  <eggert@twinsun.com>
114112         * m4/error.m4 (jm_PREREQ_ERROR):
114113         Do not invoke AC_CHECK_FUNCS with strerror_r, as
114114         AC_FUNC_STRERROR_R does that.
114115         Check for strerror declaration.
114117         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
114118         are supposed to have them these days.
114119         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
114120         Merge changes from latest Autoconf CVS.
114121         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
114122         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
114123         POSIX decided to standardize on the int flavor of strerror_r.
114125 2001-10-20  Paul Eggert  <eggert@twinsun.com>
114127         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
114128         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
114129         Use strerror_r that is only a macro, even if it is not a function.
114130         (strerror): Check for HAVE_DECL_STRERROR before declaring.
114131         (private_strerror): Use prototypes, not old-style function definition.
114132         (print_errno_message): New function.
114133         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
114134         char*-flavored one.
114135         (error_tail, error, error_at_line): Use it.
114137 2001-10-11  Jim Meyering  <meyering@lucent.com>
114139         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
114140         and quote_n (1, ... to avoid clobbering a buffer.
114142 2001-10-05  Jim Meyering  <meyering@lucent.com>
114144         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
114145         hash-pjw.h.
114146         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
114147         * lib/hash-pjw.h: New file.
114149 2001-09-30  Jim Meyering  <meyering@lucent.com>
114151         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
114152         `struct fsstat' has the `f_fstypename' member.
114153         Use that to define FS_TYPE, which is now used to make
114154         the getfsstat link test tighter.
114156 2001-09-30  Jim Meyering  <meyering@lucent.com>
114158         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
114159         Include <sys/ucred.h>, for Apple Darwin.
114160         Include sys/mount.h and sys/fs_types.h only if available.
114161         (FS_TYPE): Define.
114162         (read_filesystem_list): Use FS_TYPE.
114164 2001-09-29  Paul Eggert  <eggert@twinsun.com>
114166         * lib/exclude.c (excluded_filename): 0 -> false, since it's
114167         a boolean context.
114169 2001-09-29  Jim Meyering  <meyering@lucent.com>
114171         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
114172         [one-argument getmntent function]): Include stdio.h before mntent.h.
114173         SunOS 4.1.x needs it for the declaration of `FILE'.
114174         Patch by Volker Borchert.
114176         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
114177         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
114178         sys/fs_types.h, and make the link-test for getfsstat guard #include
114179         directives with appropriate #if HAVE_*_H tests so that we can
114180         detect getfsstat on Apple Darwin1.3.7 systems.
114181         Reported by Nelson Beebe.
114182         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
114184 2001-09-28  Paul Eggert  <eggert@twinsun.com>
114186         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
114187         #defines strtoimax.  Also treat the other strto* functions
114188         like strtoimax.
114190         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
114191         Check for strtoul and strtoumax,
114192         as those declarations are made even in the signed case.
114193         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
114194         Likewise, for strtol and strtoimax.
114196 2001-09-28  Paul Eggert  <eggert@twinsun.com>
114198         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
114199         #defines strtoimax.  Also treat the other strto* functions
114200         like strtoimax.
114202         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
114203         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
114204         (strtoimax, strtoumax): Do not declare if already defined as a macro.
114206 2001-09-26  Jim Meyering  <meyering@lucent.com>
114208         Most macros in unlocked-io.h had the wrong number of arguments.
114209         * lib/gen-uio: New script.
114210         (USE_UNLOCKED_IO): Define to 1 if not already defined.
114211         * lib/unlocked-io.hin: Remove file.
114212         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
114213         rather than trying to embed it here.
114214         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
114215         Reported by Padraig Brady.
114217 2001-09-25  Volker Borchert  <bt@teknon.de>
114219         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
114220         `result'.
114222 2001-09-24  Jim Meyering  <meyering@lucent.com>
114224         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
114226 2001-09-23  Jim Meyering  <meyering@lucent.com>
114228         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
114229         instead of the mere test for existence of mntent.h.  The latter
114230         would get a false-positive on AIX 3.4 systems.
114231         In the outer getmntent if-block, don't die if neither of the getmntent
114232         tests succeeds.  Instead, just fall through and continue with the
114233         remaining tests.
114235 2001-09-23  Jim Meyering  <meyering@lucent.com>
114237         * lib/mountlist.c: Remove useless parentheses in #if directives.
114238         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
114239         the deprecated MOUNTED symbol is no longer defined in mntent.h.
114241 2001-09-22  Jim Meyering  <meyering@lucent.com>
114243         * m4/gettext.m4: New file.  From gettext.
114244         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
114245         * m4/progtest.m4: Likewise
114246         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
114247         * m4/glibc21.m4: Likewise.
114249         * m4/libintl.m4: Remove.  No longer used.
114251 2001-09-22  Jim Meyering  <meyering@lucent.com>
114253         * lib/localcharset.c: Update from latest gettext.
114254         * lib/config.charset: Likewise.
114256 2001-09-20  Jim Meyering  <meyering@lucent.com>
114258         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
114259         strtoimax.
114260         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
114261         strtoumax.
114263 2001-09-20  Jim Meyering  <meyering@lucent.com>
114265         * lib/xstrtol.c (strtoimax): Guard declaration with
114266         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
114267         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
114268         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
114269         (strtoumax): Likewise, for completeness (it wasn't necessary).
114271 2001-09-17  Paul Eggert  <eggert@twinsun.com>
114273         * lib/strtoimax.c (HAVE_LONG_LONG):
114274         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
114275         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
114276         to work around bug in IBM C compiler.
114278 2001-09-17  Jim Meyering  <meyering@lucent.com>
114280         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
114281         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
114282         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
114283         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
114284         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
114285         whenever the right hand side need not be expanded by the shell.
114287 2001-09-16  Paul Eggert  <eggert@twinsun.com>
114289         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
114290         library.  It's not correct, as some older glibcs are buggy.
114291         fnmatch wasn't fixed until glibc 2.2.
114293         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
114294         special shell magic here.
114296 2001-09-16  Jim Meyering  <meyering@lucent.com>
114298         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
114299         * m4/jm-macros.m4: Require it.
114301 2001-09-16  Jim Meyering  <meyering@lucent.com>
114303         * lib/mkdir.c: New file.
114305 2001-09-15  Jim Meyering  <meyering@lucent.com>
114307         * m4/jm-macros.m4: Check for help2man.
114309 2001-09-11  Jim Meyering  <meyering@lucent.com>
114311         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
114312         The body, by Paul Eggert, was moved here from configure.in.
114313         * m4/jm-macros.m4: Require UTILS_HOST_OS.
114315 2001-09-04  Paul Eggert  <eggert@twinsun.com>
114317         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
114318         (jm_PREREQ): Use it.
114320 2001-09-04  Paul Eggert  <eggert@twinsun.com>
114322         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
114323         Use ssize_t, not int, to store result of readlink.
114324         Check for ssize_t overflow as well as size_t overflow,
114325         as POSIX says the result of readlink is implementation-defined
114326         when ssize_t overflows.
114327         Remove unnecessary cast to char*.
114328         Use free+malloc instead of realloc, as the storage doesn't need
114329         to be preserved and it's clearer and can be more efficient that way.
114330         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
114331         * lib/xreadlink.h (xreadlink): Update prototype.
114333 2001-09-04  Paul Eggert  <eggert@twinsun.com>
114335         * lib/xgetcwd.c: Revert some of the previous change; intead,
114336         fix the HAVE_GETCWD_NULL code to behave more like the
114337         !HAVE_GETCWD_NULL code used to.
114339         Include "xalloc.h".
114340         (xgetcwd): Do not return NULL when memory is exhausted; instead,
114341         invoke xalloc_die.
114343 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114345         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
114346         sys/param.h, as pathmax.h includes them.
114348 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114350         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
114351         (jm_PREREQ_XGETCWD): New macro.
114353         * m4/getcwd.m4: New file.
114355 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114357         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
114358         like the HAVE_GETCWD_NULL code.
114359         Include pathmax.h if not HAVE_GETCWD.
114360         Do not include xalloc.h.
114361         (INITIAL_BUFFER_SIZE): New symbol.
114362         Do not use xmalloc / xrealloc, since the caller is responsible for
114363         handling errors.  Preserve errno around `free' during failure.
114364         Do not overrun buffer when using getwd.
114366 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114368         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
114369         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
114370         getcwd (NULL, 0).
114372 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114374         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
114375         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
114376         spotted by Jim Meyering.
114378 2001-09-03  Jim Meyering  <meyering@lucent.com>
114380         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
114381         failure.
114383 2001-09-02  Jim Meyering  <meyering@lucent.com>
114385         * lib/error.c: Update from GNU libc.
114387 2001-09-01  Jim Meyering  <meyering@lucent.com>
114389         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
114390         Used by df.
114392 2001-09-01  Jim Meyering  <meyering@lucent.com>
114394         * lib/xreadlink.c: New file.
114395         * lib/xreadlink.h: New file.
114396         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
114397         xreadlink.h.
114399         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
114400         doesn't conflict with sparc Solaris 7's definition in
114401         /usr/include/sys/int_types.h.
114403         * lib/exclude.c: Use `""', not `<>' to #include non-system header
114404         files.
114405         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
114406         and strncasecmp as r-values.  Unixware didn't have declarations.
114408 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114410         * lib/xstrtol.h: Add copyright notice.
114411         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
114412         LONGINT_INVALID_SUFFIX_CHAR.
114414 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114416         * lib/xstrtol.c (strtoimax): New decl.
114418 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114420         * lib/xgetcwd.c: Don't include pathmax.h.
114421         Include stdlib.h and unistd.h if available.
114422         Include xalloc.h.
114423         (xmalloc, xstrdup, free): Remove decls.
114424         (xgetcwd): Don't assume sizes fit in unsigned.
114425         Check for overflow when computing sizes.
114426         Simplify reallocation code.
114428 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114430         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
114431         a directory's st_size can have an arbitrary value, so the old
114432         usage could waste an arbitrary amount of memory.  All uses
114433         changed.
114434         * lib/savedir.h: Update prototype.
114436 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114438         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
114440         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
114441         old strtoimax.c.
114443         Also, make the following further changes to make this file's
114444         configuration more similar to that of strtol.c:
114445         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
114446         (strtoumax, uintmax_t, strtoull, strtol): Remove.
114447         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
114448         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
114449         changed to signed values.
114451         And make the following changes as well:
114452         Fix copyright notice, as 1999 was missing.
114453         (verify): New macro.
114454         (strtoimax): Check sizes at compile-time, not run-time.
114455         Prefer strtol to strtoll if both work.
114456         (main): Remove; it was not that useful and was a pain to maintain.
114458         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
114460 2001-08-31  Jim Meyering  <meyering@lucent.com>
114462         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
114463         Use an initial, malloc'd, buffer of length 128 rather than
114464         a statically allocated one of length 1024.
114466 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114468         Simplify code, partly by assuming autoconf 2.52 semantics.
114470         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
114472         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
114473         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
114474         All uses removed.
114475         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
114476         Move AC_REQUIRE to next-to-top level, to avoid confusion.
114477         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
114478         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
114479         jm_AC_HEADER_INTTYPES_H.
114480         * m4/jm-macros.m4 (jm_MACROS): Likewise.
114482         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
114484         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
114485         Quote first arg of AC_DEFUN.
114486         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
114487         since they are needed to parse the include file even if we need
114488         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
114489         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
114490         but with opposite signedness.
114492 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114494         Merge 'exclude' changes from tar 1.13.22.
114495         This fixes one or two unlikely storage allocation overflow bugs,
114496         but doesn't change user-visible behavior otherwise.
114498 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114500         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
114501         (jm_PREREQ_EXCLUDE): New macro.
114503 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114505         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
114506         tm to be declared.
114508 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114510         * lib/hash.c: Remove '2001' from copyright notice.
114512 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114514         * lib/full-write.h: New file.
114515         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
114516         * lib/full-write.c: Correct credits, as cccp.c no longer
114517         exists and anyway it was so heavily changed from the old cccp
114518         code as to be unrecognizable.  Include full-write.h.
114519         (full_write): Return size_t, with short writes meaning failure.
114520         All callers changed.  This fixes a bug with large buffers
114521         on 64-bit hosts.
114522         * lib/utime.c: Include full-write.h.
114524 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114526         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
114527         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
114528         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
114529         Include if available.
114530         (<xalloc.h>): Include
114531         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
114532         (verify): New macro.  Use it to verify that EXCLUDE macros do not
114533         collide with FNM macros.
114534         (struct patopts): New struct.
114535         (struct exclude): Use it, as exclude patterns now come with options.
114536         (new_exclude): Support above changes.
114537         (new_exclude, add_exclude_file):
114538         Initial size must now be a power of two to simplify overflow checking.
114539         (free_exclude, fnmatch_no_wildcards): New function.
114540         (excluded_filename): No longer requires options arg, as the options
114541         are determined by add_exclude.  Now returns bool, not int.
114542         (excluded_filename, add_exclude):
114543         Add support for the fancy new exclusion options.
114544         (add_exclude, add_exclude_file): Now takes int options arg.
114545         Check for arithmetic overflow when computing sizes.
114546         (add_exclude_file): xrealloc might modify errno, so don't
114547         realloc until after errno might be used.
114549         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
114550         New macros.
114551         (free_exclude): New decl.
114552         (add_exclude, add_exclude_file): Now takes int options arg.
114553         (excluded_filename): No longer requires options arg, as the options
114554         are determined by add_exclude.  Now returns bool, not int.
114556 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114558         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
114560 2001-08-27  Jim Meyering  <meyering@lucent.com>
114562         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
114564         * lib/version-etc.c (N_): Remove definition.
114565         Revert most of last change.
114566         Instead, simply don't mark the `Copyright...' string for translation.
114567         Based on advice from Paul Eggert.
114569         * lib/strtoxmax.c: Tweak comment.
114571 2001-08-26  Jim Meyering  <meyering@lucent.com>
114573         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
114575         * m4/xstrtoimax.m4: New file.
114576         * m4/xstrtoumax.m4: Add comments explaining why we
114577         AC_REPLACE_FUNCS(strtol).
114579 2001-08-26  Jim Meyering  <meyering@lucent.com>
114581         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
114582         of copyright with `%s' so translators don't get an untranslated
114583         message in 2002.
114584         (COPYRIGHT_YEAR): Define.
114585         (version_etc): Use fprintf rather than fputs.
114586         Suggestion from Ulrich Drepper.
114588         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
114590         * lib/strtoll.c: New file, from GNU libc.
114591         * lib/xstrtoimax.c: New file.
114593         * lib/xstrtol.h: Add xstrtoimax.
114594         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
114595         * lib/strtoimax.c: New file.  Likewise, but first define
114596         STRTOUXMAX_SIGNED.
114598         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
114599         ...
114600         * lib/strtoxmax.c: ... then renamed to this.
114602 2001-08-18  Paul Eggert  <eggert@twinsun.com>
114604         * m4/inttypes.m4: Add AC_PREREQ(2.13).
114605         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
114606         (jm_AC_TYPE_INTMAX_T): New macro.
114607         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
114609         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
114611         * m4/longlong.m4: Renamed from ulonglong.m4.
114612         * m4/inttypes.m4: Renamed from inttypes_h.m4.
114613         * m4/uintmax_t.m4: Removed.
114615 2001-08-13  Paul Eggert  <eggert@twinsun.com>
114617         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
114618         Port to Solaris 8, where 'sed' requires a space after the 'r'
114619         command, and where sh dislikes "$/".  Clean up the spacing a bit.
114620         Redirect output to $tmp just once.
114622 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
114624         * lib/addext.c (<errno.h>): Include.
114625         (errno): Declare if not defined.
114626         (addext): Work correctly when pathconf returns -1 and leaves
114627         errno alone because there is no limit.  Also, work even if
114628         pathconf returns a value greater than SIZE_MAX.
114630 2001-08-12  Jim Meyering  <meyering@lucent.com>
114632         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
114633         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
114634         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
114635         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
114636         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
114637         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
114638         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
114639         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
114640         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
114641         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
114642         utime.m4, utimes.m4, xstrtoumax.m4:
114643         Quote the first argument in each use of AC_DEFUN.
114645 2001-08-12  Jim Meyering  <meyering@lucent.com>
114647         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
114648         Simply `return getcwd (NULL, 0);'.
114649         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
114650         Use 1300 as initial value for length, not PATH_MAX.
114652         * lib/pathmax.h: Clean up cpp syntax.
114654 2001-08-12  Jim Meyering  <meyering@lucent.com>
114656         * lib/gettimeofday.c: New file.
114657         * lib/gtod.h: New file.
114658         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
114660 2001-08-05  Jim Meyering  <meyering@lucent.com>
114662         * m4/jm-macros.m4: Require autoconf-2.52.
114664 2001-08-04  Jim Meyering  <meyering@lucent.com>
114666         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
114667         stmt, to get in sync with glibc.
114669 2001-08-03  Paul Eggert  <eggert@twinsun.com>
114671         The following changes are from gettext 0.10.39 as maintained by
114672         Bruno Haible.
114674         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
114675         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
114676         with inverted sense.  All uses changed.
114678         * lib/mbswidth.c: Don't include <limits.h>.
114679         Include <stdlib.h> and <string.h> unconditionally.
114680         (iswcntrl, mbsinit, ISCNTRL): New macros.
114681         (mbsnwidth): Use K&R style function declarations.
114682         Don't bother checking for MB_LEN_MAX == 1, since the compiler
114683         can optimize it when MB_CUR_MAX == 1.
114684         The width of control characters is zero, not 1.
114686 2001-08-03  Paul Eggert  <eggert@twinsun.com>
114688         The following changes are from gettext 0.10.39 as maintained by
114689         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
114691         * m4/codeset.m4: Upgrade to serial AM1.
114692         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
114693         all uses changed.  Quote first arg of AC_DEFUN.
114694         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
114696         * m4/iconv.m4: Upgrade to serial AM2.
114697         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
114698         Add --with-libconv-prefix.
114699         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
114700         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
114701         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
114702         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
114703         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
114705         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
114706         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
114707         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
114708         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
114709         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
114710         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
114711         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
114712         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
114713         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
114715         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
114716         string.h any more.
114718         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
114719         not the default value.
114721         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
114722         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
114723         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
114724         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
114725         Also check for iswcntrl, used for wcwidth fallback.
114726         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
114727         to Autoconf 2.13.
114729 2001-08-03  Jim Meyering  <meyering@lucent.com>
114731         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
114732         as it was in the original.  Reported by Paul Eggert.
114734 2001-07-16  Jim Meyering  <meyering@lucent.com>
114736         * m4/gettimeofday.m4: New file.
114737         Prompted by a report from Bernhard Baehr.
114739 2001-07-15  Jim Meyering  <meyering@lucent.com>
114741         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
114742         stuff. Now it's in ../Makefile.cfg.
114744 2001-07-15  Jim Meyering  <meyering@lucent.com>
114746         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
114747         (BUILT_SOURCES): Add unlocked-io.h.
114748         (io_functions): Define.
114749         (unlocked-io.h): New rule.
114750         (DISTCLEANFILES): Add unlocked-io.h.
114751         (all-local): Depend on unlocked-io.h, to ensure it is created.
114753         * lib/unlocked-io.hin: New file
114755         * lib/regex.c: Update from glibc.
114757 2001-07-05  Jim Meyering  <meyering@lucent.com>
114759         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
114760         recommendation.
114761         (libfetish_a_SOURCES): Put all .h files here instead.
114762         Remove a thus-exposed (better checks in automake) duplicate and
114763         two unnecessary .h files.
114765 2001-07-04  Jim Meyering  <meyering@lucent.com>
114767         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
114768         that generates jm-glibc-io.m4 so that it doesn't trigger any make
114769         distcheck failure.
114771 2001-07-02  Jim Meyering  <meyering@lucent.com>
114773         The following changes were prompted by suggestions from Bruno Haible.
114775         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
114776         is now generated.
114777         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
114778         definition of EXTRA_DIST.
114779         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
114780         ensure that the generated file is created/updated whenever the list
114781         of $(unlocked_functions) is changed.
114782         (jm-glibc-io.m4): New rule.
114783         (unlocked-io.h): New rule -- currently unused.
114785 2001-06-24  Jim Meyering  <meyering@lucent.com>
114787         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
114788         unmatched right bracket, rather than kludging it with an extra,
114789         falsely-matching quote in a comment.  Patch by Akim Demaille.
114791 2001-06-11  Jim Meyering  <meyering@lucent.com>
114793         * lib/regex.c: Update from GNU libc.
114795 2001-05-27  Jim Meyering  <meyering@lucent.com>
114797         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
114798         Check for ut_type in struct utmp.
114800 2001-05-27  Jim Meyering  <meyering@lucent.com>
114802         * lib/readutmp.h (UT_TYPE): Define.
114804 2001-05-24  Jim Meyering  <meyering@lucent.com>
114806         * lib/argmatch.c: Include "quote.h".
114807         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
114808         quote function.  Reported by Göran Uddeborg.
114810 2001-05-22  Jim Meyering  <meyering@lucent.com>
114812         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
114813         now that we use the package-supplied version unconditionally.
114814         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
114816 2001-05-21  Jim Meyering  <meyering@lucent.com>
114818         * m4/regex.m4: Change a couple backticks to single quotes to avoid
114819         shell syntax errors.
114821 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
114823         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
114825 2001-05-20  Paul Eggert  <eggert@twinsun.com>
114827         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
114828         Don't bother to check library strftime, since
114829         we'll be using our own my_strftime function anyway.
114830         Define my_strftime instead of strftime.
114832 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
114834         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
114835         which is not yet declared.
114837 2001-05-15  Jim Meyering  <meyering@lucent.com>
114839         * m4/regex.m4: Use proper quoting so brackets appear in the test
114840         program.
114841         Reported by, and with help from, Bruno Haible.
114843 2001-05-13  Jim Meyering  <meyering@lucent.com>
114845         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
114846         undefined.
114848 2001-05-11  Paul Eggert  <eggert@twinsun.com>
114850         dirname code cleanup.  base_name now behaves more compatibly
114851         with POSIX basename when given file names that have trailing
114852         slashes, and similarly for dir_name.  Add new primitives
114853         base_len and dir_len.  Put the directory-name-related decls
114854         into dirname.h.
114856         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
114857         * lib/backupfile.c (base_name): Likewise.
114858         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
114859         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
114860         * lib/makepath.c (strip_trailing_slashes): Likewise.
114861         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
114862         ISSLASH): Likewise.
114863         * lib/rename.c (strip_trailing_slashes): Likewise.
114864         * lib/same.c (base_name): Likewise.
114865         * lib/stripslash.c (ISSLASH): Likewise.
114867         * lib/addext.c: Include <dirname.h> after size_t is defined.
114868         * lib/backupfile.c: Likewise.
114870         * lib/addext.c (addext): Use base_len to trim redundant
114871         trailing slashes instead of doing it ourselves.
114872         But do not trim the last slash if it is not redundant.
114874         * lib/backupfile.c (find_backup_file_name,
114875         max_backup_version): Use base_len instead of rolling it ourselves.
114876         Handle the case of "" and (on DOS) "C:" correctly.
114878         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
114879         needed. Include <string.h>, <dirname.h>.
114880         (base_name): Allow file names ending in slashes, other than names
114881         that are all slashes.  In this case, return the basename followed
114882         by the slashes.  This is more general, and can be used in places
114883         where the original base_name purposely had an assertion failure.
114884         (base_len): New function.
114886         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
114887         Do not include <assert.h>; no longer needed.
114888         Include xalloc.h.
114889         (memrchr): Remove decl.
114890         (dir_name_r): Remove.
114891         (dir_len): Renamed from dirlen.  All callers changed.
114892         Rewrite in terms of base_name, for simplicity and consistency.
114893         (dir_name): Never return NULL.  All callers changed.
114894         Do not include <stdlib.h> in test program; no longer needed.
114895         return 0; is fine for test program.
114897         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
114898         New macros.
114899         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
114901         * lib/path-concat.c (path_concat): Use base_len to compute
114902         base length, not strlen; this means we cannot rely on memcpy
114903         to null-terminate.
114905         * lib/same.c (STREQ): Remove.
114906         (same_name): Handle the case where the basename ends in trailing '/'.
114908         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
114909         a slash was stripped.  Do not strip the last slash after a
114910         file system prefix.
114912 2001-05-11  Paul Eggert  <eggert@twinsun.com>
114914         * lib/Makefile.am (libfetish_a_SOURCES):
114915         Add strftime.c, since we now compile it on all hosts.
114917         * lib/strftime.c (my_strftime):
114918         Define to nstrftime if emacs, but only if my_strftime is not defined.
114919         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
114920         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
114921         Add one more extra argument: a nanoseconds value.
114922         All uses changed.
114923         (ns): New macro.
114924         (my_strftime function): Add %N format.
114925         (emacs_strftimeu): Renamed from emacs_strftime,
114926         with extra ut argument.
114928 2001-05-09  Paul Eggert  <eggert@twinsun.com>
114930         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
114932 2001-04-21  Jim Meyering  <meyering@lucent.com>
114934         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
114935         doesn't interfere.
114937 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
114939         * m4/ftruncate.m4: Check for chsize.
114940         Link with ftruncate.o unconditionally if ftruncate is missing.
114941         This was required when cross-compiling to i586-mingw32msvc.
114943 2001-04-08  Jim Meyering  <meyering@lucent.com>
114945         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
114946         recomputed; that's necessary when the offset spans a DST transition.
114947         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
114949 2001-04-02  Jim Meyering  <meyering@lucent.com>
114951         * lib/regex.h, regex.c: Update from GNU libc.
114953 2001-03-24  Jim Meyering  <meyering@lucent.com>
114955         * m4/jm-macros.m4: Require autoconf-2.49d.
114957 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
114959         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
114961 2001-03-19  Paul Eggert  <eggert@twinsun.com>
114963         * lib/version-etc.c (version_etc_copyright): Update to 2001.
114965 2001-03-17  Jim Meyering  <meyering@lucent.com>
114967         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
114968         now that the version in autoconf is equivalent.
114969         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
114971         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
114972         Suggestion from Akim Demaille.
114974         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
114975         (jm_PREREQ_TEMPNAME): New function.
114977 2001-03-16  Paul Eggert  <eggert@twinsun.com>
114979         * lib/tempname.c (uint64_t): Define to uintmax_t if
114980         not defined, and if UINT64_MAX is not defined.
114981         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
114982         Reported by John David Anglin.
114984 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
114986         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
114987         resolve alias if codeset is empty.
114988         * lib/config.charset (BeOS): Use wildcard syntax.
114990 2001-03-13  Jim Meyering  <meyering@lucent.com>
114992         * lib/path-concat.c (path_concat)
114993         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
114994         concatenating e.g., `C:' and `foo'.
114995         From Bruno Haible.
114997 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
114999         * lib/localcharset.c (locale_charset): Don't use
115000         setlocale(LC_CTYPE,NULL). Don't return NULL.
115001         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
115003 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
115005         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
115006         support for DOS/DJGPP.
115008 2001-03-01  Paul Eggert  <eggert@twinsun.com>
115010         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
115011         lacks mkstemp.  Compile our own tempname.c if we compile our own
115012         mkstemp.c, as mkstemp relies on tempname.
115014 2001-03-01  Jim Meyering  <meyering@lucent.com>
115016         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
115017         AH_VERBATIM really does output its argument verbatim.
115019 2001-02-28  Paul Eggert  <eggert@twinsun.com>
115021         * lib/Makefile.am (libfetish_a_SOURCES):
115022         Add dup-safer.c, fopen-safer.c.
115023         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
115025         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
115026         * lib/unistd-safer.h: New files.
115028 2001-02-25  Paul Eggert  <eggert@twinsun.com>
115030         The mkstemp replacement is taken from glibc 2.2.2, with some
115031         portability fixes for use outside glibc, as follows:
115033         * lib/tempname.c (struct_stat64): New macro.
115034         (direxists, __gen_tempname): Use it.
115035         This avoids a portability problem with Solaris 8.
115037         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
115038         (<stddef.h>, <stdint.h>, <string.h>):
115039         Include only if STDC_HEADERS || _LIBC.
115040         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
115041         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
115042         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
115043         (__set_errno): Define this macro if <errno.h> doesn't.
115044         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
115045         Define these macros if <stdio.h> doesn't.
115046         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
115047         Define these macros if <sys/stat.h>
115048         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
115049         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
115050         __xstat64): Define if not _LIBC.
115051         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
115052         (__gen_tempname): Invoke gettimeofday only if
115053         HAVE_GETTIMEOFDAY || _LIBC;
115054         otherwise, fall back on plain "time".
115055         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
115057         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
115059         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
115061 2001-02-18  Paul Eggert  <eggert@twinsun.com>
115063         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
115065 2001-02-17  Paul Eggert  <eggert@twinsun.com>
115067         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
115068         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
115069         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
115070         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
115072 2001-02-17  Paul Eggert  <eggert@twinsun.com>
115074         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
115075         Remove workaround macros for hosts that have mbrtowc but not
115076         mbstate_t, as we now insist on proper declarations for both
115077         before using mbrtowc.
115079 2001-02-17  Jim Meyering  <meyering@lucent.com>
115081         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
115082         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
115083         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
115084         UnixWare 7.1.1.
115086         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
115087         rather than AC_CACHE_VAL.
115089 2001-02-17  Jim Meyering  <meyering@lucent.com>
115091         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
115092         around included file name.
115094         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
115096         * lib/strftime.c: Update from GNU libc (the only changes were to
115097         comments).
115099 2001-02-17  Jim Meyering  <meyering@lucent.com>
115101         * lib/regex.c: Update from libc.
115103 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
115105         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
115106         clash.
115108 2001-02-16  Paul Eggert  <eggert@twinsun.com>
115110         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
115111         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
115112         Reported by Mark Hounschell via Paul Eggert.
115114 2001-02-07  Jim Meyering  <meyering@lucent.com>
115116         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
115118 2001-02-05  Jim Meyering  <meyering@lucent.com>
115120         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
115121         it includes the patch required for `large file' support with at least
115122         HP-UX's 10.20 /bin/cc.
115124 2001-02-03  Jim Meyering  <meyering@lucent.com>
115126         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
115127         AS_IF, now that it works once again (mysteriously).
115128         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
115130 2001-01-30  Jim Meyering  <meyering@lucent.com>
115132         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
115133         * m4/chown.m4: Rename conftestchown to conftest.chown.
115134         * m4/rename.m4: s/conftestdir/conftest.d1/ and
115135         s/conftestdir2/conftest.d2/.
115136         * m4/utimes.m4: s/conftestdata/conftest.data/
115137         Inspired by Pavel Roskin's change in autoconf.
115139 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
115141         * lib/config.charset: Update for FreeBSD 4.2.
115143 2001-01-27  Jim Meyering  <meyering@lucent.com>
115145         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
115146         a use of AS_IF.
115147         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
115149 2001-01-26  Jim Meyering  <meyering@lucent.com>
115151         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
115152         quotearg.c includes it.
115154 2001-01-26  Jim Meyering  <meyering@lucent.com>
115156         * lib/quotearg.c: Include stddef.h.
115157         * lib/quote.c: Include stddef.h.
115158         Reported by Axel Kittenberger.
115160         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
115161         line in double quotes so that it evokes a better diagnostic.
115162         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
115163         Reported by Axel Kittenberger.
115165 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
115167         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
115168         as if it was a `charset'.
115170 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
115172         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
115173         has const.
115175 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
115177         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
115178         to avoid a warning.  Add back 'const' to inptr.
115180 2001-01-20  Jim Meyering  <meyering@lucent.com>
115182         Be sure that headers are checked before used in code compiled
115183         for the type checks.
115184         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
115185         In place of that, invoke jm_CHECK_ALL_TYPES.
115186         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
115187         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
115188         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
115189         The check for ssize_t was mistakenly run before the test for unistd.h.
115191         The configure-time check for stdbool.h was missing.
115192         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
115193         (jm_PREREQ_HASH): New function.
115195 2001-01-17  Jim Meyering  <meyering@lucent.com>
115197         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
115198         for autoconf-2.49c.
115199         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
115201 2001-01-16  Jim Meyering  <meyering@lucent.com>
115203         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
115204         From Bruno Haible.
115206 2001-01-14  Jim Meyering  <meyering@lucent.com>
115208         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
115209         foo and bar.  Create conftestdir/ in the script, not in the C code.
115210         Remove directories in the script, not in the C code.
115211         Remove conftestdir{,2} before trying to create the directory.
115212         Make the entire configure script fail if the mkdir fails.
115214 2001-01-14  Jim Meyering  <meyering@lucent.com>
115216         * lib/rename.c: New file.  From Volker Borchert.
115217         Include stdlib.h, string.h or strings.h, and xalloc.h.
115218         Use strip_trailing_slashes rather than open-coding it.
115220 2001-01-03  Paul Eggert  <eggert@twinsun.com>
115222         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
115224 2001-01-03  Jim Meyering  <meyering@lucent.com>
115226         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
115227         of local `inptr' to avoid warning with some system declarations of
115228         iconv.
115230 2001-01-02  Volker Borchert  <bt@teknon.de>
115232         * m4/rename.m4: New file.
115233         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
115235 2001-01-01  Jim Meyering  <meyering@lucent.com>
115237         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
115238         even on systems with utmpx.h.  It's necessary for the declaration of
115239         utmp's ut_user member.  Reported by Andreas Jaeger.
115241         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
115242         available. They are required for the declarations of getgrgid and
115243         getpwuid resp.
115244         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
115245         Reported by Andreas Jaeger.
115247 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
115249         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
115250         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
115251         so `make install' also works in VPATH builds.
115253 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
115255         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
115256         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
115257         can be used in subdirectories.
115259 2000-12-29  Paul Eggert  <eggert@twinsun.com>
115261         * lib/modechange.c: Do not assume that mode_t uses the
115262         traditional octal encoding.  E.g. "chmod 1 FOO" should set
115263         the other-execute bit of FOO even if S_IXOTH != 1.
115265         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
115266         WOTH, XOTH, ALLM): New macros.
115267         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
115268          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
115269         Use them.
115270         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
115271         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
115272         (mode_compile):
115273         No need to use uintmax_t; unsigned long is long enough.
115274         Don't bother to get suffix since we don't use it.
115276 2000-12-26  Jim Meyering  <meyering@lucent.com>
115278         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
115279         better with autoheader.
115281 2000-12-24  Jim Meyering  <meyering@lucent.com>
115283         * lib/hash.c (is_prime): Return explicit boolean values.
115284         (hash_get_first): Return NULL to appease Irix5.6's 89.
115285         Reported by Nelson Beebe.
115287 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
115289         * lib/localcharset.c (locale_charset): Add support for Win32.
115291 2000-12-18  Paul Eggert  <eggert@twinsun.com>
115293         * lib/physmem.h, lib/physmem.c: New files.
115295         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
115296         (noinst_HEADERS): Add physmem.h.
115298         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
115299         't' for compatibility with Solaris 8 sort.
115301 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
115303         * lib/config.charset: Add support for BeOS.
115305 2000-12-17  Jim Meyering  <meyering@lucent.com>
115307         * m4/dos.m4 (jm_AC_DOS): New file and macro.
115308         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
115310 2000-12-16  Jim Meyering  <meyering@lucent.com>
115312         This bug had a serious impact on chown: `chown N:M FILE' (for integer
115313         N and M) would have treated it like `chown N:N FILE'.
115315         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
115317 2000-12-16  Jim Meyering  <meyering@lucent.com>
115319         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
115320         SHELLS_FILE to a file name that's useful on djgpp systems.
115321         Include stdlib.h.
115322         (ADDITIONAL_DEFAULT_SHELLS): Define.
115323         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
115324         Based mostly on a patch from Prashant TR.
115326 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
115328         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
115329         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
115330         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
115332 2000-12-08  Andreas Schwab  <schwab@suse.de>
115334         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
115335         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
115337 2000-12-07  Jim Meyering  <meyering@lucent.com>
115339         * lib/stripslash.c (ISSLASH): Define.
115340         (strip_trailing_slashes): Use ISSLASH rather than comparing against
115341         `/'.
115342         From Prashant TR.
115344         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
115345         (dir_name_r): Declare this function as static.
115346         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
115347         manifest itself on a name containing a mix of slashes and
115348         backslashes.
115349         Make this function work with names starting with a DOS-style
115350         drive letter and colon prefix.
115351         (dir_name): Append `.' if necessary.
115352         Based mostly on patches from Prashant TR and Eli Zaretskii.
115354         * lib/dirname.h (dir_name_r): Remove prototype.
115356 2000-12-06  Paul Eggert  <eggert@twinsun.com>
115358         * m4/off_t-format.m4: Remove this file.
115359         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
115361 2000-12-06  Jim Meyering  <meyering@lucent.com>
115363         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
115364         replacement strtoull, we may well need the replacement strtoul, too.
115365         Check for declarations of strtoul and strtoull.
115366         Check for strtol.  Mainly as a cue to cause automake to include
115367         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
115368         Check for limits.h -- strtol.c needs it.
115370 2000-12-05  Jim Meyering  <meyering@lucent.com>
115372         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
115374 2000-12-04  Jim Meyering  <meyering@lucent.com>
115376         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
115377         Also include memory.h, stdlib.h, unistd.h if appropriate.
115378         Reported by Andreas Jaeger (conflicting declaration of malloc).
115380 2000-12-02  Jim Meyering  <meyering@lucent.com>
115382         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
115383         * m4/jm-macros.m4 (jm_MACROS): require it.
115385 2000-12-02  Jim Meyering  <meyering@lucent.com>
115387         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
115389 2000-12-01  Paul Eggert  <eggert@twinsun.com>
115391         * lib/memrchr.c: Include <config.h> before any system include file.
115393 2000-11-30  Jim Meyering  <meyering@lucent.com>
115395         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
115397 2000-11-30  Jim Meyering  <meyering@lucent.com>
115399         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
115401 2000-11-29  Paul Eggert  <eggert@twinsun.com>
115403         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
115405 2000-11-26  Jim Meyering  <meyering@lucent.com>
115407         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
115409 2000-11-22  Paul Eggert  <eggert@twinsun.com>
115411         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
115412         size of (size_t) -1; it's not portable.
115414 2000-11-17  Jim Meyering  <meyering@lucent.com>
115416         * lib/strstr.c: Update from GNU libc.
115418 2000-11-17  Akim Demaille  <akim@epita.fr>
115420         * lib/obstack.h: Formatting changes.
115421         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
115422         prevent type checking.
115423         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
115424         cast the value to (void *): assigning a `foo *' to a `void *'
115425         variable is valid.
115426         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
115428 2000-11-16  Jim Meyering  <meyering@lucent.com>
115430         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
115432 2000-11-11  Jim Meyering  <meyering@lucent.com>
115434         * lib/error.c: Add a couple #includes, merging from GNU libc version.
115436 2000-11-10  Jim Meyering  <meyering@lucent.com>
115438         * lib/obstack.h: Update from GNU libc.
115439         * lib/obstack.c: Likewise.
115441 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
115443         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
115445 2000-11-06  Paul Eggert  <eggert@twinsun.com>
115447         * lib/getusershell.c (setusershell): Use rewind rather than
115448         fseek/fseeko, to avoid configuration hassles with fseeko.
115449         Don't bother opening SHELLS_FILE if shellstream is NULL;
115450         it's not necessary.
115452 2000-11-05  Jim Meyering  <meyering@lucent.com>
115454         * lib/makepath.h (make_dir): Declare.
115455         * lib/makepath.c (make_dir): Remove `static' attribute.
115456         Tweak a comment.
115458 2000-11-04  Jim Meyering  <meyering@lucent.com>
115460         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
115462 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
115464         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
115465         last one in a bucket, advance to the next bucket.
115467 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
115469         * lib/fnmatch.c: Do not comment out all the code if we are using
115470         the GNU C library, because in some cases we are replacing buggy
115471         code in the GNU C library itself.
115473 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
115475         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
115476         (regex_compile): Catch bogus \(\1\).
115478 2000-10-30  Paul Eggert  <eggert@twinsun.com>
115480         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
115481         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
115482         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
115484 2000-10-30  Paul Eggert  <eggert@twinsun.com>
115486         * lib/error.h, getline.h, modechange.h:
115487         Remove "2000" from Copyright line, as the file hasn't been
115488         changed this year other than in the copyright notice.
115490         * lib/xalloc.h: Add "2000" to Copyright line, as this file
115491         was changed this year.
115493 2000-10-29  Jim Meyering  <meyering@lucent.com>
115495         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
115496         renaming.
115497         * m4/ls-mntd-fs.m4: Likewise
115499 2000-10-29  Jim Meyering  <meyering@lucent.com>
115501         * lib/xstat.in: Fix grammar in comment.
115503 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
115505         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
115506         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
115507         doesn't define __restrict_arr.
115509 2000-10-28  Jim Meyering  <meyering@lucent.com>
115511         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
115512         (jm_PREREQ_MEMCHR): New function.
115514 2000-10-28  Jim Meyering  <meyering@lucent.com>
115516         * lib/memchr.c: Update from libc.
115517         Adjust for portability:
115518         [HAVE_STDLIB_H]: Include stdlib.h.
115519         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
115520         Undef __memchr, too.
115521         [!weak_alias]: Define __memchr to memchr.
115523         * lib/regex.c: Update from libc.
115524         * lib/regex.h: Likewise.
115525         * lib/getopt1.c: Likewise.
115526         * lib/memcmp.c: Likewise.
115528         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
115529         Avoid using fseek, when possible -- it's broken by design.
115530         Patch by Ulrich Drepper.
115532 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
115534         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
115535         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
115536         Giving in to popular pressure to shut up the compiler with casts.
115538 2000-10-26  Jim Meyering  <meyering@lucent.com>
115540         * lib/strftime.c: Update from libc.
115542 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
115544         * regex.c: More `unsigned char' -> `re_char' changes.
115545         Also change several `int' into `re_wchar_t'.
115546         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
115547         (PUSH_FAILURE_POINTER): Don't cast any more.
115548         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
115549         We want GCC to complain, since this piece of code makes
115550         re_match non-reentrant, which *should* be fixed.
115551         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
115552         (EXTEND_BUFFER): Use RETALLOC.
115553         (SET_LIST_BIT): Don't cast.
115554         (re_wchar_t): New type.
115555         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
115556         that those two functions will always properly return.
115557         (IMMEDIATE_QUIT_CHECK): Cast to void.
115558         (analyse_first): Use recursion rather than an explicit stack.
115559         (re_compile_fastmap): Can't fail anymore.
115560         (re_search_2): Don't check re_compile_fastmap for failure.
115561         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
115562         Now also sets the new value (passed in a new argument).
115563         (re_match_2_internal): Use it.
115564         Also, use a new var `reg' of type size_t when looping through regs
115565         rather than reuse the inappropriate `mcnt'.
115567 2000-10-25  Jim Meyering  <meyering@lucent.com>
115569         * lib/obstack.c: Update from libc.
115571 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
115573         * regex.c (regex_compile): Change the way of handling a range from
115574         a char less than 256 to a char not less than 256.
115576 2000-10-24  Andrew Innes  <andrewi@gnu.org>
115578         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
115579         NT-Emacs only.
115580         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
115581         so that re_search functions only quit when callers expect them to.
115583 2000-10-23  Jim Meyering  <meyering@lucent.com>
115585         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
115586         wrong.  That set_locale call must not have any side effects.
115587         From Paul Eggert.
115589 2000-10-22  Jim Meyering  <meyering@lucent.com>
115591         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
115592         [CYCLIC]: Remove now-unused definition.
115594         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
115595         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
115596         Suggestion from Ulrich Drepper.
115598 2000-10-21  Jim Meyering  <meyering@lucent.com>
115600         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
115601         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
115602         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
115604 2000-10-21  Jim Meyering  <meyering@lucent.com>
115606         * lib/dirname.c (memrchr): Declare if necessary.
115607         (dir_name): Remove the restriction that there be no
115608         trailing slashes.  Now, this code skips past them, effectively
115609         ignoring them.
115610         [TEST_DIRNAME] (main): New unit tests.
115612         * lib/memrchr.c: New file from GNU libc.
115613         Undef __memrchr, too.
115614         [!weak_alias]: Define __memrchr to memrchr.
115615         Guard weak_alias use with `#ifdef weak_alias'.
115617 2000-10-21  Jim Meyering  <meyering@lucent.com>
115619         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
115620         (dir_name): Use dir_name_r.
115621         * lib/dirname.h (dir_name_r): Declare it.
115623 2000-10-17  Jim Meyering  <meyering@lucent.com>
115625         * lib/quote.h (PARAMS): Define and use.
115626         Reported by Akim Demaille.
115628         * lib/getopt.c: Update from libc.
115630 2000-10-16  Jim Meyering  <meyering@lucent.com>
115632         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
115633         setlocale.
115634         From Jan Fedak.
115636 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
115638         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
115640 2000-09-25  Jim Meyering  <meyering@lucent.com>
115642         * lib/md5.h (rol): Define (from GnuPG).
115644         * lib/sha.c: Give credit (GnuPG) where due.
115645         (M): Use rol rather than open-coding it.
115646         Add a FIXME comment.
115648 2000-09-21  Jim Meyering  <meyering@lucent.com>
115650         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
115651         Reported by Michael Stone.
115653 2000-09-20  Jim Meyering  <meyering@lucent.com>
115655         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
115656         (noinst_HEADERS): Add sha.h.
115657         Based on code from Scott G. Miller and from GnuPG.
115659 2000-09-18  Jim Meyering  <meyering@lucent.com>
115661         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
115662         LIBS. Otherwise, everyone ends up linking with -lelf for some
115663         configurations.
115664         Reported by Mike Stone.
115666 2000-09-15  Jim Meyering  <meyering@lucent.com>
115668         * lib/regex.c: Update from libc.
115670 2000-09-10  Jim Meyering  <meyering@lucent.com>
115672         * lib/getopt.c (_getopt_internal): Update from glibc.
115674 2000-09-09  Jim Meyering  <meyering@lucent.com>
115676         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
115677         think it should be used as a general replacement for isascii.
115678         * lib/fnmatch.c: Likewise.
115679         * lib/mbswidth.c: Likewise
115680         * lib/regex.c: Likewise.
115682         Don't use atoi.
115683         * lib/userspec.c: Include sys/param.h and limits.h.
115684         Include xstrtol.h.
115685         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
115686         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
115687         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
115688         UID, GID.  Check range.
115690 2000-09-06  Jim Meyering  <meyering@lucent.com>
115692         * lib/getopt.c (_getopt_internal): Update from glibc.
115694 2000-08-30  Jim Meyering  <meyering@lucent.com>
115696         * lib/strftime.c: Merge in changes from GNU libc.
115698 2000-08-26  Jim Meyering  <meyering@lucent.com>
115700         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
115701         * m4/fpending.m4: New file.
115703 2000-08-26  Jim Meyering  <meyering@lucent.com>
115705         * lib/closeout.c: Include "__fpending.h".
115706         (close_stdout_status): Return right away if there's nothing to flush.
115708         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
115709         * lib/__fpending.c: New file.
115710         * lib/__fpending.h: New file.
115712 2000-08-20  Jim Meyering  <meyering@lucent.com>
115714         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
115715         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
115716         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
115718 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
115720         Improve fileutils installation on systems where running
115721         programs (like install) can't be unlinked.
115722         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
115723         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
115725 2000-08-07  Paul Eggert  <eggert@twinsun.com>
115727         Standardize on "memory exhausted" instead of "Memory exhausted"
115728         or "virtual memory exhausted".
115729         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
115730         "virtual memory exhausted".
115731         * lib/same.c (same_name): Invoke xalloc_die instead of printing
115732         our own message.
115733         * lib/userspec.c (parse_user_spec): Likewise.
115734         * lib/bumpalloc.h: comment fix
115735         * lib/same.c, userspec.c: Include xalloc.h.
115737         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
115738         not char *const and pointing to a constant array.
115739         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
115740         (xrealloc): Comment fix.
115742         * lib/userspec.c (parse_user_spec):
115743         Don't translate a message until just before returning,
115744         to avoid unnecessary translation.
115746 2000-08-07  Jim Meyering  <meyering@lucent.com>
115748         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
115749         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
115750         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
115751         getgroups.c, gethostname.c, getopt.h, group-member.c,
115752         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
115753         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
115754         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
115755         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
115756         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
115757         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
115758         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
115759         yesno.c: Back out Copyright date changes for each file with no change
115760         this year.  This eases coordination with other programs using the same
115761         source code modules.  From Paul Eggert.
115763 2000-08-06  Paul Eggert  <eggert@twinsun.com>
115765         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
115766         not char, for compatibility with glibc 2.1.3 strftime.c.
115768 2000-08-03  Greg McGary  <greg@mcgary.org>
115770         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
115771         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
115772         (EXTEND_BUFFER): Use them.
115774 2000-08-01  Jim Meyering  <meyering@lucent.com>
115776         * lib/dirname.c (ISSLASH): Define.
115777         (BACKSLASH_IS_PATH_SEPARATOR): Define.
115778         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
115779         both `\' and `/' may be use as path separators.
115780         Based on a patch from Prashant TR.
115782 2000-07-31  Paul Eggert  <eggert@twinsun.com>
115784         * lib/quotearg.c (quotearg_n_options): Don't make the initial
115785         slot vector a constant, since it might get modified.
115787 2000-07-31  Jim Meyering  <meyering@lucent.com>
115789         * lib/xmalloc.c: Use `virtual memory exhausted', not
115790         `Memory exhausted'.
115791         * lib/obstack.c (print_and_abort): Likewise.
115793 2000-07-30  Paul Eggert  <eggert@twinsun.com>
115795         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
115796         buffer, so that the caller can always quote one small
115797         component of a "memory exhausted" message in slot 0.
115798         From a suggestion by Jim Meyering.
115800 2000-07-30  Jim Meyering  <meyering@lucent.com>
115802         * lib/makepath.c (make_path): Quote the other instance, too.
115804         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
115805         (STATIC_BUF_SIZE): Define.
115806         (quotearg_n_options): Use only statically allocated storage when
115807         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
115808         than STATIC_BUF_SIZE.
115810 2000-07-29  Jim Meyering  <meyering@lucent.com>
115812         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
115813         * lib/dirname.c (dir_name): Likewise.
115815         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
115816         `/'.
115818         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
115819         (dir_name): Assert that there are no trailing slashes.
115821 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
115823         * lib/mbswidth.h (mbswidth): Add a flags argument.
115824         (mbswidth): New declaration.
115825         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
115826         * lib/mbswidth.c (mbswidth): Add a flags argument.
115827         (mbsnwidth): New function.
115829 2000-07-24  Jim Meyering  <meyering@lucent.com>
115831         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
115833 2000-07-23  Paul Eggert  <eggert@twinsun.com>
115835         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
115837 2000-07-23  Paul Eggert  <eggert@twinsun.com>
115839         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
115840         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
115841         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
115842         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
115843         invoke multibyte primitives.
115845 2000-07-23  Paul Eggert  <eggert@twinsun.com>
115847         * lib/quotearg.c:
115848         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
115849         so that mbstate_t is always defined.
115851         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
115852         be 1 in at least one GCC installation, and this configuration
115853         error is likely to be common.  Ignoring MB_LEN_MAX hurts
115854         performance on hosts that have mbrtowc but have only unibyte
115855         locales, but I assume these hosts are rare.
115857 2000-07-23  Paul Eggert  <eggert@twinsun.com>
115859         * lib/mbswidth.c (_XOPEN_SOURCE):
115860         Don't define; this causes problems on Solaris 7.
115861         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
115863 2000-07-23  Jim Meyering  <meyering@lucent.com>
115865         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
115866         too: getgrgid, getpwuid, getuid.
115868 2000-07-23  Jim Meyering  <meyering@lucent.com>
115870         * lib/basename.c (base_name): Add an assertion.
115872 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
115874         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
115875         shadow its mbsinit function.
115877 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
115879         * lib/mbswidth.h: New file.
115880         * lib/mbswidth.c: New file.
115881         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
115882         (noinst_HEADERS): Add mbswidth.h.
115884 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
115886         * lib/config.charset: Add support for FreeBSD. Improve support for
115887         HP-UX and IRIX 6.
115889 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
115891         * m4/mbswidth.m4: New file.
115892         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
115894 2000-07-15  Jim Meyering  <meyering@lucent.com>
115896         * lib/makepath.c: Include quote.h.
115897         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
115898         corresponding argument in a `quote (...)' call.
115899         Give better diagnostics.
115901         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
115902         (noinst_HEADERS): Add quote.h.
115904         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
115905         from tar's src/misc.c.
115906         * lib/quote.h: New file.  Prototypes for same.
115908 2000-07-14  Paul Eggert  <eggert@twinsun.com>
115910         From a suggestion by Bruno Haible.
115911         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
115912         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
115913         to decide whether to define the BeOS workaround macro;
115914         this adjusts to the change to AC_MBSTATE_T.
115916 2000-07-14  Jim Meyering  <meyering@lucent.com>
115918         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
115919         jm_AC_TYPE_UINTMAX_T.
115921 2000-07-13  Paul Eggert  <eggert@twinsun.com>
115923         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
115925         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
115926         quotearg_buffer_restyled): Add support for
115927         clocale_quoting_style.  Undo previous change to
115928         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
115929         and "{RIGHT QUOTATION MARK}" msgids.
115931 2000-07-10  Paul Eggert  <eggert@twinsun.com>
115933         From a suggestion by Bruno Haible.
115934         * m4/mbstate_t.m4 (AC_MBSTATE_T):
115935         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
115936         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
115937         and mbstate_t, to a single-part test that simply defines mbstate_t.
115938         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
115939         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
115941 2000-07-10  Jim Meyering  <meyering@lucent.com>
115943         * m4/strerror_r.m4: Mirror the correction made in autoconf.
115945         * m4/gnu-source.m4: Output to confdefs.h directly.
115946         Suggestion from Akim Demaille.
115948 2000-07-09  Paul Eggert  <eggert@twinsun.com>
115950         The old behavior of quoting `like this' doesn't look good with
115951         newer, ISO-style fonts.  See:
115952         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
115954         Instead, quote "like this" by default.  Let the translator
115955         tailor the locale-specific quoting behavior by providing
115956         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
115958         * lib/quotearg.c (N_): New macro.
115959         (gettext_default): New function.
115960         (quotearg_buffer_restyled): Use
115961         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
115962         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
115964 2000-07-09  Jim Meyering  <meyering@lucent.com>
115966         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
115967         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
115969         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
115970         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
115972 2000-07-09  Jim Meyering  <meyering@lucent.com>
115974         * lib/Most files: Update copyright dates to include 2000.
115976 2000-07-08  Jim Meyering  <meyering@lucent.com>
115978         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
115979         if not defined.
115980         (xgethostname): Remove now-unnecessary #ifdef.
115981         Move declaration of `err' into loop where it's used.
115983 2000-07-05  Paul Eggert  <eggert@twinsun.com>
115984         and Bruno Haible  <haible@clisp.cons.org>
115986         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
115987         only if the test for an object-type mbstate_t fails.  This
115988         prevents us from mistakenly reporting that mbstate_t is a
115989         system object type after we "#define mbstate_t int" to work
115990         around its lack.
115992 2000-07-05  Paul Eggert  <eggert@twinsun.com>
115993         and Bruno Haible  <haible@clisp.cons.org>
115995         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
115997 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
115999         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
116000         to strerror_r.
116001         Include <ctype.h> for use of isalpha.
116003 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
116005         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
116006         by allocating a larger buffer. Test the gethostname return value for
116007         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
116008         returns an error and ENAMETOOLONG isn't defined.
116010 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
116012         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
116013         dimension.
116015 2000-07-04  Jim Meyering  <meyering@lucent.com>
116017         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
116018         of the deprecated AC_CHECKING.
116020 2000-07-04  Jim Meyering  <meyering@lucent.com>
116022         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
116023         Reported by Bruno Haible.
116025 2000-07-04  Jim Meyering  <meyering@lucent.com>
116027         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
116028         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
116029         lacks mbrtowc.
116031 2000-07-03  Paul Eggert  <eggert@twinsun.com>
116033         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
116034         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
116036 2000-07-03  Paul Eggert  <eggert@twinsun.com>
116037         and Bruno Haible  <haible@clisp.cons.org>
116039         * lib/quotearg.c (mbrtowc):
116040         Assign to *pwc, and return 1 only if result is nonzero.
116041         (iswprint): Use ISPRINT when substituting our own mbrtowc.
116043 2000-07-03  Jim Meyering  <meyering@lucent.com>
116045         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
116047 2000-07-03  Jim Meyering  <meyering@lucent.com>
116049         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
116050         This is necessary to get a definition of e.g., UTMP_FILE on
116051         HP-UX 10.20.
116052         From Bob Proulx.
116054 2000-07-02  Jim Meyering  <meyering@lucent.com>
116056         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
116058         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
116059         AC_LIBOBJ(function_name).
116060         * m4/chown.m4: Likewise.
116061         * m4/fnmatch.m4: Likewise.
116062         * m4/ftruncate.m4: Likewise.
116063         * m4/getgroups.m4: Likewise.
116064         * m4/getline.m4: Likewise.
116065         * m4/group-member.m4: Likewise.
116066         * m4/jm-macros.m4: Likewise.
116067         * m4/lstat.m4: Likewise.
116068         * m4/malloc.m4: Likewise.
116069         * m4/memcmp.m4: Likewise.
116070         * m4/nanosleep.m4: Likewise.
116071         * m4/putenv.m4: Likewise.
116072         * m4/realloc.m4: Likewise.
116073         * m4/regex.m4: Likewise.
116074         * m4/stat.m4: Likewise.
116075         * m4/strftime.m4: Likewise.
116077 2000-07-02  Jim Meyering  <meyering@lucent.com>
116079         * lib/quotearg.c (mbstate_t): Don't define here.
116081 2000-07-02  Jim Meyering  <meyering@lucent.com>
116083         * lib/nanosleep.c (SIGCONT): Define if not already defined.
116085 2000-07-01  Jim Meyering  <meyering@lucent.com>
116087         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
116089 2000-07-01  Jim Meyering  <meyering@lucent.com>
116091         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
116092         problem.
116094 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
116096         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
116097         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
116099 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
116101         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
116102         per change in ../m4/ls-mntd-fs.m4.
116103         (read_filesystem_list): Ignore symbolic links.
116105 2000-06-29  Jim Meyering  <meyering@lucent.com>
116107         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
116108         for declaration of strcmp.
116110         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
116112         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
116113         Avoid warning by casting result to `char *' to remove `const'.
116115 2000-06-28  Jim Meyering  <meyering@lucent.com>
116117         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
116118         included by quotearg.c, for which we perform this test.  From
116119         Bruno Haible.
116121 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
116123         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
116124         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
116125         <utmpx.h> exists, put readutmp.o into LIBOBJS.
116127 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
116129         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
116131 2000-06-26  Paul Eggert  <eggert@twinsun.com>
116133         savedir now sets errno on failure and invokes xmalloc to get memory.
116134         Fix a couple of other minor bugs while we're at it.
116136         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
116137         (NAMLEN): Remove macro.
116138         (malloc, realloc): Remove decls.
116139         (stpcpy): Likewise.
116140         ("xalloc.h"): Include.
116141         (NAME_SIZE_DEFAULT): New macro.
116142         (savedir): Use xmalloc / xrealloc to allocate memory.
116143         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
116144         Skip "" directory entries.
116145         Use strlen to calculate directory entry length, since the old method
116146         is rarely used these days and isn't worth supporting.
116147         Don't use a pointer after freeing it.
116148         Check for integer overflow when calculating allocation size.
116149         Use memcpy to copy entries, instead of stpcpy.
116150         Set errno properly when returning NULL.
116151         Check for readdir error.
116153 2000-06-26  Jim Meyering  <meyering@lucent.com>
116155         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
116157 2000-06-25  Jim Meyering  <meyering@lucent.com>
116159         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
116160         Linux header bug when _XOPEN_SOURCE is defined to 500.
116162 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
116164         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
116165         deficiency.
116167 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
116169         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
116170         Include xalloc.h.
116171         Don't include <stdlib.h>.  Don't declare malloc, realloc.
116173 2000-06-24  Jim Meyering  <meyering@lucent.com>
116175         * m4/strerror_r.m4: Revive this file -- to try out an experimental
116176         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
116177         for which strerror does return char*, but which lacks a conveniently
116178         accessible declaration of the function.  If the compile-test says
116179         strerror_r doesn't work, then resort to a `run'-test that works on
116180         BeOS and segfaults on DEC Unix.
116182 2000-06-24  Jim Meyering  <meyering@lucent.com>
116184         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
116186 2000-06-23  Paul Eggert  <eggert@twinsun.com>
116188         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
116189         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
116191 2000-06-23  Paul Eggert  <eggert@twinsun.com>
116193         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
116194         (mbrtowc, mbstate_t): Define substitutes if
116195         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
116196         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
116197         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
116199 2000-06-23  Jim Meyering  <meyering@lucent.com>
116201         * m4/afs.m4: Add missing AC_MSG_RESULT.
116202         Reported by Bruno Haible.
116204         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
116205         Suggestion from Bruno Haible.
116207 2000-06-23  Jim Meyering  <meyering@lucent.com>
116209         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
116211 2000-06-21  Jim Meyering  <meyering@lucent.com>
116213         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
116215 2000-06-21  Jim Meyering  <meyering@lucent.com>
116217         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
116218         (noinst_HEADERS): Add getstr.h.
116220         * lib/getline.c (getstr): Move into a separate file.
116221         * lib/getstr.c (getstr): New file, extracted from getline.c, with
116222         the following changes: new parameter, delim2; both delim[12]
116223         parameters have type `int', not `char'.  The latter would lose
116224         with 8-bit delimiters.
116225         * lib/getstr.h: New file.
116227 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
116229         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
116230         than 1024, return a memory chunk of least possible size, instead
116231         of size PATH_MAX + 2. In the loop, increment the size proportionally.
116232         Use free/xmalloc instead of xrealloc to avoid copying for very long
116233         paths.
116235 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
116237         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
116238         the empty string.
116240 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
116242         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
116243         address, not strdup.  Include <stdlib.h> and don't declare free().
116245 2000-06-19  Jim Meyering  <meyering@lucent.com>
116247         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
116249 2000-06-18  Jim Meyering  <meyering@lucent.com>
116251         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
116253         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
116254         `checking whether...' message to be consistent with that of the
116255         lstat test.
116257 2000-06-18  Jim Meyering  <meyering@lucent.com>
116259         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
116260         Besides, these days every porting target provides a mkdir function.
116262         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
116263         needed. (this snippet comes from src/system.h).
116265 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
116267         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
116269 2000-06-15  Paul Eggert  <eggert@twinsun.com>
116271         * lib/human.c (adjust_value): New function.
116272         (human_readable_inexact): Apply rounding style even when
116273         printing approximate values.
116275 2000-06-14  Paul Eggert  <eggert@twinsun.com>
116277         * lib/human.c (human_readable_inexact): Allow an input block
116278         size that is not a multiple of the output block size, and vice versa.
116279         Reported by Piergiorgio Sartor.
116281 2000-06-14  Paul Eggert  <eggert@twinsun.com>
116283         * lib/getdate.y (get_date): Apply relative times after time
116284         zone indicator, not before.  Reported by Todd A. Jacobs.
116286 2000-06-13  Jim Meyering  <meyering@lucent.com>
116288         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
116290         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
116292 2000-06-12  Paul Eggert  <eggert@twinsun.com>
116294         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
116296 2000-06-12  Jim Meyering  <meyering@lucent.com>
116298         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
116299         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
116300         optional argument.
116301         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
116302         the optional argument, `lib'.
116304 2000-06-08  Jim Meyering  <meyering@lucent.com>
116306         * m4/largefile.m4: Remove file (now that it's part of autoconf).
116308 2000-06-04  Paul Eggert  <eggert@twinsun.com>
116310         Rewrite largefile configuration so that we don't need to run
116311         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
116312         AC_CANONICAL_HOST in configure.in -- jmm]
116314         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
116315         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
116316         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
116317         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
116318         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
116319         All uses changed.
116320         Instead of inspecting the output of getconf, try to compile the
116321         test program without and with the macro definition.
116322         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
116323         for getconf.  Instead, check for the needed flags by compiling
116324         test programs.
116326 2000-06-04  Paul Eggert  <eggert@twinsun.com>
116328         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
116330 2000-06-04  Jim Meyering  <meyering@lucent.com>
116332         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
116333         SunOS 4.1.4 for which gid_t is an unsigned type.
116335 2000-06-03  Jim Meyering  <meyering@lucent.com>
116337         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
116338         now that autoconf requires that.
116340         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
116341         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
116342         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
116344 2000-06-03  Jim Meyering  <meyering@lucent.com>
116346         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
116348 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
116350         * m4/glibc21.m4: New file.
116351         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
116353 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
116355         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
116356         newer, don't install charset.alias.
116357         * lib/config.charset: Change the Linux/glibc rules so they become empty
116358         on glibc-2.1 or newer.
116360 2000-06-02  Jim Meyering  <meyering@lucent.com>
116362         * lib/mountlist.c: Back out last change.  Instead, do this...
116363         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
116364         me_dummy member using the same `ignore'-testing code.
116365         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
116366         fs_type strings.
116367         From Mark D. Roth.
116369 2000-05-29  Jim Meyering  <meyering@lucent.com>
116371         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
116372         mounts with the `ignore' attribute.  Based on a patch from
116373         Mark D. Roth.
116375 2000-05-28  Jim Meyering  <meyering@lucent.com>
116377         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
116378         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
116379         * m4/stat.m4: Likewise.
116380         * m4/lstat.m4: Likewise.
116381         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
116383         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
116384         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
116386 2000-05-26  Jim Meyering  <meyering@lucent.com>
116388         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
116390 2000-05-24  Jim Meyering  <meyering@lucent.com>
116392         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
116393         autoconf requires that.
116394         * m4/lib-check.m4: Likewise.
116395         * m4/jm-macros.m4: Likewise.
116396         * m4/strftime.m4: Likewise.
116398         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
116399         AC_CHECK_DECLS, now that autoconf requires that.
116401 2000-05-22  Jim Meyering  <meyering@lucent.com>
116403         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
116404         * m4/lstat.m4: Likewise.
116406 2000-05-22  Jim Meyering  <meyering@lucent.com>
116408         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
116410 2000-05-20  Jim Meyering  <meyering@lucent.com>
116412         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
116413         (jm_PREREQ): Use it.
116415 2000-05-18  Jim Meyering  <meyering@lucent.com>
116417         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
116418         back, too, since it may have been modified by allocate_entry.
116419         (hash_delete): Rewrite to use neither the assignment operator
116420         nor the comma operator in an if-expression.
116422 2000-05-15  Paul Eggert  <eggert@twinsun.com>
116424         * lib/closeout.c:
116425         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
116426         Remove; no longer needed.
116427         "quotearg.h": Add include.
116428         (file_name): Do not bother to explicitly initialize to NULL; it's less
116429         efficient on some hosts.
116430         (close_stdout_status): Remove test as to whether stdout was already
116431         closed; it breaks for the case "echo x | sort >&-".
116432         Quote file name colons.
116433         Do not assume that _("write error") lacks format strings.
116435 2000-05-15  Jim Meyering  <meyering@lucent.com>
116437         * lib/version-etc.c (version_etc_copyright): Update the copyright
116438         string used in all --version output.
116440 2000-05-14  Jim Meyering  <meyering@lucent.com>
116442         * lib/closeout.c (close_stdout_set_file_name): New function.
116443         (close_stdout_status): Use new file-scoped global.
116444         Return right away if fstat says the stdout file descriptor is invalid.
116445         * lib/closeout.h (close_stdout_set_file_name): Declare.
116447 2000-05-10  Jim Meyering  <meyering@lucent.com>
116449         * lib/closeout.c [default_exit_status]: New file-scoped variable.
116450         (close_stdout_set_status): New function.
116451         * lib/closeout.h (close_stdout_set_status): Declare.
116453 2000-05-09  Jim Meyering  <meyering@lucent.com>
116455         * m4/gettext.m4: Rename this...
116456         * m4/libintl.m4: ...to this.
116458 2000-05-08  Jim Meyering  <meyering@lucent.com>
116460         * lib/long-options.c: Don't include closeout.h.
116461         (parse_long_options): Don't call close_stdout for --version.
116463 2000-05-06  Paul Eggert  <eggert@twinsun.com>
116465         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
116466         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
116467         2.1.3 bug.  This avoids a clash when files like regex.c define
116468         _GNU_SOURCE.
116470 2000-05-06  Jim Meyering  <meyering@lucent.com>
116472         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
116473         (AC_REPLACE_FUNCS): Add strnlen.
116475         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
116476         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
116478         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
116479         AC_SEARCH_LIBS call for nanosleep.
116480         (LIB_NANOSLEEP): Set and AC_SUBST.
116482 2000-05-06  Jim Meyering  <meyering@lucent.com>
116484         * lib/strnlen.c: Undefine __strnlen and strnlen.
116485         [!weak_alias]: Define __strnlen to strnlen.
116487         * lib/atexit.c: New file, from libiberty.
116489 2000-05-06  Jim Meyering  <meyering@lucent.com>
116491         * lib/closeout.c (close_stdout_status): Also check for errors on the
116492         stderr stream.
116494 2000-05-05  Jim Meyering  <meyering@lucent.com>
116496         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
116497         AC_SEARCH_LIBS call for clock_gettime.
116498         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
116500         * m4/search-libs.m4: Update from autoconf.
116502         su doesn't work on Solaris 2.6.
116503         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
116504         <shadow.h>.  Reported by Dragos Harabor.
116506 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
116508         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
116509         memcpy instead of xmalloc, xrealloc, path_concat.
116510         (locale_charset): Treat empty environment variables as absent.
116511         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
116513 2000-05-04  Jim Meyering  <meyering@lucent.com>
116515         * lib/getopt.c: Update from glibc.
116516         * lib/obstack.c: Likewise.
116517         * lib/obstack.h: Likewise.
116518         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
116519         file
116521         * lib/regex.h: Likewise.
116522         * lib/strndup.c: Likewise.
116523         * lib/strnlen.c: New file, from glibc.
116525 2000-05-03  Jim Meyering  <meyering@lucent.com>
116527         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
116529 2000-05-02  Paul Eggert  <eggert@twinsun.com>
116531         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
116532         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
116533         compile-time test, rather than inspecting host and OS, to
116534         decide whether to define _LARGEFILE_SOURCE.
116536 2000-05-01  Jim Meyering  <meyering@lucent.com>
116538         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
116540         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
116541         Based on a patch from Bruno Haible.
116543 2000-05-01  Jim Meyering  <meyering@lucent.com>
116545         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
116547 2000-04-29  Jim Meyering  <meyering@lucent.com>
116549         * lib/path-concat.c: Declare strdup only if it's not defined.
116550         * lib/canon-host.c: Likewise.
116552 2000-04-28  Jim Meyering  <meyering@lucent.com>
116554         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
116555         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
116556         is included first, then limits.h is included by locale.h by libintl.h.
116557         From John David Anglin.
116559 2000-04-25  Jim Meyering  <meyering@lucent.com>
116561         * lib/makepath.c (S_IRWXUGO): Define.
116562         (make_path): Always perform explicit chmod if MODE specifies any
116563         of the `special' permission bits.  Prompted by a bug report against
116564         install from Mate Wierdl and Joost van Baal.
116566 2000-04-18  Jim Meyering  <meyering@lucent.com>
116568         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
116569         (jm_PREREQ): Use it.
116571 2000-04-18  Jim Meyering  <meyering@lucent.com>
116573         * lib/README: New file.
116575         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
116576         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
116578 2000-04-17  Jim Meyering  <meyering@lucent.com>
116580         Get it right :-)
116581         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
116582         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
116583         Suggestion from Akim Demaille.
116585 2000-04-17  Jim Meyering  <meyering@lucent.com>
116587         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
116588         the definition of it to rpl_strftime also defined-away the system's
116589         declaration.
116591 2000-04-15  Jim Meyering  <meyering@lucent.com>
116593         Use `C' to denote so-called `contiguous' files, the same way
116594         that tar does.
116595         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
116596         (ftypelet): Use S_ISCTG.
116597         From Michael Deutschmann.
116599 2000-04-14  Jim Meyering  <meyering@lucent.com>
116601         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
116602         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
116603         clobbered.
116605 2000-04-14  Jim Meyering  <meyering@lucent.com>
116607         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
116609 2000-04-13  Jim Meyering  <meyering@lucent.com>
116611         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
116612         AH_VERBATIM to insert required #ifndef into config.h.in.
116613         Suggestion from Akim Demaille.
116615 2000-04-12  Jim Meyering  <meyering@lucent.com>
116617         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
116618         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
116619         Christian Krackowizer.
116621         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
116622         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
116623         (AC_SYS_LARGEFILE): Require.
116624         (AM_C_PROTOTYPES): Require.
116626 2000-04-08  Jim Meyering  <meyering@lucent.com>
116628         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
116629         names don't conflict.  Reported by Eli Zaretskii.
116631 2000-04-07  Jim Meyering  <meyering@lucent.com>
116633         * lib/putenv.c: Move inclusion of errno.h so it follows that of
116634         sys/types.h, to work around system header problems on AIX 3.2.5.
116635         From Bruno Haible.
116637 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
116639         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
116640         bug.  Deal with the different error behavior of Irix iconv.
116642 2000-04-05  Paul Eggert  <eggert@twinsun.com>
116644         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
116645         IRIX if the installer said otherwise.
116647 2000-04-05  Jim Meyering  <meyering@lucent.com>
116649         Portability tweaks required for ultrix4.3.
116650         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
116651         (jm_CHECK_DECLS): Add getutent to the list of functions.
116652         (_jm_DECL_HEADERS): Add utmpx.h.
116653         From John David Anglin.
116655         * m4/strftime.m4: Back out the 2000-04-02 change.
116656         Instead of that change, simply undefine putenv in the test program.
116658 2000-04-05  Jim Meyering  <meyering@lucent.com>
116660         Portability tweaks required for ultrix4.3.
116661         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
116662         getutent.
116663         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
116664         * lib/canon-host.c: Declare strdup.
116665         * lib/path-concat.c: Likewise.
116666         From John David Anglin.
116668 2000-04-04  Jim Meyering  <meyering@lucent.com>
116670         Be more DOS 8.3-friendly.
116671         * lib/ref-add.sin: Renamed from ref-add.sed.in.
116672         * lib/ref-del.sin: Renamed from ref-del.sed.in.
116673         * lib/Makefile.am: Reflect renaming.
116674         Reported by Eli Zaretskii.
116676         Use a temporary file name that won't clash with `charset.alias'
116677         in the DOS 8.3 name space.
116678         * lib/Makefile.am (charset_tmp): Define.
116679         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
116680         (uninstall-local): Likewise.
116681         Reported by Eli Zaretskii.
116683 2000-04-03  Jim Meyering  <meyering@lucent.com>
116685         * m4/gettext.m4: Fix typo in comment.
116687         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
116688         textutils/configure.in).  Suggestion from Paul Eggert.
116689         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
116691 2000-04-02  Paul Eggert  <eggert@twinsun.com>
116693         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
116694         variable in the shell rather than using putenv, which isn't
116695         portable.  This avoids the configure-time inter-test dependency
116696         on the potentially-renamed putenv function.
116698 2000-03-30  Paul Eggert  <eggert@twinsun.com>
116700         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
116701         before checking struct stat.st_blksize, so that
116702         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
116704 2000-03-29  Paul Eggert  <eggert@twinsun.com>
116706         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
116707         since strftime.c uses HAVE_STRFTIME to decide whether to use
116708         the underlying strftime.
116710 2000-03-29  Paul Eggert  <eggert@twinsun.com>
116712         * lib/time/strftime.c (my_strftime): Make sure we call the system
116713         strftime, not ourselves, when invoking the underlying strftime.
116715 2000-03-24  Jim Meyering  <meyering@lucent.com>
116717         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
116718         (charset_alias): Define.
116719         (install-exec-local): Factor out common code.
116720         (uninstall-local): Split lines longer than 80.
116721         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
116722         (SUFFIXES): Define.
116723         (.sed.in.sed): New rule.  Don't redirect directly to $@.
116724         (CLEANFILES): Add ref-add.sed and ref-del.sed.
116726 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
116728         * lib/config.charset: Output a line containing "Packages using this
116729         file".
116730         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
116731         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
116732         ref-del.sed): New rules.
116734 2000-03-17  Jim Meyering  <meyering@lucent.com>
116736         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
116737         Otherwise, include <strings.h>
116739 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
116741         * lib/unicodeio.c (utf8_wctomb): New function.
116742         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
116743         format instead of in UCS-4 with platform dependent endianness.
116745 2000-03-10  Jim Meyering  <meyering@lucent.com>
116747         * m4/lib-check.m4: Look for getspnam in -lgen, too.
116748         From Marco Franzen.
116750 2000-03-07  Paul Eggert  <eggert@twinsun.com>
116752         * lib/savedir.c (savedir): Work even if directory size is
116753         negative; this can happen with some screwy NFS configurations.
116755 2000-03-06  Jim Meyering  <meyering@lucent.com>
116757         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
116758         if it's NULL (because we ran out of memory).  From Bruno Haible.
116760 2000-03-05  Jim Meyering  <meyering@lucent.com>
116762         * lib/localcharset.c ("path-concat.h"): Include.
116763         (get_charset_aliases): Use path_concat instead of ANSI string
116764         concatenation.
116766         * lib/unicodeio.h (PARAMS): Define.
116767         Use it to guard prototype.
116769 2000-03-04  Jim Meyering  <meyering@lucent.com>
116771         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
116772         for lib/localcharset.c.
116774 2000-03-04  Jim Meyering  <meyering@lucent.com>
116776         * lib/Makefile.am (install-exec-local): Create $(libdir) before
116777         installing into it.
116778         (uninstall-local): Uncomment this rule so `make distcheck' works
116779         once again.
116781         * lib/unicodeio.c (<errno.h>): Include it.
116782         (errno): Declare if not defined.
116784         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
116786         * lib/config.charset: New version, incorporating remarks from a linux
116787         i18n mailing list.  From Bruno Haible.
116789 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
116791         * m4/codeset.m4: New file.
116792         * m4/iconv.m4: New file.
116793         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
116795 2000-03-03  Jim Meyering  <meyering@lucent.com>
116797         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
116799 2000-03-02  Jim Meyering  <meyering@lucent.com>
116801         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
116802         the messages come out on separate lines.
116804         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
116805         rather than jm_CHECK_DECLARATIONS.
116806         * m4/decl.m4: Remove now-unused file.
116808         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
116809         geteuid.
116811 2000-03-02  Jim Meyering  <meyering@lucent.com>
116813         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
116815 2000-03-01  Jim Meyering  <meyering@lucent.com>
116817         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
116818         * lib/unicodeio.c: Likewise.
116820 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
116822         * lib/config.charset: New file.
116823         * lib/localcharset.c: New file.
116824         * lib/unicodeio.h, lib/unicodeio.c: New files.
116825         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
116826         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
116827         (noinst_HEADERS): Add unicodeio.h.
116828         (all-local, install-exec-local, charset.alias): New targets.
116830 2000-02-28  Paul Eggert  <eggert@twinsun.com>
116832         * lib/quotearg.c (ALERT_CHAR): New macro.
116833         (quotearg_buffer_restyled): Use it.
116835 2000-02-27  Jim Meyering  <meyering@lucent.com>
116837         * m4/check-decl.m4: Add getenv to the list.
116839 2000-02-27  Jim Meyering  <meyering@lucent.com>
116841         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
116842         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
116844         * lib/backupfile.c: Guard inclusion of stdlib.h with
116845         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
116846         Declare malloc if needed.
116848         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
116849         `#ifndef HAVE_DECL..'
116850         now that autoconf always defines the HAVE_DECL_ symbols.
116851         * lib/human.c: Likewise.
116852         * lib/same.c: Likewise.
116853         * lib/strtoumax.c: Likewise.
116855         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
116856         declaration check was not run.
116857         * lib/hash.c: Likewise.
116858         * lib/human.c: Likewise.
116859         * lib/same.c: Likewise.
116860         * lib/strtoumax.c: Likewise.
116862         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
116863         `.', then first look up the entire `.'-containing string as a login
116864         name.
116866 2000-02-23  Jim Meyering  <meyering@lucent.com>
116868         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
116869         in place of my hack.
116871 2000-02-18  Paul Eggert  <eggert@twinsun.com>
116873         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
116874         (textint): New typedef.
116875         (parser_control): Member year changed from int to textint.
116876         All uses changed.
116877         (YYSTYPE): Removed; replaced by %union with int and textint members.
116878         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
116879         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
116880         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
116881         (tSNUMBER, tUNUMBER): Now of type <textintval>.
116882         (date, number, to_year): Use width of number in digits, not its value,
116883         to determine whether it's a 2-digit year, or a 2-digit time.
116884         (yylex): Store number of digits of numeric tokens.
116885         Reported by John Kendall.
116887         (parser_control): Changed from struct parser_control to typedef (for
116888         consistency).  All uses changed.
116890         (tID): Removed; not used.
116891         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
116893 2000-02-14  Paul Eggert  <eggert@twinsun.com>
116895         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
116896         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
116898 2000-02-12  Jim Meyering  <meyering@lucent.com>
116900         * lib/userspec.c (ISDIGIT): Define it.
116901         (isdigit): Remove definition.
116902         (is_number): Use ISDIGIT, not isdigit.
116903         <libintl.h>: Include.
116904         (_ and N_): Define.
116905         (parse_user_spec): Mark translatable strings.
116907 2000-02-10  Jim Meyering  <meyering@lucent.com>
116909         With these changes, nanosleep.[ch] are finally enough like the other
116910         lib/* replacement files to compile on a few more losing systems.
116912         * lib/nanosleep.h: Don't include config.h.
116913         Remove prototype from declaration of nanosleep.
116914         (PARAMS): Remove now-unneeded definition.
116915         * lib/nanosleep.c: #undef nanosleep.
116916         (rpl_nanosleep): Rename from nanosleep.
116918 2000-02-10  Jim Meyering  <meyering@lucent.com>
116920         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
116921         gnu_nanosleep to rpl_nanosleep.
116923 2000-02-09  Jim Meyering  <meyering@lucent.com>
116925         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
116926         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
116928 2000-02-08  Akim Demaille  <akim@epita.fr>
116930         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
116931         `[' and `]' and remove uses of `changequote'.
116932         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
116933         (AC_SYS_LARGEFILE): Likewise.
116934         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
116935         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
116936         of changequote.
116937         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
116938         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
116939         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
116940         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
116942 2000-02-05  Jim Meyering  <meyering@lucent.com>
116944         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
116945         Remove explicit use of AC_HEADER_TIME.  It is required by
116946         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
116947         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
116948         in autoconf whereby the expansion of the latter ended up preceding
116949         the expansion of its prerequisite, AC_HEADER_TIME.
116950         Reported by Volker Borchert.
116952 2000-02-03  Jim Meyering  <meyering@lucent.com>
116954         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
116956 2000-02-03  Jim Meyering  <meyering@lucent.com>
116958         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
116959         rather than with `#if HAVE_UTMPNAME'.
116961 2000-02-02  Jim Meyering  <meyering@lucent.com>
116963         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
116964         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
116965         Reported by Eli Zaretskii.
116967 2000-02-01  Jim Meyering  <meyering@lucent.com>
116969         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
116971 2000-01-31  Jim Meyering  <meyering@lucent.com>
116973         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
116974         functions.  Add the time.h and sys/time.h headers along with the
116975         AC_REQUIRE'ment of AC_HEADER_TIME.
116977 2000-01-31  Jim Meyering  <meyering@lucent.com>
116979         * lib/nanosleep.h (nanosleep): Guard declaration with
116980         `#if ! HAVE_DECL_NANOSLEEP'.
116981         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
116982         the declaration in that vendor's sys/timers.h.
116983         Reported by Christian Krackowizer.
116985         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
116986         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
116987         (ISPRINT): Likewise.
116988         Reported by Tom Tromey.
116990 2000-01-30  Jim Meyering  <meyering@lucent.com>
116992         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
116994         * m4/prereq.m4 (utmp_includes): Define.
116995         Check for ut_user and ut_name members in both struct utmpx
116996         and struct utmp.
116998 2000-01-30  Jim Meyering  <meyering@lucent.com>
117000         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
117001         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
117002         header files where only utmpx.ut_user is declared.
117004         * lib/readutmp.h (UT_USER): Define.
117006 2000-01-29  Jim Meyering  <meyering@lucent.com>
117008         * m4/lib-check.m4: New file containing library-related checks from
117009         fileutils and sh-utils (textutils had none).
117011 2000-01-28  Jim Meyering  <meyering@lucent.com>
117013         * m4/perl.m4: Change format of warning message to look more like that
117014         from the missing script.  Suggestion from François Pinard.
117016 2000-01-25  Jim Meyering  <meyering@lucent.com>
117018         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
117019         well as time.h in the compile check.
117020         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
117021         Fix typo in cross-compiling case: s/yes/no/.
117023 2000-01-23  Jim Meyering  <meyering@lucent.com>
117025         * m4/jm-macros.m4: Move df-related tests here from
117026         fileutils/configure.in
117028         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
117029         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
117031         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
117032         s/space/ac_fsusage_space/.
117033         (jm_FILE_SYSTEM_USAGE): Take two parameters.
117035         * m4/ftruncate.m4: New file (derived from part of
117036         fileutils/configure.in).
117037         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
117038         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
117040         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
117041         AC_SUBST these here, rather than just in sh-util/configure.in, so
117042         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
117043         all the same.
117044         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
117045         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
117046         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
117047         (AC_SUBST(POW_LIBM)): Likewise.
117048         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
117050 2000-01-23  Jim Meyering  <meyering@lucent.com>
117052         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
117053         obstack.c.
117055 2000-01-22  Jim Meyering  <meyering@lucent.com>
117057         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
117059         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
117061         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
117062         configure.in
117063         (AC_CHECK_HEADERS): Likewise for sh-utils.
117064         (AC_CHECK_HEADERS): Likewise for textutils.
117065         Merge the three lists of headers.
117067         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
117068         from fileutils' configure.in.
117070         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
117071         code. Moved tests into their own function (_jm_DECL_HEADERS) in
117072         check-decl.m4.
117074         * m4/check-decl.m4: Use #if rather than #ifdef.
117075         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
117076         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
117077         (_jm_DECL_HEADERS): Define new function.
117078         (jm_CHECK_DECLARATIONS): Require it.
117080 2000-01-22  Jim Meyering  <meyering@lucent.com>
117082         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
117083         [! HAVE_DECL_STRTOULL]: Declare strtoull.
117084         Required for some AIX systems.  Reported by Christian Krackowizer.
117085         [TESTING] (main): New function.
117087         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
117088         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
117089         letters.
117091         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
117092         iswprint.
117094         * lib/strverscmp.c (ISDIGIT): Define.
117095         (strverscmp): Use ISDIGIT, not isdigit.
117097 2000-01-19  Jim Meyering  <meyering@lucent.com>
117099         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
117100         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
117101         defines `struct timespec' in <sys/time.h>
117103         * m4/c-bs-a.m4: Remove uses of changequote altogether.
117104         Thanks to Akim for explaining.
117106 2000-01-17  Paul Eggert  <eggert@twinsun.com>
117108         * lib/nanosleep.c (nanosleep):
117109         Don't use SA_INTERRUPT to decide whether to call sigaction, as
117110         POSIX.1 doesn't require SA_INTERRUPT and some systems
117111         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
117112         it's been part of POSIX.1 since day 1 (in 1988).
117114 2000-01-17  Jim Meyering  <meyering@lucent.com>
117116         * lib/interlock: Remove unused file.  Reported by François Pinard.
117118 2000-01-16  Paul Eggert  <eggert@twinsun.com>
117120         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
117121         alert, backslash, formfeed, and vertical tab unnecessarily in
117122         shell quoting style.
117124 2000-01-16  Jim Meyering  <meyering@lucent.com>
117126         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
117127         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
117128         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
117129         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
117131 2000-01-16  Jim Meyering  <meyering@lucent.com>
117133         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
117134         because the latter didn't work.
117136 2000-01-15  Jim Meyering  <meyering@lucent.com>
117138         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
117139         (AC_REPLACE_FUNCS): Add memcpy and memset.
117140         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
117141         Add strpbrk.
117142         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
117144 2000-01-12  Jim Meyering  <meyering@lucent.com>
117146         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
117147         (jm_PREREQ): Use it.
117148         (jm_PREREQ_READUTMP): New macro.
117149         (jm_PREREQ): Use it.
117151 2000-01-11  Paul Eggert  <eggert@twinsun.com>
117153         Quote multibyte characters correctly.
117154         * m4/c-bs-a.m4: New file.
117155         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
117156         (jm_PREREQ): Use it.
117158 2000-01-11  Paul Eggert  <eggert@twinsun.com>
117160         * m4/uintmax_t.m4: Port to autoconf 2.13.
117162 2000-01-08  Jim Meyering  <meyering@ascend.com>
117164         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
117165         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
117167 2000-01-04  Jim Meyering  <meyering@ascend.com>
117169         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
117170         jm_STRUCT_DIRENT_D_TYPE.
117171         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
117172         jm_STRUCT_DIRENT_D_INO.
117173         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
117174         jm_STRUCT_UTIMBUF.
117175         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
117176         renamings.
117177         * m4/utime.m4: Likewise.
117179         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
117180         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
117182 2000-01-03  Paul Eggert  <eggert@twinsun.com>
117184         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
117185         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
117187 2000-01-02  Jim Meyering  <meyering@ascend.com>
117189         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
117190         remember if this is necessary.
117192 1999-12-26  Jim Meyering  <meyering@ascend.com>
117194         * m4/jm-macros.m4: Use it here.
117195         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
117197 1999-12-23  Jim Meyering  <meyering@ascend.com>
117199         * m4/jm-macros.m4: Check for clock_gettime (moved from
117200         fileutils/configure.in)
117201         Check for gettimeofday.
117203 1999-12-20  Jim Meyering  <meyering@ascend.com>
117205         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
117206         autoconf-2.14a-1999-12-20.
117208 1999-12-19  Jim Meyering  <meyering@ascend.com>
117210         * m4/lstat-slash.m4: New file.
117211         * m4/jm-macros.m4: Use the new macro:
117212         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
117214 1999-12-07  Jim Meyering  <meyering@ascend.com>
117216         * m4/perl.m4: Require that File::Compare be available, too.
117217         Too many systems seem to lack it.
117219         * m4/strftime.m4: Add checks for most of the cpp macros tested in
117220         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
117222 1999-11-18  Paul Eggert  <eggert@twinsun.com>
117224         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
117225         problem with the QNX 4.25 shell, which doesn't propagate exit
117226         status of failed commands inside shell assignments.
117228 1999-11-17  Jim Meyering  <meyering@ascend.com>
117230         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
117232 1999-11-07  Jim Meyering  <meyering@ascend.com>
117234         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
117236 1999-11-06  Jim Meyering  <meyering@ascend.com>
117238         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
117239         * m4/jm-macros.m4 (jm_MACROS): Use it here.
117241 1999-11-05  Jim Meyering  <meyering@ascend.com>
117243         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
117244         configure.in of textutils, fileutils, and sh-utils into this one
117245         (shared between those packages) file.
117246         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
117247         AC_STRUCT_ST_BLKSIZE.
117249 1999-11-03  Jim Meyering  <meyering@ascend.com>
117251         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
117252         of AC_CHECK_TYPE checks includes unistd.h.
117253         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
117254         Suggestion from Akim Demaille.
117256 1999-10-30  Jim Meyering  <meyering@ascend.com>
117258         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
117259         m4-quoted string.
117260         * m4/ls-mntd-fs.m4: Likewise.
117261         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
117262         * m4/jm-winsz1.m4: Likewise.
117264         * m4/const.m4: Remove file, since the fix made it into the experimental
117265         version of autoconf.
117266         * m4/mktime.m4: Likewise.
117268         * m4/check-type.m4: Remove file, now that the latest version of
117269         AC_CHECK_TYPE takes a third arg to specify additional #includes.
117271         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
117272         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
117273         AC_CHECK_TYPE.
117275 1999-10-04  Jim Meyering  <meyering@ascend.com>
117277         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
117279 1999-09-22  Paul Eggert  <eggert@twinsun.com>
117281         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
117282         2.95.1 bug with HP-UX 10.20.
117284 1999-09-17  Jim Meyering  <meyering@ascend.com>
117286         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
117287         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
117288         due to missing strdup (against sh-utils-2.0).
117290 1999-08-29  Jim Meyering  <meyering@ascend.com>
117292         * m4/jm-macros.m4: Require jm_BISON.
117293         * m4/bison.m4: New file.
117295 1999-08-17  Paul Eggert  <eggert@twinsun.com>
117297         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
117298         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
117300 1999-08-05  Jim Meyering  <meyering@ascend.com>
117302         * m4/getline.m4: Rename test file from conftestdata to conftest.data
117303         to avoid conflicts with `conftest' on 8+3 filesystems.
117304         Suggestion from Eli Zaretskii.
117306 1999-08-04  Jim Meyering  <meyering@ascend.com>
117308         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
117309         fileutils and sh-utils (textutils's getline test was inadequate).
117310         (AM_FUNC_GETLINE): Run this test.
117311         (AC_CHECK_FUNCS): Check for getdelim.
117312         Reported by Bob Proulx.
117314 1999-08-02  Jim Meyering  <meyering@ascend.com>
117316         * m4/jm-macros.m4: Add a comment.
117318 1999-08-01  Paul Eggert  <eggert@twinsun.com>
117320         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
117321         <inttypes.h> defines strtoumax as a macro (and not as a
117322         function).
117324 1999-08-01  Paul Eggert  <eggert@twinsun.com>
117326         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
117327         that we can shift, multiply and divide unsigned long long
117328         values; Ultrix cc can't do it.
117330 1999-08-01  Paul Eggert  <eggert@twinsun.com>
117332         * m4/mktime.m4: New file, which is a preview of what should appear
117333         in the next public autoconf release.
117335 1999-08-01  Paul Eggert  <eggert@twinsun.com>
117337         * m4/lfs.m4: Remove this file.
117338         * m4/largefile.m4: New file.  It contains the old contents of
117339         lfs.m4, except that all names with prefix AC_LFS have been
117340         changed to use the prefix AC_SYS_LARGEFILE instead, to be
117341         compatible with future autoconf versions.  Also, some minor m4
117342         quoting problems have been fixed.
117344 1999-08-01  Paul Eggert  <eggert@twinsun.com>
117346         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
117347         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
117348         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
117349         and simplify the shell code.
117351 1999-08-01  Jim Meyering  <meyering@ascend.com>
117353         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
117354         m4.
117356 1999-07-20  Jim Meyering  <meyering@ascend.com>
117358         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
117360 1999-07-15  Jim Meyering  <meyering@ascend.com>
117362         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
117364 1999-05-22  Jim Meyering  <meyering@ascend.com>
117366         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
117368 1999-05-20  Jim Meyering  <meyering@ascend.com>
117370         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
117371         Add a colon after each `then' in case $4 is empty.
117373 1999-05-16  Jim Meyering  <meyering@ascend.com>
117375         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
117377 1999-05-10  Jim Meyering  <meyering@ascend.com>
117379         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
117381         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
117382         AC_FUNC_MKTIME.
117384 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
117386         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
117388 1999-05-04  Paul Eggert  <eggert@twinsun.com>
117390         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
117391         not CPPFLAGS, so that linking works correctly in IRIX.
117393 1999-04-30  Paul Eggert  <eggert@twinsun.com>
117395         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
117397 1999-04-20  Paul Eggert  <eggert@twinsun.com>
117399         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
117400         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
117401         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
117402         jm_AC_TYPE_UNSIGNED_LONG_LONG.
117403         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
117405         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
117407 1999-04-20  Jim Meyering  <meyering@ascend.com>
117409         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
117410         AC_REPLACE xstroull if necessary.  From Paul Eggert.
117411         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
117413 1999-04-18  Jim Meyering  <meyering@ascend.com>
117415         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
117416         * m4/jm-macros.m4: Use it.
117418 1999-04-06  Jim Meyering  <meyering@ascend.com>
117420         * m4/strftime.m4: Remove test for %f.
117422 1999-03-29  Jim Meyering  <meyering@ascend.com>
117424         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
117425         superset of the AC_TYPE_* checks in the textutils, fileutils,
117426         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
117427         AC_TYPE_PID_T.
117429 1999-03-28  Jim Meyering  <meyering@ascend.com>
117431         * m4/jm-macros.m4: Define GNU_PACKAGE here.
117432         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
117433         replaced e.g., in the *.sh files of the sh-utils.
117435 1999-03-20  Jim Meyering  <meyering@ascend.com>
117437         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
117438         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
117439         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
117441 1999-03-19  Jim Meyering  <meyering@ascend.com>
117443         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
117445 1999-03-12  Jim Meyering  <meyering@ascend.com>
117447         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
117449 1999-03-07  Jim Meyering  <meyering@ascend.com>
117451         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
117452         declared.
117454 1999-02-17  Jim Meyering  <meyering@ascend.com>
117456         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
117457         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
117459 1999-02-07  Jim Meyering  <meyering@ascend.com>
117461         * m4/group-member.m4: New file -- extracted from sh-utils'
117462         configure.in.
117464         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
117465         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
117467 1999-02-06  Jim Meyering  <meyering@ascend.com>
117469         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
117470         * m4/fnmatch.m4: Likewise.
117471         * m4/getgroups.m4: Likewise.
117472         * m4/lstat.m4: Likewise.
117473         * m4/malloc.m4: Likewise.
117474         * m4/putenv.m4: Likewise.
117475         * m4/realloc.m4: Likewise.
117476         * m4/regex.m4: Likewise.
117477         * m4/stat.m4: Likewise.
117478         * m4/strftime.m4: Likewise.
117479         Suggestion from Alain Magloire.
117481         * m4/chown.m4: Use `.$ac_objext', not `.o'.
117482         * m4/fnmatch.m4: Likewise.
117483         * m4/getgroups.m4: Likewise.
117484         * m4/getline.m4: Likewise.
117485         * m4/lstat.m4: Likewise.
117486         * m4/malloc.m4: Likewise.
117487         * m4/memcmp.m4: Likewise.
117488         * m4/putenv.m4: Likewise.
117489         * m4/realloc.m4: Likewise.
117490         * m4/regex.m4: Likewise.
117491         * m4/stat.m4: Likewise.
117492         * m4/strftime.m4: Likewise.
117493         Suggestion from Alain Magloire.
117495         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
117496         an argument.
117498         * m4/regex.m4: Add a run-time Test for proper operation of
117499         re_compile_pattern.
117501 1999-01-31  Jim Meyering  <meyering@ascend.com>
117503         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
117505 1999-01-30  Jim Meyering  <meyering@ascend.com>
117507         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
117509         * m4/jm-mktime.m4: Make this a wrapper around the official
117510         AM_FUNC_MKTIME rather than my private copy, now that the official one
117511         is up to date.
117512         * m4/mktime.m4: Remove file.
117514         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
117515         * m4/uptime.m4: Likewise.
117516         * m4/uintmax_t.m4: Likewise.
117518 1999-01-28  Jim Meyering  <meyering@ascend.com>
117520         * m4/jm-macros.m4: Use jm_AFS.
117521         * m4/afs.m4: New file (from fileutils' configure.in).
117523         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
117524         * m4/chown.m4: Likewise.
117525         * m4/d-ino.m4: Likewise.
117526         * m4/d-type.m4: Likewise.
117527         * m4/fnmatch.m4: Likewise.
117528         * m4/getgroups.m4: Likewise.
117529         * m4/gettext.m4: Likewise.
117530         * m4/jm-mktime.m4: Likewise.
117531         * m4/jm-winsz2.m4: Likewise.
117532         * m4/lcmessage.m4: Likewise.
117533         * m4/ls-mntd-fs.m4: Likewise.
117534         * m4/malloc.m4: Likewise.
117535         * m4/memcmp.m4: Likewise.
117536         * m4/putenv.m4: Likewise.
117537         * m4/realloc.m4: Likewise.
117538         * m4/st_mtim.m4: Likewise.
117539         * m4/strftime.m4: Likewise.
117541 1999-01-16  Jim Meyering  <meyering@ascend.com>
117543         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
117544         (ARGMATCH_DIE_DECL): Define.
117546 1999-01-12  Jim Meyering  <meyering@ascend.com>
117548         * m4/Makefile.am.in: Rewrite to avoid using fmt.
117549         Reported by Lars Hecking.
117551 1999-01-10  Jim Meyering  <meyering@ascend.com>
117553         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
117554         gross kludge.
117555         * m4/inttypes_h.m4: Likewise.
117556         * m4/lstat.m4: Likewise.
117557         * m4/malloc.m4: Likewise.
117558         * m4/readdir.m4: Likewise.
117559         * m4/realloc.m4: Likewise.
117560         * m4/st_dm_mode.m4: Likewise.
117561         * m4/stat.m4: Likewise.
117562         * m4/utimbuf.m4: Likewise.
117563         * m4/utimes.m4: Likewise.
117565         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
117566         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
117567         comments in config.h.in are meaningful.
117569         * m4/jm-macros.m4: Require autoconf-2.13 here.
117571         * m4/regex.m4: By default, don't use the included regex.c on systems
117572         with glibc 2.  Suggestion from Uli Drepper.
117574 1999-01-02  Jim Meyering  <meyering@ascend.com>
117576         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
117578 1998-12-18  Jim Meyering  <meyering@ascend.com>
117580         * m4/Makefile.am.in (Makefile.am): Simplify rule.
117581         Based on a suggestion from Lars Hecking.
117583 1998-11-16  Paul Eggert  <eggert@twinsun.com>
117585         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
117587 1998-11-16  Jim Meyering  <meyering@ascend.com>
117589         * m4/lfs.m4: Double-quote the `uname...` expression.
117591 1998-11-14  Jim Meyering  <meyering@ascend.com>
117593         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
117594         * m4/stat.m4: Likewise.
117596 1998-11-03  Jim Meyering  <meyering@ascend.com>
117598         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
117599         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
117601 1998-10-18  Jim Meyering  <meyering@ascend.com>
117603         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
117605 1998-10-17  Jim Meyering  <meyering@ascend.com>
117607         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
117608         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
117609         calls for those previously hard-coded headers.  Instead, take a new
117610         parameter.
117611         (jm_CHECK_DECLARATIONS): Reflect interface change.
117612         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
117613         (jm_CHECK_DECL_LOCALTIME_R): New macro.
117615         * m4/mktime.m4: Test for spring-forward gap before long-running test.
117617 1998-10-14  Jim Meyering  <meyering@ascend.com>
117619         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
117620         instead of "TZ=America/Vancouver".  From Paul Eggert.
117622 1998-10-11  Jim Meyering  <meyering@ascend.com>
117624         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
117625         This adds a test for a recently added compatibility fix for mktime.c.
117626         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
117628 1998-09-27  Jim Meyering  <meyering@ascend.com>
117630         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
117632         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
117633         ../configure.in, including a change from Gordon Matzigkeit to allow
117634         cross-compiling for the Hurd.
117636         * m4/glibc.m4: New file/macro to test for the GNU C Library
117637         versions 1 and 2.  From Gordon Matzigkeit.
117638         Indent.
117640 1998-09-21  Jim Meyering  <meyering@ascend.com>
117642         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
117644 1998-08-18  Paul Eggert  <eggert@twinsun.com>
117646         Port nanosecond-resolution times to UnixWare 2.1.2 and
117647         pedantic Solaris 2.6.
117649         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
117650         AC_STRUCT_ST_MTIM.
117651         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
117652         Generate name of ns member, instead of just 1 or undef.
117653         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
117655 1998-08-15  Jim Meyering  <meyering@ascend.com>
117657         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
117658         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
117659         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
117660         instead of jm_TYPE_SSIZE_T.
117662 1998-08-12  Jim Meyering  <meyering@ascend.com>
117664         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
117666 1998-08-02  Jim Meyering  <meyering@ascend.com>
117668         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
117669         in acconfig.h manually.
117671 1998-07-31  Paul Eggert  <eggert@twinsun.com>
117673         * m4/st_mtim.m4: New file.
117675 1998-07-28  Jim Meyering  <meyering@ascend.com>
117677         * m4/utimes.m4: Undef stat.
117679 1998-07-25  Jim Meyering  <meyering@ascend.com>
117681         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
117682         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
117684 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
117686         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
117687         uid and gid actually remain unchanged.
117689 1998-07-07  Jim Meyering  <meyering@ascend.com>
117691         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
117693 1998-07-04  Jim Meyering  <meyering@ascend.com>
117695         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
117696         to prove that this macro can be used in packages without regex.c.
117698 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
117700         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
117701         is to be used.
117703 1998-07-03  Jim Meyering  <meyering@ascend.com>
117705         * m4/gettext.m4: Add -lintl if it's found to be necessary.
117707         * m4/gettext.m4: New file -- from gettext-0.10.35.
117708         * m4/lcmessage.m4: Likewise.
117709         * m4/progtest.m4: Likewise.
117711         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
117712         * m4/jm-macros.m4: Require the new macro.
117714 1998-06-29  Jim Meyering  <meyering@ascend.com>
117716         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
117717         for the definition of NGROUPS (used in a system header included
117718         by sys/mount.h).
117720 1998-06-28  Jim Meyering  <meyering@ascend.com>
117722         * m4/ls-mntd-fs.m4: New file.
117723         * m4/fstypename.m4: New file.
117725         * m4/jm-macros.m4: Require the new macro.
117726         * m4/jm-glibc-io.m4: New file.
117728 1998-05-19  Jim Meyering  <meyering@ascend.com>
117730         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
117731         * m4/lchown.m4: New file.
117733         * m4/Makefile.am.in: New file.
117734         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
117736 1998-05-14  Jim Meyering  <meyering@ascend.com>
117738         * m4/Makefile.am (EXTRA_DIST): Add them.
117739         * m4/jm-macros.m4: New file.
117740         * m4/utimbuf.m4: New file.
117742 1998-05-12  Jim Meyering  <meyering@ascend.com>
117744         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
117746 1998-05-11  Jim Meyering  <meyering@ascend.com>
117748         * m4/isc-posix.m4: New file.
117750 1998-05-10  Jim Meyering  <meyering@ascend.com>
117752         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
117754 1998-05-09  Jim Meyering  <meyering@ascend.com>
117756         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
117757         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
117758         with automake.
117760         * m4/ssize_t.m4: New file.
117761         * m4/mktime.m4: Remove file -- the new automake has this now.
117763 1998-04-26  Jim Meyering  <meyering@ascend.com>
117765         * m4/assert.m4: New file.
117766         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
117768 1998-04-05  Jim Meyering  <meyering@ascend.com>
117770         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
117771         (jm_PREREQ): Use it here.
117773 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
117775         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
117776         in acconfig.h.
117778 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
117780         * m4/prereq.m4: New file.
117781         * m4/error.m4: New file.
117782         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
117784 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
117786         * m4/getline.m4: Don't set am_cv_func_working_getline before the
117787         cache-check for the same variable -- that defeated the purpose of
117788         the test; the test program was never run.  This was a problem only
117789         on systems with losing getline functions -- HP-UX 10.20 is one.
117790         Reported by Bjorn Helgaas.
117792 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
117794         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
117796 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
117798         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
117800         * m4/const.m4: New file.  Use an initializer in this declaration
117801         typedef int charset[2]; const charset x;
117802         Reported by Bob Glickstein.
117804 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
117806         * m4/chown.m4: Fix reversed types on -1 args to chown.
117807         From Kaveh Ghazi.
117809 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
117811         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
117812         Add lseek and memchr.
117814         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
117815         T.E.Dickey <dickey@clark.net> said that some older preprocessors
117816         have a 20-character limit on names.
117818 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
117820         * m4/inttypes_h.m4: New file.
117821         * m4/uintmax_t.m4: New file.
117822         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
117825         -----
117827         Local Variables:
117828         coding: utf-8
117829         End:
117831         Copyright (C) 1997-2018 Free Software Foundation, Inc.
117833         Copying and distribution of this file, with or without
117834         modification, are permitted provided the copyright notice
117835         and this notice are preserved.